В Windows 10 v1703 (Creators Update) появилась новая консольная утилита mbr2gpt.exe, которая позволяет преобразовать диск с таблицей разделов в стиле MBR (Master Boot Record) в таблицу разделов в стиле GPT (GUID Partition Table) без потери данных. Утилита может выполняться как в среде предустановки Windows PE (Windows Preinstallation Environment), так и непосредственно в среде установленной Windows 10.

1. Описание команды MBR2GPT.

1.1. Формат командной строки:

C:\ MBR2GPT.exe /validate|convert [/disk:diskNumber] [/logs:logDirectory] [/map:source=destination] [/allowFullOS]

1.2. Параметры командной строки:

  • /validate — проверка возможности конвертации диска из MBR в GPT без выполнения самой конвертации.
  • /convert — проверка возможности конвертации диска из MBR в GPT и выполнение конвертации, если это возможно.
  • /disk:diskNumber — номер диска для выполнения преобразования MBR в GPT. Если номер не указан, то выполняется конвертация системного диска.
  • /logs:logDirectory — каталог для ведения журналов. По умолчанию каталог определяется значением переменной окружения %windir% ( обычно – C:\Windows ).
  • /map:source=destination — соответствие типов разделов в стиле MBR и GPT. Этот параметр необходим для того чтобы правильно конвертировать типы разделов, где требуется явно указать, что раздел в стиле MBR с типом равным XX должен быть преобразован в раздел в стиле GPT с GUID равным {YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY}. Например, параметр /map:42={af9b60a0-1431-4f62-bc68-3311714a69ad} задает соответствие разделов с данными динамических томов в стиле MBR , разделам в стиле GUID. Параметр /map может присутствовать в командной строке многократно.
  • /allowFullOS — разрешение на выполнение конвертации в среди текущей ОС Windows. По умолчанию, утилита mbr2gpt.exe должна выполняться в среде предустановки Windows PE (Windows Preinstallation Environment).

2. Примеры использования MBR2GPT.

2.1. Отобразить подсказку по использованию:

C:\ mbr2gpt.exe /?

2.2. Проверить возможность конвертации системного диска MBR в GPT в среде текущей ОС Windows:

C:\ mbr2gpt.exe /validate /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

Последняя строка говорит о возможность успешной конвертации данного диска. В случае, когда по каким либо причинам, конвертация диска невозможна, отображается сообщение:

Disk layout validation failed for disk 0

2.3. Проверить возможность конвертации диска с номером 1 в среде текущей ОС Windows с записью журналов в каталог C:\Users\User:

C:\ mbr2gpt.exe /validate /allowFullOS /disk:1

Файлы журналов имеют имена diagerr.xml, diagwrn.xml, setupact.log, setuperr.log .Номер диска можно определить с помощью команды DISKPART. Запустить diskpart.exe и выполнить команду list disk.

2.4. Выполнить конвертацию диска 0 в среде текущей Windows 10 с записью журналов в каталог C:\Users\User:

C:\ mbr2gpt /convert /disk:0 /allowFullOS /logs:C:\Users\User

Процесс конвертации диска из MBR в GPT сопровождается информационными сообщениями:

MBR2GPT will now attempt to convert disk 0. - утилита выполнит попытку конвертировать диск 0 из MBR в GPT

If conversion is successful the disk can only be booted in GPT mode. - предупреждение о том, что если конверсия будет успешной, то загрузка будет возможна только в режиме GPT

These changes cannot be undone! - предупреждение о том, что обратное преобразование ( из GPT в MBR ) невозможно

MBR2GPT: Attempting to convert disk 0 - попытка конвертировать диск 0

MBR2GPT: Retrieving layout of disk - получение сведений о структуре разделов диска

MBR2GPT: Validating layout, disk sector size is: 512 bytes - определение возможности конвертации

MBR2GPT: Trying to shrink the OS partition - выполняется попытка уменьшить текущие разделы ОС для размещения двух новых разделов (системного EFI (ESP) и резервного MSR), необходимых для нового диспетчера загрузки и новой среды восстановления Windows.

MBR2GPT: Creating the EFI system partition - создание системного раздела EFI для диспетчера загрузки.

MBR2GPT: Installing the new boot files - установка новых файлов для загрузки в режиме EFI

MBR2GPT: Performing the layout conversion - преобразование разделов

MBR2GPT: Migrating default boot entry - миграция загрузчика

MBR2GPT: Adding recovery boot entry - добавление загрузки новой среды восстановления (Windows RE)

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! - предупреждение о том, что для загрузки Windows в настройках UEFI материнской платы необходимо установить режим загрузки UEFI mode

Дополнительную информацию о процессе и результатах преобразования дисков MBR в GPT можно получить из файлов журналов diagerr.xml, diagwrn.xml, setupact.log, setuperr.log

3. Требования к диску для преобразования из MBR в GPT.

Диск, преобразуемый из MBR в GPT, должен соответствовать следующим требованиям:

  • Диск является загрузочным и системным с таблицей разделов в стиле MBR.
  • На диске имеется неразмеченная область, размер которой достаточен для сохранения таблиц GPT (16 КБ + 2 сектора в начале диска и 16 КБ + 1 сектор в конце). Если это требование не выполняется, программа пытается уменьшить размер существующих разделов, чтобы обеспечить выполнение данного условия.
  • В таблице разделов MBR есть максимум 3 основных раздела, и один из них является активным системным.
  • На диске отсутствуют какие-либо дополнительные или логические разделы.
  • Хранилище данных конфигурации загрузки (BCD) в системном разделе содержит стандартную запись операционной системы, указывающую на системный раздел.
  • Каждый том, которому присвоена буква, может быть идентифицирован по идентификатору GUID.
  • Все разделы диска распознаются системой как имеющие тип MBR, или для них выполнено сопоставление с помощью параметра командной строки /map

Если какое-либо из перечисленных условий не удовлетворяется, преобразование диска не выполняется и программа сообщает об ошибке. Более подробная информация о выполненных проверках и обнаруженных ошибках содержится в файлах журнала утилиты:

setupact.log – в этом файле содержится подробная информация о выполненных проверках и их результатах.

setuperr.log — в этом файле содержатся только сообщения об ошибках.