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
Новые компы могут быть только в с UEFI, а у вас старая система, которую не хочется переустанавливать. Такой вот лёгкий апгрейд получается.
Спасибо тебе добрый человек. Искал способ конвертации своего системного 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. Вообще если загружаться с одного ДВД привода ничего не получается, я поменял на другой ДВД (хотя это тот же самый) и все получиломь
C:\Users\SERG>mbr2gpt.exe /disk:0 /validate /Logs:C:\logs /allowFullOS
EnablePrivilege: AdjustTokenPrivileges failed (Error:0x514)
ERROR: Failed to enable backup/restore privileges.
Check that you are running in a process with elevated privileges.
Приветствую, не просветите чего с этим делать?
Запускать cmd с правами админа.
Если есть, возможо что-то с привелегиями в локальной политике накручено. Я бы попробовал запустить из-под встроенного администратора Windows