Якщо ви коли-небудь намагалися ввімкнути Secure Boot, додати четвертий первинний розділ або збільшити диск понад 2 ТБ і натрапили на «MBR», ви зустріли найстарішого приврата в дата-центрі. Конвертація в GPT зазвичай проста. Складніше — зробити це без перетворення цілком справної машини на інцидент «чому він PXE-завантажується о 2 ранку».
Це практичний, орієнтований на продакшн підхід: перевірте, що у вас є, конвертуйте вбудованими інструментами, правильно змініть налаштування прошивки і перевірте завантаження перед тим, як оголосити перемогу. Ніякого перевстановлення. Ніякої геройщини. Мінімум драм.
Справжня проблема: таблиця розділів проти режиму завантаження
MBR vs GPT стосується таблиці розділів. BIOS vs UEFI — це про режим завантаження прошивки. Люди плутають їх, тому що вони часто йдуть разом:
- Legacy BIOS зазвичай завантажує з MBR.
- UEFI зазвичай завантажує з GPT через EFI System Partition (ESP).
Але в реальному житті можуть траплятися невідповідності. Саме там конвертації йдуть боком. Конвертації таблиці розділів недостатньо; система також повинна мати завантажувач, який відповідає режиму прошивки, який ви збираєтеся використовувати після конвертації.
Найпростіша безпечна ментальна модель:
- Windows: Якщо ви конвертуєте системний диск із MBR у GPT, ви маєте завантажувати Windows через UEFI. Вбудований інструмент Microsoft (
mbr2gpt) обробляє таблицю розділів і файли завантаження, але вам усе одно потрібно змінити налаштування прошивки. - Linux: Ви можете конвертувати в GPT і зберегти Legacy-завантаження, використовуючи BIOS boot partition (образ ядра GRUB), або перейти на UEFI з ESP. Що є «вбудованим», залежить від дистрибутива, але основні інструменти (
fdisk,gdisk/sgdisk,grub-install,efibootmgr) зазвичай доступні.
Сухий факт: більшість відмов під час MBR→GPT спричинені не інструментом конвертації. Їх спричиняють люди, які вгадують, який диск є «Disk 0», вважають, що прошивка автоматично підстроїться, або дізнаються занадто пізно, що політики BitLocker/Secure Boot суперечать плану.
Жарт №1: Таблиці розділів — як органіграма в офісі: ніхто на них не дивиться, поки щось не ламається, а потім раптом вони — «ключова документація».
Ось цитата про надійність, яка добре працює при роботі з дисками:
«Сподівання — не стратегія.» — James Cameron
У цьому контексті «сподівання» виглядає як конвертація на живій системі без перевіреної резервної копії і без підтвердження, що ви можете зайти в налаштування прошивки. Не робіть так.
Цікаві факти й контекст (що пояснює дивності)
- Поріг 2 ТБ у MBR походить від 32-бітної адресації секторів з 512-байтовими секторами: 2^32 × 512 байт ≈ 2 ТБ. Так, 4K-блоки ускладнюють математику, але спадщина все ще болить.
- MBR з’явився ще в епоху ранніх ПК і був задуманий для світу, де «великий диск» вимірювався мегабайтами, а не терабайтами.
- GPT — частина UEFI, але його можна використовувати і без UEFI в деяких Linux-сценаріях. Поєднання більше культурне, ніж чисто технічне.
- GPT зберігає резервний заголовок у кінці диска. Це не прикраса; це спосіб відновлення після пошкодження основного заголовка.
- MBR має одну таблицю розділів на все життя, тоді як GPT використовує CRC-контрольні суми для виявлення корупції. Саме тому інструменти GPT можуть сказати «ваша метадані пошкоджені», замість того, щоб мовчки породжувати хаос при завантаженні.
- «Захисний MBR» на GPT-дисках існує, щоб старі інструменти не вирішили, що диск порожній і «допомогли» його перезаписати.
- Windows історично вимагав GPT для завантаження через UEFI на системних дисках. Сучасний інструмент для конвертації з’явився тому, що підприємства вимагали міграцію на місці для відповідності стандартам безпеки.
- Записи завантаження UEFI живуть у NVRAM і можуть бути стерті оновленнями прошивки, скиданням NVRAM або деякими скриптами «зміцнення безпеки», які не розуміють, що вони видаляють.
- BIOS-завантаження з GPT можливо для Linux через невеличкий «BIOS boot partition», але Windows так не робитиме для системних дисків. Різні ОС — різні правила.
Попередня перевірка: визначте шлях перед тим, як торкатися диска
Перед конвертацією дайте відповіді на три питання. Не «на мою думку». Доведіть це командами.
1) Яка ОС фактично завантажує цю машину?
Машини з подвійним завантаженням, середовища відновлення та старі стендові хости люблять дивувати. Конвертуйте неправильний диск — і ви отримаєте практику у комунікації щодо інциденту.
2) Чи зараз ви завантажені в BIOS/Legacy або в UEFI?
Це вирішує, чи можна зберегти підхід до завантаження чи потрібно переходити. Для конвертації системного диска Windows за допомогою mbr2gpt ви перемикаєтеся на UEFI.
3) Чи можна перетворити макет диска без глобальних змін?
mbr2gpt вимогливий: йому потрібне місце для створення EFI System Partition (ESP), і він має обмеження на кількість/типи розділів. Linux-конвертації гнучкіші, але ваш завантажувач і /etc/fstab можуть не встояти.
Рекомендації:
- Якщо це лептоп або одиничний критичний сервер і у вас немає консолі поза мережею: заплануйте простій і підготуйте завантажувальний носій для відновлення. «Удалений персонал» — це не план; це молитва з номером запиту.
- Якщо це VM: зробіть снапшот (якщо політика дозволяє) і все одно проведіть перевірки. Снапшоти — не бекапи, але чудово допомагають уникнути жалю.
- Якщо це LUN контролера RAID: підтвердіть, що контролер не робить «допоміжне» переписування метаданих під час конвертацій. Зазвичай все гаразд, іноді — прокляття.
Швидка діагностика (знайдіть вузьке місце швидко)
Коли «конвертація MBR у GPT» зазнає невдачі, вузьке місце майже завжди одне з цих: неправильний диск, неправильний режим завантаження, немає місця для ESP, або плутанина з завантажувальними артефактами/NVRAM. Перевіряйте в цьому порядку.
По-перше: підтвердіть режим завантаження і цільовий диск
- Windows: перевірте режим BIOS у
msinfo32або через PowerShell/WMI. - Linux: перевірте існування
/sys/firmware/efi. - Підтвердіть номер/шлях диска, який ви збираєтеся конвертувати, і впевніться, що на ньому є ОС.
По-друге: підтвердіть передумови конвертації
- Windows: виконайте
mbr2gpt /validate. Читайте помилку. Не імпровізуйте. - Linux: підтвердіть наявність місця для ESP (шлях UEFI) або BIOS boot partition (Legacy шлях). Переконайтеся, що зміни таблиці розділів не зіткнуться з метаданими LVM/RAID.
По-третє: сплануйте шлях завантаження після конвертації
- Windows: після конвертації треба переключити прошивку на UEFI і переконатися, що запис Windows Boot Manager присутній.
- Linux: вирішіть, чи встановлюєте GRUB в EFI-режимі (ESP + запис у NVRAM), чи в BIOS-режимі (BIOS boot partition). Потім інсталюйте відповідно.
По-четверте: якщо конвертація пройшла, але не завантажується — зосередьтесь на артефактах завантаження
- Windows: використовуйте WinRE,
bcdbootі перевірте ESP. - Linux: використовуйте live ISO,
efibootmgr,grub-installі перевірте точки монтування та UUID.
Шлях для Windows (вбудований): MBR2GPT + перемикання на UEFI
У Windows 10/11 і сучасних Windows Server вбудований інструмент — mbr2gpt.exe. Він конвертує системний диск з MBR у GPT не змінюючи вміст ваших існуючих розділів Windows, створює ESP і оновлює конфігурацію завантаження. Це кращий варіант, коли він застосовний.
Що mbr2gpt робить добре
- Недеструктивна конвертація таблиці розділів (у сенсі, що не стирає вміст розділів з даними).
- Створює EFI System Partition і Microsoft Reserved Partition за потреби.
- Оновлює BCD для завантаження в режимі UEFI.
Чого mbr2gpt відмовиться робити
- Конвертувати диски, які не відповідають його обмеженням макету.
- Чарівно переналаштувати вашу прошивку з Legacy на UEFI. Це потрібно зробити вручну.
- Виправляти сторонні завантажувачі, які ви встановили хитромудро.
Операційний підхід
Виконуйте конвертацію з WinRE або з повної системи Windows з ключем /allowFullOS, коли необхідно. В корпоративних середовищах WinRE зменшує сюрпризи на кшталт «щось тримає блокування метаданих диска». На практиці, якщо ви все одно можете взяти простій, WinRE заспокоює.
Після конвертації: перезавантажтеся, зайдіть у налаштування прошивки, переключіть у режим UEFI, поки не підтвердили завантаження вимкніть Secure Boot, а потім увімкніть його за політикою. Не поєднуйте «міграцію таблиці розділів» з «тісним увімкненням Secure Boot», якщо не полюбляєте багаторівневі відмови.
Шлях для Linux: конвертуйте через gdisk/sgdisk, а потім явно налаштуйте завантаження
Linux дає вам вибір, а вибір — це те, як у вас опиняється сім завантажувачів і один робочий уікенд. Якщо ваша мета — «GPT без перевстановлення», у вас є дві розумні стратегії:
- Конвертувати в GPT і зберегти Legacy BIOS-завантаження створивши невеликий BIOS boot partition і перевстановивши GRUB у BIOS-режимі.
- Конвертувати в GPT і перейти на UEFI-завантаження створивши ESP, встановивши GRUB для EFI і створивши запис у NVRAM.
Більшість сучасних середовищ має обирати UEFI, якщо немає жорсткого обмеження. UEFI не автоматично «кращий», але це напрямок, якого очікує прошивка, інструменти постачальника та політики безпеки.
Ключова обережність для конвертацій Linux
- Якщо ви використовуєте LVM, mdraid або шифрування, ваші розділи — це контейнери. Конвертація таблиці розділів не перезаписує вміст, але не можна змінювати початкові сектори розділів без розуміння наслідків.
- Знайте свій завантажувач: GRUB в BIOS-режимі покладається на вбудоване ядро в простір між MBR і першим розділом; на GPT йому зазвичай потрібен BIOS boot partition.
- UEFI вимагає ESP, відформатованого як FAT32, зазвичай змонтованого в
/boot/efi.
Жарт №2: Екрани налаштувань прошивки UEFI створені кимось, хто подивився на кокпіт і сказав: «Занадто інтуїтивно».
Практичні завдання: команди, що означає вивід, яке рішення прийняти
Ось реальні перевірки, які я виконую. Кожна має причину: вона перетворює здогад у рішення. Команди згруповані за платформою, але деякі підходять скрізь.
Завдання 1 (Windows): Підтвердити режим BIOS (UEFI чи Legacy)
cr0x@server:~$ powershell -NoProfile -Command "(Get-ComputerInfo).BiosFirmwareType"
Legacy
Що це означає: Наразі ви завантажені в Legacy-режимі.
Рішення: Якщо ви конвертуєте системний диск у GPT, сплануйте зміну прошивки на UEFI після конвертації. Якщо ви не можете віддалено зайти в налаштування прошивки — зупиніться і організуйте доступ фізичний.
Завдання 2 (Windows): Визначити номер системного диска
cr0x@server:~$ powershell -NoProfile -Command "Get-Disk | Select Number,FriendlyName,PartitionStyle,Size"
0 NVMe SAMSUNG MZVLW512 MBR 476.94 GB
1 Virtual Disk GPT 100.00 GB
Що це означає: Диск 0 — MBR і ймовірно ваш диск з ОС; Диск 1 вже GPT.
Рішення: Націльтеся на Диск 0 для валідації й конвертації. Якщо ОС на диску 1, ваше припущення хибне — перевірте співвідношення розділів і томів.
Завдання 3 (Windows): Підтвердити, який розділ містить Windows
cr0x@server:~$ powershell -NoProfile -Command "Get-Partition -DiskNumber 0 | Select PartitionNumber,DriveLetter,Type,Size"
1 System 500 MB
2 Reserved 128 MB
3 C Basic 475.8 GB
Що це означає: Том C: знаходиться на диску 0, розділ 3.
Рішення: Конвертація має бути спрямована на Диск 0. Якщо C: тут відсутній — продовжуйте пошук; не конвертуйте «щось, що називається Disk 0» за звичкою.
Завдання 4 (Windows): Перевірити передумови конвертації
cr0x@server:~$ mbr2gpt /validate /disk:0 /allowFullOS
MBR2GPT: Attempting to validate disk 0
MBR2GPT: Retrieving layout of disk
MBR2GPT: Validating layout, disk sector size is: 512 bytes
MBR2GPT: Validation completed successfully
Що це означає: Інструмент вважає, що може безпечно конвертувати цей диск.
Рішення: Продовжуйте до конвертації у вікні технічного обслуговування. Якщо валідація неуспішна — не «пробуйте все одно». Виправте макет спочатку.
Завдання 5 (Windows): Конвертувати диск
cr0x@server:~$ mbr2gpt /convert /disk:0 /allowFullOS
MBR2GPT: Attempting to convert disk 0
MBR2GPT: Retrieving layout of disk
MBR2GPT: Creating the EFI system partition
MBR2GPT: Installing the new boot files
MBR2GPT: Performing the layout conversion
MBR2GPT: Migrating default boot entry
MBR2GPT: Conversion completed successfully
Що це означає: Диск тепер GPT і має підготовлені файли завантаження для UEFI.
Рішення: Перезавантажтеся в налаштування прошивки і перемкніть на UEFI-завантаження. Якщо ви перезавантажитеся без зміни прошивки, можете отримати «немає завантажувального пристрою».
Завдання 6 (Windows): Підтвердити, що диск тепер GPT
cr0x@server:~$ powershell -NoProfile -Command "Get-Disk -Number 0 | Select Number,PartitionStyle"
0 GPT
Що це означає: Конвертація таблиці розділів пройшла успішно.
Рішення: Продовжуйте з налаштуванням UEFI та перевіркою завантаження. Не оголошуйте завершення, поки не підтвердите режим завантаження UEFI.
Завдання 7 (Windows): Перевірити наявність ESP і тимчасово призначити букву (опціонально)
cr0x@server:~$ diskpart
DISKPART> list vol
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ----- ---------- ------- --------- --------
Volume 0 C NTFS Partition 475 GB Healthy Boot
Volume 1 FAT32 Partition 100 MB Healthy System
Що це означає: Є FAT32 «System» том — це ESP.
Рішення: Якщо ESP відсутня, конвертація не зробила того, що ви очікували. Зупиніться й інспектуйте таблицю розділів перед тим, як бездумно перезавантажуватися.
Завдання 8 (Windows/WinRE): Переписати файли завантаження при потребі
cr0x@server:~$ bcdboot C:\Windows /s S: /f UEFI
Boot files successfully created.
Що це означає: Файли завантаження Windows записані в ESP, змонтований як S:.
Рішення: Використовуйте це, коли конвертація пройшла, але прошивка не знаходить запис завантаження. Це ремонтний крок, а не початковий.
Завдання 9 (Linux): Підтвердити поточний режим завантаження
cr0x@server:~$ test -d /sys/firmware/efi && echo UEFI || echo BIOS
BIOS
Що це означає: Ядро було завантажено через Legacy BIOS.
Рішення: Якщо ви хочете перейти на UEFI, вам знадобиться ESP і встановлення EFI-завантажувача. Якщо ви бажаєте залишитися в BIOS — сплануйте BIOS boot partition на GPT.
Завдання 10 (Linux): Переглянути поточний диск і тип таблиці розділів
cr0x@server:~$ lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINTS
sda 931.5G disk
├─sda1 512M part ext4 /boot
├─sda2 100G part LVM2_member
└─sda3 831G part LVM2_member
Що це означає: Макет диска — роздільний з учасниками LVM.
Рішення: Конвертація можлива, але потрібно зберегти початкові сектори розділів. Інструменти на кшталт sgdisk кращі, оскільки не «вирівнюють» і не змінюють розташування без вказівки.
Завдання 11 (Linux): Перевірити таблицю розділів (MBR проти GPT) за допомогою parted
cr0x@server:~$ sudo parted -s /dev/sda print
Model: ATA ST1000DM003-1CH1 (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 538MB 537MB primary ext4 boot
2 538MB 108GB 107GB primary
3 108GB 1000GB 892GB primary
Що це означає: Це MBR («msdos» в термінах parted).
Рішення: Продовжуйте з планом MBR→GPT. Також зауважте: вже є три первинні розділи. Якщо потрібен BIOS boot partition або ESP — потрібно звільнити місце.
Завдання 12 (Linux): Недеструктивно конвертувати MBR → GPT за допомогою sgdisk
cr0x@server:~$ sudo sgdisk --mbrtogpt /dev/sda
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot or after you
run partprobe(8) or kpartx(8)
The operation has completed successfully.
Що це означає: Метадані диска були конвертовані; поточний ядро все ще бачить стару таблицю.
Рішення: Не починайте змінювати розміри розділів у цьому стані. Перезавантажтеся (у вікні обслуговування) або запустіть partprobe, якщо безпечно, потім перевірте знову через parted.
Завдання 13 (Linux): Повторно прочитати таблицю розділів безпечно
cr0x@server:~$ sudo partprobe /dev/sda
cr0x@server:~$ sudo parted -s /dev/sda print | grep -i "Partition Table"
Partition Table: gpt
Що це означає: Ядро і інструменти тепер погоджуються, що це GPT.
Рішення: Тепер створіть потрібний завантажувальний розділ (BIOS boot або ESP) і перевстановіть завантажувач відповідно.
Завдання 14 (Linux, шлях BIOS): Створити BIOS boot partition (якщо лишаєтесь у Legacy)
cr0x@server:~$ sudo parted -s /dev/sda mkpart biosboot 1MiB 3MiB
cr0x@server:~$ sudo parted -s /dev/sda set 4 bios_grub on
cr0x@server:~$ sudo parted -s /dev/sda print | tail -n +1
Model: ATA ST1000DM003-1CH1 (scsi)
Disk /dev/sda: 1000GB
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 538MB 537MB ext4 primary boot
2 538MB 108GB 107GB primary
3 108GB 1000GB 892GB primary
4 1049kB 3146kB 2097kB biosboot bios_grub
Що це означає: Тепер у вас є BIOS boot partition (маленький, неформатований), позначений для вбудовування ядра GRUB.
Рішення: Перевстановіть GRUB у BIOS-режимі в захисну область MBR диска (GRUB використовує bios_grub-партіцію для core image на GPT).
Завдання 15 (Linux, шлях BIOS): Перевстановити GRUB для BIOS
cr0x@server:~$ sudo grub-install --target=i386-pc /dev/sda
Installing for i386-pc platform.
Installation finished. No error reported.
Що це означає: Завантажувач GRUB у BIOS-режимі встановлено на диск, використовуючи BIOS boot partition за потреби.
Рішення: Перезавантажтеся і перевірте. Якщо хост завантажується — можете залишатися в Legacy. Якщо ви планували UEFI — зупиніться і виконайте інсталяцію для UEFI.
Завдання 16 (Linux, шлях UEFI): Створити й відформатувати EFI System Partition
cr0x@server:~$ sudo parted -s /dev/sda mkpart esp fat32 3MiB 515MiB
cr0x@server:~$ sudo parted -s /dev/sda set 4 esp on
cr0x@server:~$ sudo mkfs.fat -F32 /dev/sda4
mkfs.fat 4.2 (2021-01-31)
Що це означає: Ви створили ESP розміром ≈512 MiB і відформатували його як FAT32.
Рішення: Змонтуйте його в /boot/efi і встановіть EFI-завантажувач. Якщо ESP вже є в іншому місці — не створюйте другий без потреби; прошивка обиратиме фаворитів.
Завдання 17 (Linux, шлях UEFI): Встановити GRUB для EFI і створити запис у NVRAM
cr0x@server:~$ sudo mkdir -p /boot/efi
cr0x@server:~$ sudo mount /dev/sda4 /boot/efi
cr0x@server:~$ sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
Installing for x86_64-efi platform.
Installation finished. No error reported.
cr0x@server:~$ sudo efibootmgr -v | head
BootCurrent: 0002
Timeout: 1 seconds
BootOrder: 0002,0001
Boot0002* GRUB HD(4,GPT,...)File(\EFI\GRUB\grubx64.efi)
Що це означає: GRUB встановлено в ESP і існує запис прошивки для завантаження.
Рішення: Переключіть прошивку в режим UEFI, переконайтеся, що запис GRUB/EFI стоїть першим (або принаймні присутній), потім перезавантажтеся.
Завдання 18 (Linux): Перевірити, що fstab/UUID не змінилися непередбачувано
cr0x@server:~$ sudo blkid /dev/sda1 /dev/sda4
/dev/sda1: UUID="2e5c0b3f-8f3e-4d21-bc6a-7a8c0a2a4cbd" TYPE="ext4" PARTUUID="d9c3d8e9-01"
/dev/sda4: UUID="7A3C-1B2F" TYPE="vfat" PARTUUID="d9c3d8e9-04"
Що це означає: UUID файлових систем стабільні; GPT додає PARTUUIDи.
Рішення: Якщо ваша конфігурація завантаження використовує PARTUUIDи — оновіть конфіги відповідно. Якщо монтуєте по UUID — ймовірно все гаразд. Підтвердіть, що /etc/fstab містить ESP для UEFI.
Контрольні списки / покроковий план
Контрольний список A: «Мені потрібен GPT на системному диску Windows, щоб увімкнути Secure Boot / сучасний базлайн»
- Резервна копія або снапшот (так, навіть якщо «недеструктивно»). Переконайтеся, що можете відновити машину, а не лише дані.
- Підтвердіть, що ОС завантажується в Legacy і що конвертація потрібна (Завдання 1).
- Визначте правильний диск (Завдання 2) і підтвердіть мапінг розділів Windows (Завдання 3).
- Призупиніть BitLocker, якщо увімкнено (залежно від політики). Інакше очікуйте запити ключа відновлення або гірше — відмову завантаження після змін у прошивці.
- Запустіть
mbr2gpt /validate(Завдання 4). Якщо не проходить — виправте причини (зазвичай кількість/місце для розділів). - Запустіть
mbr2gpt /convert(Завдання 5). - Перезавантажтеся в прошивку і переключіть на UEFI. Поки не підтвердите завантаження — тримайте Secure Boot вимкненим.
- Завантажте Windows, перевірте, що стиль диска GPT (Завдання 6) і тип прошивки UEFI (Завдання 1 повторно).
- Лише потім увімкніть Secure Boot, якщо потрібно, і знову ввімкніть захист BitLocker.
Контрольний список B: «Linux-сервер, конвертувати системний диск у GPT, залишити Legacy через дивну прошивку постачальника»
- Отримайте доступ до консолі (iLO/iDRAC/IPMI або принаймні консоль VM). Робота з диском без консолі — це виклик, а не інженерія.
- Підтвердіть поточний режим завантаження (Завдання 9). Якщо вже UEFI — перегляньте, навіщо вам legacy.
- Підтвердіть, що таблиця — msdos (Завдання 11).
- Конвертуйте MBR→GPT за допомогою
sgdisk --mbrtogpt(Завдання 12). - Повторно прочитайте таблицю (Завдання 13) або перезавантажтеся у режимі обслуговування.
- Створіть BIOS boot partition (Завдання 14), якщо його немає.
- Перевстановіть GRUB для BIOS-цілі (Завдання 15).
- Перезавантажтеся і перевірте. Тримайте старе медіа відновлення, поки не переживете принаймні ще одне перезавантаження.
Контрольний список C: «Linux-сервер, конвертувати системний диск у GPT і перейти на UEFI правильно»
- Підтвердіть, що платформа підтримує UEFI і що ви можете увімкнути його в прошивці.
- Перевірте поточний режим завантаження (Завдання 9). Якщо сьогодні BIOS — ви перемикатиметесь після інсталяції EFI-завантажувача.
- Конвертуйте MBR→GPT (Завдання 12), потім повторіть (Завдання 13).
- Створіть ESP і відформатуйте його FAT32 (Завдання 16). Типовий розмір: 260–512 MiB.
- Змонтируйте ESP в
/boot/efiі встановіть GRUB EFI (Завдання 17). - Переконайтеся, що запис у NVRAM існує (
efibootmgr -vз прикладу в Завданні 17). - Переключіть прошивку на режим UEFI. Якщо прошивка підтримує обидва режими — віддавайте перевагу «лише UEFI» після стабілізації, щоб уникнути неоднозначності завантаження.
- Перевірте завантаження, потім підтвердіть, що ОС бачить UEFI (
/sys/firmware/efiіснує).
Типові помилки: симптом → причина → виправлення
1) Симптом: «Немає завантажувального пристрою» відразу після конвертації
Причина: Диск конвертовано, але прошивка все ще встановлена в Legacy/CSM. UEFI-файли завантаження є, але прошивка їх не шукає.
Виправлення: Зайдіть у налаштування прошивки, переключіть у режим UEFI, переконайтеся, що «Windows Boot Manager» (або ваш запис Linux) присутній і має пріоритет.
2) Симптом: mbr2gpt /validate не проходить через помилки макету
Причина: Забагато розділів, неподтримувані типи розділів або недостатньо вільного місця для створення ESP.
Виправлення: Зменште кількість розділів (об’єднати, видалити відновлювальний розділ, який можна відновити пізніше, або зменшити C: щоб створити місце). Потім знову запустіть validate. Не продовжуйте, поки валідація не пройде.
3) Симптом: Windows завантажується, але BitLocker просить ключ відновлення щоразу
Причина: Виміри завантаження TPM змінилися (Legacy→UEFI, перемикання Secure Boot, зміни в порядку завантаження) без призупинення BitLocker і правильного його перепечатування.
Виправлення: Призупиніть BitLocker перед змінами; після стабільного завантаження знову увімкніть захист, щоб він пересертифікувався під новий шлях завантаження.
4) Симптом: Linux завантажується один раз, але після оновлення прошивки падає на PXE
Причина: Записи UEFI NVRAM були стерті або змінені під час оновлення/скидання прошивки.
Виправлення: Відтворіть запис за допомогою efibootmgr (з live ISO, якщо потрібно) і подумайте про встановлення fallback-загрузчика в \EFI\BOOT\BOOTX64.EFI на ESP.
5) Симптом: parted показує GPT, але ядро все ще бачить старі розділи
Причина: Ядро не перечитало таблицю розділів; пристрої все ще змонтовані зі старою геометрією.
Виправлення: Використайте partprobe і перевірте знову, або перезавантажтеся в обслуговувальному вікні. Уникайте операцій з розмірами, поки ядро не погодиться.
6) Симптом: Після конвертації Linux — з’явився GRUB rescue prompt
Причина: Ядро GRUB не знайдено/не вбудовано (BIOS на GPT без bios_grub partition) або встановлено невірну ціль GRUB.
Виправлення: Якщо лишаєтесь у BIOS — додайте BIOS boot partition і перевстановіть GRUB з --target=i386-pc. Якщо переходите на UEFI — створіть/змонтуйте ESP і встановіть з --target=x86_64-efi.
7) Симптом: Диск GPT, але інсталятор/відновлення Windows не бачить Windows
Причина: Ви завантажилися у середовище відновлення в Legacy-режимі, тоді як диск очікує структури UEFI (або навпаки).
Виправлення: Завантажте середовище відновлення в тому ж режимі, в якому має завантажуватися ОС (UEFI для GPT системного диска). Потім виконайте операції ремонту, наприклад bcdboot.
8) Симптом: Усе працювало, але моніторинг повідомляє «змінився підпис диска»
Причина: Деякі інструменти орієнтуються на MBR disk signatures; GPT використовує інші ідентифікатори (PARTUUID/GUID).
Виправлення: Оновіть моніторинг/бекап-конфіги, щоб використовувати UUID файлової системи або стійкі ідентифікатори пристроїв, а не MBR-підписи.
Три міні-історії з корпоративного життя (і їхні уроки)
Міні-історія 1: Інцидент через неправильне припущення
Команда мала флот «ідентичних» застосункових серверів. Та сама модель, той самий образ ОС, та сама автоматизація. Потрібен був Secure Boot для нового стандарту відповідності, план був простий: конвертувати MBR у GPT, переключити на UEFI, увімкнути Secure Boot і рухатися далі.
На першому хості все спрацювало. На другому — ні. «Немає завантажувального пристрою.» Віддалена консоль показала меню прошивки з двома дисками, один з яких ніхто не пам’ятав замовляти. Автоматизація місяців тому додала невеликий другий диск для дампів збоїв. У прошивці він стояв першим у порядку завантаження. В ОС його не монтували і не використовували. У головах його не існувало.
Вони валідовано й конвертували правильний диск. Помилка була простіша: порядок завантаження прошивки тепер віддавав перевагу іншому диску, бо відповідного UEFI-запису на ньому не було. Legacy-завантаження цього не показувало.
Виправлення було нудним: встановити правильний UEFI-запис, заборонити завантаження з дамп-диска і забезпечити, щоб процес провізування встановлював детермінований порядок завантаження. Урок був чіткий: «Disk 0» — не інженерна константа; це зручність інтерфейсу, яка змінюється при зміні обладнання.
Вони додали передпольотну перевірку в автоматизацію: перерахувати диски, підтвердити серійний номер диска, що містить OS-том, і відмовитись продовжувати, якщо є неоднозначність. Побудова цього зайняла день. Вона врятувала їх від повторення тієї ж помилки у масштабі.
Міні-історія 2: Оптимізація, що зіграла злий жарт
Інша організація хотіла прискорити вікна обслуговування. Хтось запропонував конвертувати в працюючій ОС, щоб уникнути перезавантаження у середовище відновлення. «Це той самий інструмент, він працював у лабораторії.» Той хтось не був цілком неправий.
Вони запускали конвертації з /allowFullOS по черзі. Більшість пройшли успішно. Декілька не пройшли валідацію через дивні макети — машини з додатковими розділами від старих інструментів кінцевих точок. Замість того, щоб зупинитися, оператор намагався «оптимізувати», видаливши найменший розділ на льоту, щоб звільнити місце.
На одній машині той «найменший розділ» був розділом відновлення постачальника, який також містив діагностичне середовище, що використовувалося віддаленою підтримкою. Його видалення не зламало працюючу систему, тому це здавалося перемогою. Пізніше окремий інцидент потребував цього діагностичного середовища, і раптом стандартна процедура підтримки припинила працювати. Зміна зберігання не спричинила відмову; вона ускладнила швидке відновлення.
Постмортем не був про ганьбу. Він був про визнання реальності: оптимізація на швидкість має тенденцію перекладати ризики на інших. Ремонт полягав у стандартизації підтримуваного макету розділів, документуванні, які розділи дозволено видаляти, і виконанні конвертацій з WinRE там, де можливо, щоб зменшити залежність від стану системи.
Вони все ще підвищили швидкість — але зробили процес передбачуваним, а не перетворили техніків на імпровізаційних хірургів.
Міні-історія 3: Нудна, але правильна практика, що врятувала день
Фінансова компанія мала правило: будь-яка зміна, що впливає на завантаження, вимагала протестованого шляху відновлення. Оперативна команда це вважала нудною. Інженери — повільною. Аудитори — заспокійливим. Усі закочували очі, поки це не знадобилось.
Під час MBR→GPT конвертації на критичній Windows VM конвертація пройшла успішно, але VM не завантажилася після перемикання на UEFI. Консоль гіпервізора показала UEFI shell prompt. Немає «Windows Boot Manager». Класична NVRAM-дивина.
Оскільки команда виконувала нудний чекліст, у них вже був WinRE як віртуальний CD та перевірено, що воно завантажується в UEFI-режимі. Вони змонтували ESP, запустили bcdboot і відновили файли завантаження за хвилини. Ніякого відновлення з бекапа, ніякої паніки, ніякого тривалого простою.
Урок: вам не потрібна геніальність, щоб вижити при проблемах із завантаженням. Потрібна підготовка і шлях назад до відомого-робочого. Чекліст здавався бюрократією, поки не став парашутом.
Питання та відповіді (FAQ)
1) Чи можу я конвертувати MBR у GPT без втрати даних?
Часто — так. Інструменти на кшталт Windows mbr2gpt і Linux sgdisk --mbrtogpt розроблені як недеструктивні щодо вмісту розділів. Але «недеструктивно» не означає «без ризику». Зробіть резервну копію або снапшот і переконайтеся, що можете відновити завантаження.
2) Чи мусить я переключатися з Legacy BIOS на UEFI після конвертації?
Для системних дисків Windows: так, якщо ви хочете, щоб він завантажувався. Для Linux: не обов’язково. Linux може завантажуватися в BIOS з GPT, якщо є BIOS boot partition і правильна інсталяція GRUB.
3) Який мінімальний розмір ESP?
Звична практика — 260 MiB для Windows, і 260–512 MiB для Linux, якщо ви плануєте зберігати кілька завантажувачів/ядер. Менший розмір може працювати, але ви економите копійки і ризикуєте доларами.
4) Чому mbr2gpt не проходить валідацію, якщо у мене «лише» кілька розділів?
Питання не лише в кількості; важливі макет і доступне місце для ESP, плюс типи розділів. OEM і розділи відновлення можуть виштовхнути вас за обмеження інструмента. Виправте макет і знову провалідуйте.
5) Чи можу я робити це на віддаленому сервері без доступу до консолі?
Можете. Але не повинні. Якщо прошивка не переключиться або записи завантаження зникнуть, вам знадобиться консоль для виправлення. Якщо абсолютно необхідно робити віддалено — організуйте позамережевий доступ або віддалений персонал перш ніж починати.
6) Чи підвищить конвертація в GPT продуктивність?
Ні в значущому сенсі. Це про обмеження ємності, гнучкість розділів і відповідність UEFI/Secure Boot. Якщо ви шукаєте продуктивність — дивіться налаштування файлової системи, планувальник IO, глибину черги і конфігурацію зберігання.
7) Що щодо RAID, Storage Spaces, LVM або mdraid?
Зазвичай все гаразд, але шлях завантаження має значення. При апаратному RAID ви конвертуєте логічний диск, що подається ОС. При LVM/mdraid зберігайте початкові сектори розділів і чітко вказуйте цілі для встановлення завантажувача.
8) Після конвертації Windows завантажується, але показує зміни «System Reserved» — чи хвилюватися?
Очікуйте деяке переформатування розділів: створюється ESP і файли завантаження переміщуються. Хвилюватись варто лише якщо дуже мало вільного місця або політики очікують конкретного макету розділів для відновлення. Після цього перевірте функції завантаження і відновлення.
9) Чи можу я конвертувати диск із даними з MBR у GPT без торкання завантаження?
Так, і це менш ризиковано. Все одно: ідентифікуйте правильний диск, відмонтуйте або виведіть його з ладу, якщо можливо, і переконайтеся, що додатки не залежать від MBR-підписів диска.
10) Чому прошивка іноді «забуває» мій Linux-запис завантаження?
Записи UEFI живуть у NVRAM. Оновлення прошивки, скидання або деякі інструменти безпеки можуть їх стерти або змінити порядок. Мітуючі заходи: fallback-завантажувач на ESP і задокументовані кроки відновлення.
Наступні кроки, які вам справді варто зробити
Якщо ви конвертуєте в продакшні, робота не закінчена, коли диск каже GPT. Вона закінчена, коли ви довели стійкість завантаження.
- Підтвердіть режим завантаження після конвертації: Windows має повідомляти UEFI; Linux має мати
/sys/firmware/efi, якщо ви перейшли на UEFI. - Зафіксуйте, що змінилося: стан дисків до/після, версія інструменту, яку ви використовували, і налаштування прошивки, які змінили. Майбутній ви цього не згадає.
- Протестуйте ще одне перезавантаження після будь-яких змін політик (Secure Boot, повторне включення BitLocker, оновлення ядра). Одне чисте завантаження заспокоює; два — доказ.
- Підтвердіть шлях відновлення: WinRE завантажується в UEFI; live ISO Linux бачить і монтує ESP/root; ви можете перевстановити завантажувач при потребі.
- Оновіть автоматизацію, щоб виявляти режим завантаження і стиль таблиці розділів, щоб не мати змішаного флоту, який поводиться по-різному під час патчів і комплаєнсу.
Конвертуйте обачно, перевіряйте безжально і ставтеся до завантаження як до системної залежності — не як до магічної властивості «Disk 0».