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 и только после этого конвертировать таблицу разделов.
Hello dear freinds!
В последний заголовок — «Возможные проблемы» вкралась маленькая опечатка — «Bitlosker» Битслоскер:))
p.s. ctrl+enter — не отлавливается.
offtop: diskpart / convert разве не умеет так делать? он же и из GPT может MBR сделать.
Спс, поправил!
Перед запуском diskpart convert вы очищаете существующие разделы командой clean. Без этого смена таблицы разделов из MBR в GPT или наоборот не пройдет.
Спасибо за статью!
Просто копировал ваши команды (с адаптацией под мою конфигурацию), и сконвертировал системный диск из MBR в GPT мгновенно и без проблем. Но по непонятной для меня причине, новый раздел GPT диска размером 50MB под названием System Reserved получил букву диска (у меня E:) и стал виден в эксплорере и доступен, например, для случайного повреждения. И нет, это не старый MBR раздел, как я вначале подумал, а новый. Букву я убрал с помощью AOMEI, и все раборает пормально.
Однако при желании можно той-же бесплатной AOMEI этому разделу присвоить букву, после чего его можно редактировать или удалить стандартными средствами Виндовс 10. Возможно кому-либо эта информация окажется полезной.
А для чего бывает надо конвертировать?
Размер диска более 2 Тб, переход на UEFI с legacy BIOS
Спасибо тебе добрый человек. Искал способ конвертации своего системного SSD без потери данных. Пытался использовать сторонние приложения. Но там данная функция только в платных версиях. Знакомые «компьютерщики» и программисты говорили, что поможет только переустановка системы. И в момент установки нужно поменять mbr на gpt. А оказывается в Windows 10 есть встроенная утилита для конвертации. Всё загрузилось без проблем. Всё это делал для активации параметра UEFI для AMD SAM (Re-size BAR Options). Ещё раз спасибо!
При вводе команды mbr2gpt/validate/disk:0 выдаёт invalid argument: /validate/disk:0
Пробелы между параметрами есть?
mbr2gpt.exe /disk:0 /validate
чувак отличный материал. Мне помогло. Спасибо!
В вашем случае никакие скрины помочь не смогут. Кретинизм не лечиться.
C:\WINDOWS\system32>mbr2gpt.exe /disk:0 /validate /Logs:C:\logs /allowFullOS
Cannot initialize logs. Error: 0x00000000
Так в итоге файлы будут удалены. У меня диск разделен с и д. На д есть фотки они удалятся?
Утилита конвертирует без удаления разделов и данных. но если данные критично ценны, я бы перестраховался и скопировал их куда-нибудь еше.
А если я хочу сменить загрузку с Legacy на UEFI и мне наплевать на данные, то я могу просто в загрузочной среде удалить диск , и при создании вновь система автоматически его конвертирует?
Если диск не очищать от таблдицы разделов, придется вручную на этапе установки Windows выполнить конвертацию таблицы разделов:
Shift + F10
diskpart
list disk
select disk 0
clean
convert gpt
exit
Установщик Windows сам создаст разделы для среды EFI на gpt диске
Обновил комп и понадобилось преобразовать системный диск из MBR в GPT. После конвертации системного SSD с Виндой из MBR в GPT система при загрузке бесконечно грузится(порой даже обои экрана ввода ключа мелькают). При загрузке с другого диска я вижу что партициям на SSD не присвоены никакие буквенные имена( типа D:\). При этом если загружаюсь с флешки (Сергея Стрельца) то все диски поименованы. Что с этим делать, пока я окончательно всё не угробил?
Я бы попробовал пересобрать BCD загрузчкик. Но сначала нужно бы понять: вы переключили в настройках BIOS/UEFI режим загрузки? По идее у вас сначала должен был стоять CSM или Legacy и вы должны сменить его на Native UEFI (попробыйте загрузку с включенным/отключенным Secure boot).
Спасибо за подсказку. Опробовал все методы из этой статьи , но ничего не изменилось. Только в программе DMDE теперь видно что в загрузчике появилась информация о том что я это делал.
При написании строки:
C:\WINDOWS\system32>mbr2gpt.exe /disk:0 /validate /Logs:C:\logs /allowFullOS
Выходит ошибка:
Cannot initialize logs. Error: 0x00000000
Проверьте, доступен ли путь C:\logs, не указывается ли русская С в пути.
У меня в биосе показывало почему-то один жёсткий диск и два двд привода (хотя он у меня один) один с пометкой uefi. Вообще если загружаться с одного ДВД привода ничего не получается, я поменял на другой ДВД (хотя это тот же самый) и все получиломь