Mbr2gpt.exe – это встроенная консольная утилита Windows 10, которая позволяет сконвертировать диск с таблицей разделов MBR (Master Boot Record) в таблицу GPT (GUID Partition Table) без потери данных и без необходимости удаления существующих разделов на диске. Утилиту можно mbr2gpt использовать для конвертации таблицы разделов как в среде Windows PE (Windows Preinstallation Environment), так и непосредственно из запущенной Windows 10. С помощью утилиты можно изменить таблицу разделов с MBR на GPT как на диске с данными, так и на системном диске, на который установлена Windows 10 (с помощью параметра /allowFullOS).
Как работает утилита mbr2gpt?
Утилита mbr2gpt.exe входит в состав образа Windows 10, начиная с билда 1703 (Creators Update). При выполнении офлайн конвертации разметки диска из MBR в GPT, вы можете использовать mbr2gpt для билдов Windows 10 1507, 1511 и 1607 (и выше). Более ранние версии ОС (Windows 7, Windows 8.1) официально не поддерживаются.
В документации Mbr2gpt указано, что преобразования таблицы разделов диска в GPT, должны выполняться следующие условия:
- Текущая разметка диска MBR;
- На диске есть свободное место для размещения основной и дополнительной таблицы GPT в начале и конце диска;
- В MBR таблице должно быть не более 3 разделов, один из которых активный (дополнительные и логические разделы должны отсутствовать);
- В BCD конфигурации должна быть загрузочная запись, указывающая на раздел с Windows.
Логика работы утилиты Mbr2gpt при преобразовании диска из MBR в GPT следующая:
- Выполняется проверка совместимости диска для выполнения конвертации;
- Если на диске отсутствует системный раздел EFI (ESP), он создается за счет свободного места на одном из существующих разделов (если места недостаточно, появится сообщение об ошибке “
cannot find room for the EFI system partition
”); - Загрузочные файлы среды UEFI копируются на раздел EFI/ESP;
- К диску применяются метаданные и таблица разделов GPT;
- Обновляется конфигурация загрузчика BCD.
При смене таблицы разделов на GPT данные на имеющихся разделах не затираются.
Синтаксис утилиты MBR2GPT:
mbr2gpt /validate|convert [/disk:] [/logs:] [/map:=] [/allowFullOS]
- /validate – выполняется только проверка диска на возможность конвертации таблицы разделов (в том числе выполняется проверка, достаточно ли места для хранения основной и вторичной таблицы GPT: 16Кб + 2 сектора в начале диска и 16Кб + 1 сектор в конце);
- /convert – запуск преобразования диска, при условии успешной валидации;
- /disk:<disknumber> — задается номер диска, который нужно преобразовать в GPT. Если номер не задан, считается, что нужно сконвертировать системный диск (аналогично команде Diskpart:
select disk system
); - /logs: — указывается путь к каталогу, в который утилита MBR2GPT должна писать логи. Если путь не указан, используется каталог %windir%. Файлы журналов — diagerr.xml, diagwrn.xml, setuperr.log и setupact.log;
- /map:= позволяет указать дополнительное сопоставление таблицы разделов между MBR и GPT. К примеру /map:42={af9b60a0-1431-4f62-bc68-3311714a69ad}. Номер MBR раздела описывается в десятеричной системе, а GPT GUID содержит разделители. Можно указать несколько таких сопоставлений;
- /allowFullOS – по умолчанию утилита MBR2GPT запускается только в среде выполнения Windows PE. С помощью ключа allowFullOS можно запускать конвертацию системного раздела непосредествнно из запущенной Windows 10. Если не указывать этот параметр, при запуске из Windows, появится ошибка: “
ERROR: MBR2GPT can only be used from the Windows Preinstallation Environment. Use /allowFullOS to override
”.
Запуск конвертации таблицы разделов MBR в GPT без потери данных из Windows
Перед конвертацией таблицы разделов проверьте, возможно ли сконвертировать текущий системный MBR диск в GPT.
mbr2gpt.exe /disk:0 /validate /Logs:C:\logs /allowFullOS
MBR2GPT: Attempting to validate disk 0 MBR2GPT: Retrieving layout of disk MBR2GPT: Validating layout, disk sector size is: 512
Строка MBR2GPT: Validation completed successfully говорит о том, что такую конвертацию можно произвести. Строка MBR2GPT: Disk layout validation failed означает, что диск нельзя конвертировать, т.к. он не удовлетворяет условиям.
Еще одна распространённая ошибка “
Cannot find OS partition(s) for disk 0
” чаще всего она связана с использованием стороннего загрузчика, выбора неверного диска для конвертации. Также может помочь перенос файлов загрузчика Windows на системный диск (
bcdboot c:\Windows /f bios /s c:
), и проверьте корректность записей для среды WinRE в BCD (
reagentc /disable && reagentc /enable
).
Теперь можно выполнить преобразование таблицы разделов на системном диске:
mbr2gpt.exe /convert /disk:0 /allowFullOS
MBR2GPT will now attempt to convert disk 0. If conversion is successful the disk can only be booted in GPT mode. These changes cannot be undone! MBR2GPT: Attempting to convert disk 0 MBR2GPT: Retrieving layout of disk MBR2GPT: Validating layout, disk sector size is: 512 bytes MBR2GPT: Trying to shrink the system partition MBR2GPT: Trying to shrink the OS partition MBR2GPT: Creating the EFI system partition MBR2GPT: Installing the new boot files MBR2GPT: Performing the layout conversion MBR2GPT: Migrating default boot entry MBR2GPT: Adding recovery boot entry MBR2GPT: Fixing drive letter mapping MBR2GPT: Conversion completed successfully MBR2GPT: Before the new system can boot properly you need to switch the firmware to boot to UEFI mode!
Конвертация диска из из MBR в GPT из установленной Windows 10 выполняется за считанные секунды.
Чтобы компьютер мог загрузится с нового раздела EFI, нужно перенастроить компьютер для загрузки в режиме UEFI. Перезагрузите компьютер, в настройках UEFI измените режим загрузки Legacy (BIOS) на UEFI (Pure) и сохраните изменения.
Windows 10 должна успешно загрузиться. С помощью утилиты msinfo32.exe можно убедиться, что Windows 10 загрузился в режиме BIOS Mode=UEFI.
- Возможность создавать разделы более 2 Тб;
- Защита среды загрузки с помощью Secure Boot;
- Технология раннего запуска защиты от вредоносного ПО — ELAM (Early Launch Antimalware);
- Device Guard и Credential Guard в Windows 10 Enterprise;
- Безопасный запуск (Measured Boot).
Использование MBR2GPT при установке Windows 10
Вы можете использовать утилиту mbr2gpt при установке Windows. Вы создали загрузочную UEFI флешку, и пытаетесь установить Windows 10 на диск с MBR разметкой на компьютере с UEFI. В этом случае появится ошибка:
Установка Windows на данный раздел невозможно. На выбранном диске находится таблица MBR-разделов. В системах EFI Windows можно установить только на GPT-диск.
Windows cannot be installed to this disk. The selected disk has an MBR partition table. On EFI system, Windows can only be installed to GPT disks
Если у вас на MBR диске есть разделы с данными (он использовался в Legacy режиме или на компьютере с BIOS), и вы не хотите их удалять при смене таблицы разделов на GPT, можно прямо из окна установки Windows 10 выполнить конвертацию MBR диска в GPT.
- Нажмите сочетание клавиш
Shift+F10
на экране установки чтобы открыть командную строку среды WinPE; - Проверьте, можно ли сконвертировать диск в GPT-разметку. Выполните команду:
mbr2gpt /validate
- Если команда вернула “Validation completed successful”, можно начать конвертацию диска; При появлении ошибки “Failed to retrieve geometry for disk -1”, скорее всего у вас в компьютере подключено несколько дисков. Выполните команды
diskpart
->list disk
, определите номера дисков. Запустить проверку определенного диска можно командой:mbr2gpt /validate /disk:0
- Для запуска конвертации выполните команду
mbr2gpt /convert
или с указанием номера дискаmbr2gpt /convert /disk:0
- Утилита mbr2gpt создаст новый загрузочный раздел EFI system partition, скопирует на него загрузчик Windows и преобразует таблицу разделов в GPT (имеющиеся разделы будут сохранены). Вам останется только переключиться в окно установки, нажать кнопку Refresh в окне выбора дисков и начать установку Windows 10 на выбранный раздел.
Возможные проблемы после преобразования таблицы разделов из MBR в GPT
После конвертации таблицы разделов с помощью mbr2gpt чаще всего проблемы возникают с BitLocker и Hyper-V (доступны в Pro и Enterprise редакциях Windows 10).
Если после конвертации диска при включении BitLocker появляется ошибка “
The system cannot find the file specified
”, скорее всего проблема со средой восстановления Windows Recovery Environment (WinRE).
Попробуйте переименовать файл
%windir%\System32\Recovery\ReAgent.xml
и запустить BitLocker (новый файл ReAgent.xml будет создан автоматически).
Также возможна ошибка при запуске виртуальных машин Hyper-V:
Virtual machine could not be started because the hypervisor is not running.
Для исправления ошибки нужно включить поддержки автозапуска Hyper-V в загрузчике BCD:
BCDEDIT /Set {current} hypervisorlaunchtype auto
Если вы попытаетесь конвертировать диски со предудущими версиями Windows (7 или 8.1), утилита выдаст ошибку “
mbr2gpt cannot install new boot files
”. В этом случае рекомендуется сначала выполнить апгрейд до Windows 10 и только после этого конвертировать таблицу разделов.