«Немає завантажувального пристрою». Три слова, які миттєво перетворюють спокійний ранок на інцидент. Файли, швидше за все, все ще на місці. Комп’ютер просто не може знайти ту крихітну ланку інструкцій, яка переводить вас від прошивки до операційної системи.
Цей посібник призначений для відновлення завантаження на системах GPT/MBR без руйнування даних. Ми будемо ставитися до диска як до доказу, а не до чернетки. Ви навчитеся відрізняти «неправильний режим завантаження» від «зламаного завантажувача» від «диск бреше», і що робити в кожному випадку — з командами, які можна виконати, та результатами, які можна інтерпретувати.
Що насправді означає «Немає завантажувального пристрою» (і чого це не означає)
Прошивка (BIOS або UEFI) намагається знайти завантажувальний цільовий об’єкт. Вона зазнає невдачі на ранній стадії, до того як ОС встигне щось повідомити. Це ще не проблема операційної системи; це проблема «шляху до ОС».
Цей шлях відрізняється залежно від стилю завантаження:
- Legacy BIOS + MBR: BIOS читає перший сектор диска (MBR). MBR вказує на код завантаження (часто «stage 1.5»), а далі — на завантажувач ОС.
- Legacy BIOS + GPT (таке буває): BIOS не може нативно завантажувати GPT; зазвичай потрібен BIOS boot partition для збереження ядра GRUB. Деякі системи імітують це ненадійно.
- UEFI + GPT: UEFI читає EFI System Partition (ESP) — FAT32-розділ з
.efiбінарниками. Воно використовує NVRAM-записи завантаження, щоб вибрати, яку.efiвиконати.
Коли ви бачите «Немає завантажувального пристрою», зазвичай це одна з таких причин:
- Прошивка дивиться не туди: неправильний порядок завантаження, неправильний диск, неправильний режим UEFI/Legacy.
- Таблиця розділів в порядку, але метадані завантаження зламані: відсутні файли на ESP, відсутній Windows BCD, зламана інсталяція GRUB, видалений NVRAM-запис.
- Диск присутній, але його не читають: змінено режим SATA, NVMe не виявляється, переключено режим RAID, проблеми з контролером або реальний збій диска.
- Хтось уже «виправляв»: і їхнє виправлення записало дані на невірний диск.
Ще одне: ремонт завантаження — це операція запису. Навіть «безпечні» інструменти можуть залишити сліди в перших мегабайтах. Ставтеся до цього як до зміни правил брандмауера в продакшні: спочатку знімок, потім зміна, потім перевірка.
Факти й історія, які реально допомагають діагностувати
Завдання з завантаження легше, коли ви знаєте, чому світ влаштований таким чином. Ось кілька конкретних фактів, які з’являються у реальних інцидентах:
- MBR маленький за конструкцією: класичний MBR код завантаження займає перші 446 байт сектору 0, залишаючи 64 байти для чотирьох записів розділів і 2 байти для сигнатури 0x55AA.
- GPT існує тому, що MBR вичерпав ресурс: 32-бітна адресація секторів MBR обмежує розмір близько 2 TiB при 512-байтових секторах; GPT використовує 64-бітні LBA і не має такого ліміту.
- GPT все одно зберігає «захисний MBR»: сектор 0 часто містить MBR, який каже «один великий розділ» типу 0xEE, щоб старі інструменти не псували диск.
- UEFI не «сканує ОС» так, як думають люди: воно використовує NVRAM-записи, що вказують на конкретні EFI-бінарники на конкретному шляху диска/розділу.
- EFI System Partition навмисно нудний FAT: FAT32 обрано для широкої сумісності з прошивкою, а не тому, що хтось його любить.
- Secure Boot змінює режими відмов: диск може бути ідеальним, а завантажувач — цілий, але прошивка відмовляється виконувати неподписаний (або інакше підписаний) завантажувач.
- Windows і Linux можуть співіснувати, але сперечаються, хто «головний»: оновлення Windows іноді відновлює Windows Boot Manager як за замовчуванням, тоді як інсталяції Linux часто ставлять GRUB першим.
- BIOS-завантаження з GPT — особливий випадок: GRUB потребує маленького нефайлуваного «BIOS boot partition» (зазвичай 1–2 MiB), щоб зберігти ядро, яке не вміщується в проміжок MBR.
- Клонування дисків може мовчки дублювати ідентифікатори дисків: це руйнує записи завантаження і іноді плутає монтування на рівні ОС, бо система бачить «два однакових диски».
Швидкий план діагностики (перевірити перше/друге/третє)
Перше: перевірка реальності прошивки (60 секунд)
- Чи взагалі диск виявлений? Якщо BIOS/UEFI його не бачить — зупиніться. Це кабелі, режим контролера або апаратна проблема.
- Ви в режимі UEFI чи Legacy/CSM? Невірний режим — причина №1 випадків «диск ніби в порядку, але не завантажується».
- Порядок завантаження: якщо ви щойно підключили USB, деяка прошивка ввічливо вирішує, що він тепер головний.
Друге: ідентифікуйте диск і стиль розділів (5 хвилин)
- З live-середовища визначте: GPT чи MBR? Є ESP? Є BIOS boot partition? Присутній розділ ОС?
- Якщо Windows: знайдіть EFI-розділ і розділ Windows. Якщо Linux: знайдіть
/boot,/boot/efiі root.
Третє: вирішіть, що саме ви ремонтуєте (10 хвилин)
- UEFI/GPT: відновити NVRAM-запис і/або відновити файли на ESP; можливо перебудувати BCD або перевстановити GRUB EFI.
- BIOS/MBR: відновити код MBR, прапор активного розділу (для деяких налаштувань) та ланцюжок завантажувача ОС.
- BIOS/GPT: переконатися, що існує BIOS boot partition; перевстановити GRUB на диск (не в розділ).
Умови зупину (коли не слід «просто щось пробувати»)
- SMART показує явний збій (зростання reallocated sectors, помилки читання). Спочатку клонуйте.
- Ви не впевнені, який диск який. Позначте їх. Якщо можливо — відключіть зайві.
- Система зашифрована і ви не знаєте процес відновлення. Відновлення завантаження — просте; відновлення «ой, я зламав єдиний шлях розблокування» — ні.
Перед тим як щось чіпати: правила безпеки, що запобігають втраті даних
Якщо ви хочете «без втрати даних», треба діяти серйозно.
Правило 1: Не записуйте, поки не зможете пояснити, що саме записуєте
Команди на кшталт bootrec /FixMbr, grub-install або efibootmgr -c — це не «діагностика». Вони змінюють стан диска або NVRAM. Використовуйте їх лише після того, як ідентифікували правильний диск і режим завантаження.
Правило 2: Клонуйте або зробіть образ, якщо диск виглядає хворим
Якщо диск виходить з ладу, кожен перезавантаження і кожен скан файлової системи — це кидок монети. Зробіть образ на інший диск і працюйте з копією.
Правило 3: Надавайте перевагу зворотним змінам
Зміна порядку завантаження UEFI, створення нового NVRAM-запису або перевстановлення завантажувача в ESP зазвичай відновлювані. Конвертація GPT↔MBR у місці — це не «ремонт», це міграція з гострими краями.
Правило 4: Один підключений диск — найкращий варіант
Якщо це ноутбук, можливо, таке не реалізуєш. На десктопах і серверах відключіть всі нецільові диски. Це запобігає класичній помилці: ви відремонтували не той диск.
Короткий жарт #1: Ремонт завантаження як хірургія: легко бути відважним, коли це не ваші дані на столі.
Практичні завдання: команди, виводи, рішення (12+)
Ці завдання припускають, що ви завантажилися з Linux live USB (бо це нейтральний набір інструментів), якщо завдання не специфічне для Windows. Команди реалістичні. Виводи — приклади; ваші відрізнятимуться. Суть у тому, як їх інтерпретувати і вирішити.
Завдання 1: Підтвердити, чи live-середовище завантажилось в UEFI або BIOS режимі
cr0x@server:~$ ls -ld /sys/firmware/efi
drwxr-xr-x 5 root root 0 Feb 4 10:12 /sys/firmware/efi
Що це означає: Якщо цей каталог існує, ви працюєте в UEFI-режимі. Якщо його немає — у Legacy BIOS.
Рішення: Співставте режим ремонту з режимом встановленої ОС. Якщо Windows встановлено в UEFI, а live USB завантажився в Legacy, ви будете гонитись за примарами.
Завдання 2: Швидко ідентифікувати диски й таблиці розділів
cr0x@server:~$ lsblk -o NAME,SIZE,TYPE,FSTYPE,PARTTYPE,PARTLABEL,MOUNTPOINTS
NAME SIZE TYPE FSTYPE PARTTYPE PARTLABEL MOUNTPOINTS
nvme0n1 476.9G disk
├─nvme0n1p1 260M part vfat c12a7328-f81f-11d2-ba4b-00a0c93ec93b EFI System
├─nvme0n1p2 16M part e3c9e316-0b5c-4db8-817d-f92df00215ae Microsoft reserved
├─nvme0n1p3 200G part ntfs ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 Basic data
└─nvme0n1p4 276.6G part ext4 0fc63daf-8483-4772-8e79-3d69d8477de4 Linux filesystem
Що це означає: GUID-типи розділів GPT відображаються в PARTTYPE. ESP — vfat і має відомий EFI GUID.
Рішення: Це система UEFI/GPT. Ремонт завантаження зосередиться на ESP і UEFI-записах, а не на MBR «active» прапорцях.
Завдання 3: Перевірити GPT чи MBR через parted (детальніше)
cr0x@server:~$ sudo parted -s /dev/nvme0n1 print
Model: Samsung SSD 970 (nvme)
Disk /dev/nvme0n1: 512GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 274MB 273MB fat32 EFI System Partition boot, esp
2 274MB 291MB 16.8MB Microsoft reserved partition msftres
3 291MB 215GB 215GB ntfs Basic data partition msftdata
4 215GB 512GB 297GB ext4
Що це означає: Partition Table: gpt та прапорці boot, esp вказують на EFI System Partition.
Рішення: Не витрачайте час на MBR-команди ремонту. Можливо, потрібно змонтувати ESP і відновити файли завантажувача.
Завдання 4: Перевірити, чи ESP містить правдоподібні файли завантаження
cr0x@server:~$ sudo mkdir -p /mnt/esp
cr0x@server:~$ sudo mount /dev/nvme0n1p1 /mnt/esp
cr0x@server:~$ ls -R /mnt/esp/EFI | head
/mnt/esp/EFI:
Boot
Microsoft
ubuntu
/mnt/esp/EFI/Boot:
BOOTX64.EFI
Що це означає: Є стандартні директорії. EFI/Boot/BOOTX64.EFI — це «шлях fallback», який багато прошивок спробують, якщо NVRAM-записи відсутні.
Рішення: Якщо /mnt/esp/EFI порожній або відсутні Microsoft/ubuntu, ймовірно, у вас ушкодження або видалення ESP. Ремонт буде «відновити файли», а не «перепризначити розділи».
Завдання 5: Переглянути UEFI NVRAM-записи завантаження (UEFI-системи)
cr0x@server:~$ sudo efibootmgr -v
BootCurrent: 0002
Timeout: 1 seconds
BootOrder: 0002,0000,0001
Boot0000* Windows Boot Manager HD(1,GPT,3c4b2c2e-...,0x800,0x82000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)
Boot0001* ubuntu HD(1,GPT,3c4b2c2e-...,0x800,0x82000)/File(\EFI\ubuntu\shimx64.efi)
Boot0002* UEFI: USB Flash Disk PciRoot(0x0)/Pci(0x14,0x0)/USB(0x3,0x0)/HD(1,MBR,0x1234,0x800,0x3a9800)
Що це означає: Є записи для Windows і Ubuntu. Це добре. Якщо система все ще каже «Немає завантажувального пристрою», можливо, вона завантажилася в Legacy режим, диск не виявляється під час POST, або Secure Boot блокує завантажувач.
Рішення: Якщо запис «Windows Boot Manager» відсутній — створіть його. Якщо записи існують, але вказують на невірний GUID диска (поширено після клонування), виправте їх або використайте fallback-шлях.
Завдання 6: Відтворити відсутній запис Windows Boot Manager (UEFI)
cr0x@server:~$ sudo efibootmgr -c -d /dev/nvme0n1 -p 1 -L "Windows Boot Manager" -l '\EFI\Microsoft\Boot\bootmgfw.efi'
BootCurrent: 0002
BootOrder: 0003,0002,0000,0001
Boot0003* Windows Boot Manager HD(1,GPT,3c4b2c2e-...,0x800,0x82000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)
Що це означає: Ви створили новий NVRAM-запис, що вказує на Microsoft EFI-бінарник на розділі 1.
Рішення: Перезавантажте і виберіть його в прошивці. Якщо воно завантажується — усе готово. Якщо прошивка забуває запис після перезавантаження — підозрюйте батарейку CMOS/баг прошивки або «Fast Boot»; користуйтеся fallback-шляхом або оновленням прошивки.
Завдання 7: Перевірити BIOS/MBR прапорці і активний розділ (legacy системи)
cr0x@server:~$ sudo fdisk -l /dev/sda
Disk /dev/sda: 500 GiB, 536870912000 bytes, 1048576000 sectors
Disklabel type: dos
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 1026047 1024000 500M 7 HPFS/NTFS/exFAT
/dev/sda2 1026048 1048575999 1047549952 499.5G 7 HPFS/NTFS/exFAT
Що це означає: Disklabel type dos вказує на MBR. Зірочка * позначає активний (завантажувальний) розділ — важливо для деяких BIOS-ланцюжків.
Рішення: Якщо в BIOS/Windows налаштуванні відсутній активний розділ, встановіть його (акуратно) на системний/резервний розділ, а не на розділ з даними.
Завдання 8: Встановити прапор active на правильному розділі (MBR)
cr0x@server:~$ sudo fdisk /dev/sda
Command (m for help): a
Partition number (1-2): 1
Command (m for help): p
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 1026047 1024000 500M 7 HPFS/NTFS/exFAT
/dev/sda2 1026048 1048575999 1047549952 499.5G 7 HPFS/NTFS/exFAT
Command (m for help): w
The partition table has been altered!
Що це означає: Ви перемикнули прапорець завантажувального розділу.
Рішення: Перезавантажте і протестуйте. Якщо завантаження все ще не вдається — ймовірно, треба відновити код завантаження (MBR/VBR/BCD), а не лише прапорці.
Завдання 9: Оцінити стан диска перед записом структури завантаження
cr0x@server:~$ sudo smartctl -a /dev/sda | egrep -i "Reallocated|Pending|Uncorrect|SMART overall"
SMART overall-health self-assessment test result: PASSED
Reallocated_Sector_Ct 0x0033 100 100 010 Pre-fail Always - 0
Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 0
Offline_Uncorrectable 0x0010 100 100 000 Old_age Offline - 0
Що це означає: Немає явних ознак відмови носія. «PASSED» не гарантує нічого, але паніки немає.
Рішення: Продовжуйте ремонт завантаження. Якби Current_Pending_Sector був ненульовий — клонуйте спочатку і уникайте інструментів з інтенсивними записами.
Завдання 10: Клонувати диск перед ремонтом, коли відчуваєте проблеми
cr0x@server:~$ sudo ddrescue -f -n /dev/sda /dev/sdb /mnt/recovery/ddrescue.log
GNU ddrescue 1.27
Press Ctrl-C to interrupt
Initial status (read from logfile)
rescued: 0 B, errsize: 0 B, errors: 0
Current status
rescued: 500000 MB, errsize: 0 B, current rate: 120 MB/s
ipos: 500000 MB, errors: 0, average rate: 115 MB/s
Finished
Що це означає: Ви скопіювали джерельний диск на цільовий, логуючи можливості відновлення. ddrescue створено для неповних носіїв.
Рішення: Виконуйте всі подальші ремонти на /dev/sdb (клоні). Зберігайте /dev/sda як оригінальний доказ.
Завдання 11: Змонтувати Linux-розділи правильно для chroot-ремонту
cr0x@server:~$ sudo mount /dev/nvme0n1p4 /mnt
cr0x@server:~$ sudo mount /dev/nvme0n1p1 /mnt/boot/efi
cr0x@server:~$ for i in /dev /dev/pts /proc /sys /run; do sudo mount --bind $i /mnt$i; done
cr0x@server:~$ sudo chroot /mnt /bin/bash
root@server:/# ls /boot/efi/EFI
Boot Microsoft ubuntu
Що це означає: Ви працюєте всередині встановленого ОС середовища з ESP змонтованим там, де ОС його очікує.
Рішення: Це правильний контекст для перевстановлення GRUB або регенерації initramfs без шкоди середовищу live USB.
Завдання 12: Перевстановити GRUB для UEFI-систем (Linux)
cr0x@server:~$ sudo chroot /mnt /bin/bash -c "grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu && update-grub"
Installing for x86_64-efi platform.
Installation finished. No error reported.
Generating grub configuration file ...
Found Windows Boot Manager on /dev/nvme0n1p1@/EFI/Microsoft/Boot/bootmgfw.efi
done
Що це означає: EFI-бінарник GRUB та конфіг встановлені, і він виявив Windows також.
Рішення: Перезавантажте і оберіть «ubuntu» або встановіть порядок завантаження. Якщо увімкнений Secure Boot і ви встановили несигнований GRUB — можливо, потрібні пакети shim або тимчасове відключення Secure Boot для підтвердження діагнозу.
Завдання 13: Встановити GRUB для BIOS/MBR систем (Linux)
cr0x@server:~$ sudo chroot /mnt /bin/bash -c "grub-install /dev/sda && update-grub"
Installing for i386-pc platform.
Installation finished. No error reported.
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.8.0-31-generic
done
Що це означає: GRUB встановлено в область MBR диска (не в розділ), і конфіг згенеровано.
Рішення: Перезавантажте. Якщо все ще не працює — перевірте, чи BIOS дійсно встановлений на завантаження з /dev/sda і чи диск перший у порядку.
Завдання 14: Виявити потребу BIOS/GRUB на GPT у BIOS-режимі (Linux на GPT у BIOS)
cr0x@server:~$ sudo parted -s /dev/sda print | sed -n '1,20p'
Model: ATA ST1000DM010 (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 538MB 537MB ext4
2 538MB 1000GB 999GB ext4
Що це означає: GPT-диск, але немає маленького розділу з прапорцем bios_grub. BIOS-завантаження GRUB з GPT зазвичай потребує цього розділу.
Рішення: Якщо машина завантажується в Legacy режимі, створіть 1–2 MiB BIOS boot partition (без форматування) і встановіть прапорець bios_grub — тільки якщо безпечно можна зменшити/перемістити розділи. Якщо можете переключити прошивку в UEFI-режим — зробіть це замість цього. Це чистіше.
Завдання 15: Windows UEFI: перебудувати BCD з середовища відновлення
У командному рядку Windows Recovery (не в Linux) зазвичай присвоюють букву ESP і відновлюють файли завантаження. Приклад:
cr0x@server:~$ diskpart
DISKPART> list vol
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ----- ---------- ------- --------- --------
Volume 0 C NTFS Partition 200 GB Healthy Boot
Volume 1 SYSTEM FAT32 Partition 260 MB Healthy System
DISKPART> sel vol 1
DISKPART> assign letter=S
DISKPART> exit
cr0x@server:~$ bcdboot C:\Windows /s S: /f UEFI
Boot files successfully created.
Що це означає: bcdboot скопіював файли завантаження Windows на ESP і створив BCD-хранилище, придатне для UEFI.
Рішення: Перезавантажте і встановіть Windows Boot Manager першим у прошивці за потреби. Якщо не вдається — ESP могло бути змонтовано неправильно, або Windows не знаходиться за C:\Windows в режимі відновлення — перевірте букви томів.
Завдання 16: Windows BIOS/MBR: аккуратно відновити ланцюг завантаження
cr0x@server:~$ bootrec /FixMbr
The operation completed successfully.
cr0x@server:~$ bootrec /FixBoot
Access is denied.
cr0x@server:~$ bootrec /RebuildBcd
Successfully scanned Windows installations.
Total identified Windows installations: 1
[1] D:\Windows
Add installation to boot list? Yes(Y)/No(N)/All(A): Y
The operation completed successfully.
Що це означає: /FixMbr записав MBR-код. /FixBoot, що повернув «Access is denied», — поширена проблема в деяких збірках Windows і може вказувати на права/плутанину ESP (особливо коли насправді це UEFI/GPT) або невідповідне середовище відновлення.
Рішення: Якщо ви справді в BIOS/MBR, переконайтесь, що правильний системний розділ активний і має завантажувальний сектор; іноді використовують bootsect /nt60 SYS. Якщо диск — GPT, припиніть використовувати BIOS-інструменти і перейдіть до UEFI-ремонту (bcdboot).
Завдання 17: Перевірити цілісність файлової системи на ESP (FAT може дивувати)
cr0x@server:~$ sudo umount /mnt/esp
cr0x@server:~$ sudo fsck.vfat -a /dev/nvme0n1p1
fsck.fat 4.2 (2021-01-31)
FATs differ but appear to be intact. Using first FAT.
Reclaimed 12 unused clusters (49152 bytes) in 3 chains.
Що це означає: Невеликі невідповідності FAT були виправлені. Якщо повідомляє про серйозну корупцію — можливо треба відтворити ESP і відновити файли завантаження.
Рішення: Після ремонту змонтуйте знову і перевірте вміст директорії EFI.
Шляхи ремонту за платформою та стилем завантаження
UEFI + GPT: «сучасний» стандарт
Це більшість ноутбуків і десктопів останнього десятиліття. Відновлення зводиться до трьох речей: розділи диска, файли на ESP і NVRAM-записи.
- Якщо диск не виявляється в прошивці: це не проблема завантажувача. Перевірте режим контролера (AHCI vs RAID), налаштування NVMe, кабелі, оновлення прошивки.
- Якщо ESP існує, але порожній/пошкоджений: відновіть
EFI/Microsoftчерезbcdboot(Windows) або перевстановіть GRUB (Linux). Використайтеfsck.vfatдля дрібних відновлень. - Якщо ESP в порядку, але записи завантаження відсутні: відновіть записи за допомогою
efibootmgr(Linux) або дозвольте інструментам Windows відновити їх (Windows Recovery). - Якщо записи існують, але вказують на невірний ідентифікатор диска (після клонування): створіть нові записи, що посилаються на правильний диск/розділ, і видаліть старі.
- Якщо Secure Boot блокує: використайте підписані пакети shim/GRUB, налаштуйте ключі або тимчасово відключіть Secure Boot для діагностики.
Legacy BIOS + MBR: ще живий в обладнанні й старих системах
Тут більше «код» і менше «файли». Ваші цілі:
- Код завантаження MBR (перший сектор)
- Завантажувальний сектор розділу (VBR) для активного розділу (Windows) або налаштування етапів GRUB (Linux)
- BCD (Windows) або конфіг GRUB (Linux)
Найризикованіша помилка — встановити код завантаження на невірний диск. На системах з кількома дисками часто «виправляють» диск з даними, а диск ОС залишається неторкнутим і ображеним.
Legacy BIOS + GPT: «робіть це тільки якщо треба»
Це може працювати, але тонко і часто ламається після переміщення дисків чи переключення прошивки. Якщо успадкували таку конфігурацію, найкращий результат — переключити на UEFI, якщо апарат це підтримує. Інакше знадобиться BIOS boot partition (місце для GRUB) і правильно встановлений GRUB на диск.
Чого не робити: конвертації «на місці» під час простою
Конвертація MBR↔GPT можлива. Це також інший проєкт, ніж «ремонт завантаження», особливо якщо ви намагаєтесь зберегти дані. Виконуйте тільки з бекапом і контрольованими змінами. Якщо ваша мета — запустити систему сьогодні, не починайте форматні пригоди.
Короткий жарт #2: UEFI NVRAM-записи як налаштування принтера: всі впевнені, що це просто, поки це не стане єдиною річчю між вами і дедлайном.
Три корпоративні міні‑історії з реального життя
Інцидент №1: Неправильне припущення («Це мертвий диск»)
Повернувся польовий ноутбук з «Немає завантажувального пристрою». Користувач присягався, що це сталося після розряду батареї. Сервісна служба відразу вирішила: «SSD помер», бо це зручна історія і всім подобається міняти деталі.
Хтось замінив SSD. Завантаження не відбулося. Тепер почали говорити про «помилку материнської плати», бо якщо новий SSD не завантажується — машина проклята. Квиток катався день, поки дедлайн користувача наближався.
Коли справа дійшла до SRE, що вже колись помилявся, перший крок був принизливо простим: підтвердити, чи прошивка в UEFI-режимі. Вона ні. Скидання BIOS перевернуло його в Legacy/CSM. Початкова інсталяція Windows була UEFI/GPT. У Legacy режимі прошивка шукала MBR-підпис, не знайшла і здалася.
Переключили прошивку назад в UEFI, Windows Boot Manager з’явився — машина завантажилась. «Мертвий SSD» був цілим. Замінений SSD став новою проблемою: його треба було стерти і повернути на інвентар.
Урок: Не робіть висновків, що «Немає завантажувального пристрою» означає відмову носія. Частіше прошивка просто дивиться в інше місце.
Інцидент №2: Оптимізація, що відвернулася проти (ESP «золотого образу»)
ІТ‑команда створила «золотий образ» клонування дисків для швидшого розгортання: однакова структура GPT, однакові ОС та пакети. У лабораторії працювало. У виробництві — теж, до певного моменту.
Через тиждень: випадкові машини з «Немає завантажувального пристрою» після оновлення прошивки. Не всі. Достатньо, щоб стати цікаво. Ст pattern був хаотичний: здебільшого ті, що недавно перевстановлювались.
Корінна причина: процес клонування дублював ідентифікатори дисків і залишав NVRAM-записи, що вказували на конкретний диск/розділ, які не були стабільними у серії. Деякі прошивки терпіли це і «перечитували» записи; інші — ні. Після оновлення NVRAM очищався, і шлях fallback не був послідовно заповнений, тому машини не мали валідного вказівника на EFI-бінарник.
Виправлення було не магічним. Воно було непримітним: після іміджування додати пост‑крок, що забезпечує правильний fallback-завантажувач на ESP і реєструє записи завантаження для даного пристрою. І перестати покладатися на те, що прошивка поводиться однаково у всіх вендорів.
Урок: Завантаження — це стан. Клонування працює, поки не перестане — і коли воно перестає, це трапляється в найгірший момент: при першому запуску після зміни.
Інцидент №3: Нудна правильна практика, що врятувала день (спершу іміджування)
Інженер баз даних повідомив про робочу станцію, яка перестала завантажуватись після відключення електроживлення. На ній були локальні набори даних без надійного бекапу. Імпульс у кімнаті був «просто запустити bootrec», бо це швидко і відчуття роботи є.
Фахівець зі зберігання даних поставив одне питання: «Що каже SMART?» Було видно відкладені сектори. Не багато, але достатньо. Диск не був мертвим, але ненадійним. Кожне додаткове читання могло бути останнім.
Вони зробили образ диска за допомогою ddrescue на надійний SSD, з логом, щоб повторювати спроби читання поганих ділянок без перечитування хороших. Лише потім робили ремонт завантаження на клоні. Клон завантажився після ремонту EFI і перебудови BCD. Оригінальний диск потім деградував далі, як і передбачалось.
Нічого героїчного — просто дисципліна: зберегти доказ, працювати з копією, перевірити результат. Така дисципліна врятувала дані і уникла незручного «ми відремонтували завантаження, але втратили файли» звіту.
Урок: Якщо є хоч натяк на проблему з диском — спочатку копіюйте. Ремонт завантаження дешевий; відновлення даних дороге.
Одна операційна максима, варта запам’ятовування (парафраз ідеї Річарда Кука): Складні системи успішні тому, що люди постійно адаптуються і виправляють приховані проблеми.
Поширені помилки: симптом → корінна причина → виправлення
1) Симптом: «Немає завантажувального пристрою» відразу після скидання BIOS або оновлення прошивки
Корінна причина: Режим завантаження перевернутий (UEFI ↔ Legacy/CSM) або порядок завантаження скинуто.
Виправлення: Поставте режим у значення, в якому встановлена ОС. Якщо є GPT + ESP — використовуйте UEFI. Відновіть порядок завантаження на Windows Boot Manager або ваш запис GRUB.
2) Симптом: Диск видно в Linux live USB, але не в меню завантаження прошивки
Корінна причина: Відсутній UEFI-запис; прошивка завантажується лише з зареєстрованих записів і ігнорує fallback, або шлях ESP неправильний.
Виправлення: Використайте efibootmgr -v для перегляду записів; створіть новий запис, що вказує на \EFI\Microsoft\Boot\bootmgfw.efi або \EFI\ubuntu\shimx64.efi. Переконайтесь, що fallback \EFI\Boot\BOOTX64.EFI існує.
3) Симптом: Інструменти відновлення Windows скаржаться «Access is denied» при FixBoot
Корінна причина: Часто ви фактично в UEFI/GPT і використовуєте неправильний шлях ремонту, або системний розділ не той, що ви думаєте.
Виправлення: Віддавайте перевагу bcdboot C:\Windows /s S: /f UEFI після присвоєння букви ESP. Перевірте, який том є ESP (FAT32, «System»).
4) Симптом: GRUB rescue prompt, «unknown filesystem»
Корінна причина: GRUB не може знайти свої модулі/конфіг через переміщені розділи, перезаписаний core image або відсутній /boot.
Виправлення: Завантажте live Linux, змонтуйте root і boot, chroot, перевстановіть GRUB (UEFI: --target=x86_64-efi; BIOS: встановіть на диск), потім update-grub.
5) Симптом: Система з подвійним завантаженням тепер завантажується прямо в Windows
Корінна причина: Оновлення Windows зробило Windows Boot Manager першим у порядку або переписало запис за замовчуванням.
Виправлення: Поміняйте порядок через інтерфейс прошивки або efibootmgr -o. Якщо запис GRUB відсутній — перевстановіть GRUB в ESP і створіть запис.
6) Симптом: Після клонування диск завантажується тільки коли підключено старий диск
Корінна причина: Запис завантаження вказує на оригінальний диск. Клон має інші ідентифікатори диска або GUID розділів.
Виправлення: Створіть нові UEFI-записи, що вказують на клон. Розгляньте видалення дублікатів і використання fallback-шляху EFI/Boot.
7) Симптом: «No bootable device» тільки коли вставлені USB-диски
Корінна причина: Порядок завантаження прошивки віддає пріоритет знімним носіям або трактує підключений USB як перший варіант, але він не завантажувальний.
Виправлення: Налаштуйте порядок завантаження; вимкніть «boot from USB», якщо політика дозволяє; або переконайтесь, що USB реально завантажувальний.
8) Симптом: Linux завантажується, Windows відсутній у GRUB
Корінна причина: os-prober відключено політикою дистрибутиву, або Windows-розділ недоступний (BitLocker заблокований, hibernation або fast startup).
Виправлення: Вимкніть Windows fast startup; розблокуйте BitLocker за потреби; увімкніть і запустіть os-prober, потім перегенеруйте конфіг GRUB.
Контрольні списки / покроковий план
Контрольний список A: Мінімально ризиковий потік для «Немає завантажувального пристрою» (загальний)
- Увійдіть у налаштування прошивки: підтвердьте, що диск виявлений.
- Підтвердьте режим завантаження: UEFI чи Legacy. Не вгадуйте.
- Встановіть порядок завантаження на правильний диск/запис (Windows Boot Manager або ваш Linux-запис).
- Завантажте live USB в тому ж режимі (UEFI або BIOS), що й встановлена ОС.
- Ідентифікуйте диски та розділи (
lsblk,parted). - Якщо SMART поганий — спочатку клонуйте з ddrescue.
- Змонтуйте ESP і перевірте директорії EFI.
- Перегляньте і виправте UEFI-записи (
efibootmgr) або MBR-прапорці (fdisk). - Відновіть завантажувач:
- Windows UEFI:
bcdboot - Windows BIOS:
bootrec(і перевірка активного розділу) - Linux UEFI:
grub-install --target=x86_64-efi - Linux BIOS:
grub-install /dev/sdX
- Windows UEFI:
- Перезавантажте один раз. Перевірте. Не робіть десять ремонтних ітерацій; це втрата контролю над станом.
Контрольний список B: UEFI/GPT ремонт, коли ESP є, але запис завантаження відсутній
- Змонтуйте ESP і переконайтесь, що цільовий
.efiіснує. - Створіть новий запис за допомогою
efibootmgr -c, що вказує на нього. - Опційно створіть/перевірте fallback:
\EFI\Boot\BOOTX64.EFI. - Встановіть порядок завантаження так, щоб новий запис був першим.
- Перезавантажте і підтвердіть.
Контрольний список C: Потік «Я не довіряю цьому диску» (дані перш за все)
- Завантажте live USB, поки не запускайте перевірки файлових систем.
- Перевірте SMART; якщо з’являються очікувані/незворотні сектори — зупиніться.
- Клонуйте за допомогою ddrescue на новий диск.
- Відключіть оригінальний диск.
- Ремонтуйте завантаження на клоні.
- Після відновлення завантаження зробіть повноцінний бекап. Не живіть на клоні, ніби нічого не сталося.
Поширені запитання
1) Чи можу я виправити «Немає завантажувального пристрою» без перевстановлення ОС?
Зазвичай — так. Найчастіше розділи ОС ці, а пошкоджена лише метаінформація завантаження: неправильний режим прошивки, відсутній UEFI-запис, пошкоджений ESP, зламаний BCD або GRUB.
2) Як дізнатися, чи диск GPT або MBR?
У Linux: parted -s /dev/sdX print покаже «Partition Table: gpt» або «msdos». У Windows: diskpart → list disk покаже * під GPT для GPT-дисків.
3) Який найшвидший спосіб визначити, що я в неправильному режимі завантаження?
Якщо диск GPT і має ESP, а прошивка встановлена в Legacy/CSM, часто ви отримаєте «Немає завантажувального пристрою». Навпаки, MBR/BIOS інсталяція не завантажиться у чистому UEFI без UEFI-завантажувача.
4) Чи безпечно запускати bootrec або grub-install?
Безпечно, якщо ви знаєте, який диск таргетуєте, і вирішили, що це правильний ремонт. Небезпечно гратися ними вгадуючи, особливо на системах з кількома дисками. Якщо диск проблемний — спочатку клонуйте.
5) Чому UEFI іноді «забуває» записи завантаження?
NVRAM може бути скинутий оновленнями прошивки, скиданням BIOS або багами прошивки. Деякі системи також погано реагують, коли змінюються ідентифікатори дисків після клонування. Наявність валідного fallback-завантажувача у \EFI\Boot\BOOTX64.EFI допомагає.
6) Чи потрібно пересоздавати EFI System Partition, якщо він пошкоджений?
Не завжди. Невеликі помилки FAT можна виправити за допомогою fsck.vfat. Якщо ESP відсутній, серйозно пошкоджений або таблиця розділів змінена — можливо, доведеться його створити і відновити файли завантаження (Windows: bcdboot; Linux: grub-install).
7) Щодо BitLocker або повного шифрування диска?
Шифрування змінює пріоритети. Часто можна відновити EFI/завантажувач, не торкаючись зашифрованих томів, але переконайтесь, що маєте ключі відновлення і розумієте ланцюжок завантаження. Не тисніть «перепризначити розділи» як фікс.
8) Моя система з подвійним завантаженням, і тепер видно лише одну ОС. Чи я втратив іншу?
Не обов’язково. Меню завантаження — це лише вказівники. Інша ОС зазвичай присутня; треба відновити конфіг GRUB або відновити правильний порядок/записи UEFI.
9) Чи варто перетворювати MBR на GPT (або навпаки) щоб виправити завантаження?
Ні, не як перший крок. Невідповідність режиму і відсутні файли завантажувача — набагато частіші. Конвертація — контрольована зміна, що вимагає бекапів і ретельного планування.
10) Коли припинити ремонти і визнати апаратну проблему?
Якщо диск не виявляється в прошивці, якщо SMART показує зростаючі помилки читання/очікувані сектори, або якщо ви не можете стабільно читати розділи з live-середовища — вважайте це апаратною відмовою або проблемою носія. Спочатку зніміть образ, потім відновлюйте.
Висновок: практичні наступні кроки
Збої завантаження відчуваються драматично, бо система мовчить, але виправлення часто нудні: прошивка в неправильному режимі, на ESP відсутні файли або запис завантаження не вказує куди треба.
Зробіть наступне, по порядку:
- Підтвердьте в прошивці виявлення диска і режим завантаження.
- Завантажте live-середовище в тому ж режимі, що й встановлена ОС.
- Визначте GPT чи MBR, потім знайдіть ESP/системні розділи.
- Якщо диск виглядає ненадійним — клонувати з ddrescue і ремонтувати клон.
- Відновіть відповідний рівень: UEFI-записи + файли на ESP для UEFI/GPT; MBR/активний розділ/BCD або GRUB для BIOS/MBR.
- Перезавантажте один раз, перевірте, а потім зробіть реальний бекап. Відновлений завантажувач — не стратегія резервного копіювання.