Зачем преобразовывать MBR в GPT
Самый очевидный и штатный вариант перехода на GPT — создать новый GPT-диск, перенести на него данные, а затем переключить приложение на новый том.
Но в рабочей инфраструктуре это не всегда удобно:
- потребуется дополнительное дисковое пространство;
- копирование большого объёма данных может занять много времени;
- может потребоваться остановка сервисов;
- иногда приходится изменять пути и другие зависимости приложения.
Поэтому возникает задача изменить стиль разметки существующего диска без удаления его разделов.
Практический пример с Exchange Server
Рассмотрим ситуацию, с которой я столкнулся в рабочей инфраструктуре.
Есть два сервера Exchange:
- EX01-2019 — диски с файловой системой ReFS и разметкой GPT;
- EX02-2019 — диски с файловой системой ReFS, но часть из них имеет разметку MBR.
На дисках размещены базы почтовых ящиков Exchange и журналы транзакций.
Само по себе различие MBR/GPT на томах с базами не мешает работе DAG, однако с точки зрения эксплуатации удобнее придерживаться одинаковой конфигурации серверов. Кроме того, GPT снимает ограничения MBR и позволяет в дальнейшем увеличивать объём дисков значительно выше 2 ТБ.
Поэтому задача следующая: преобразовать диски с данными EX02-2019 из MBR в GPT, сохранив существующие разделы и данные.
Определяем MBR-диски через PowerShell
Сначала необходимо точно определить номера нужных дисков.
Запустите PowerShell от имени администратора и выполните:
Get-Disk | Format-Table -AutoSize
Команда покажет физические диски, доступные Windows, их номера, размеры, состояние и стиль разметки.
Пример:
Number Friendly Name Serial Number HealthStatus OperationalStatus Total Size Partition Style
------ ------------- ------------- ------------ ----------------- ---------- ---------------
0 VMware Virtual disk 6000c2942616aa2963634da26033453c Healthy Online 100 GB GPT
1 VMware Virtual disk 6000c293da57f12401f74e726632f733 Healthy Online 10 GB MBR
VMware Virtual disk 6000c29717ae754ecefc7e67de3c5603 Healthy Online 10 GB GPT
2 VMware Virtual disk 6000c29a9c74d6c59e1573b1ef609671 Healthy Online 10 GB MBR
VMware Virtual disk 6000c297c3d1fbcd15c9b3e48049d755 Healthy Online 10 GB GPT
Нас интересует последний столбец:
Partition Style
В нашем случае необходимо преобразовать два диска со значением MBR. На сервере EX02-2019 они используются для:
- DB01 Data;
- DB01 Logs.
Какие способы преобразования MBR в GPT существуют
В интернете можно найти множество программ для преобразования MBR в GPT. Но для нашего сценария требования достаточно специфические:
- Windows Server;
- диски с данными, а не системный диск;
- файловая система ReFS;
- необходимо сохранить существующие разделы;
- нежелательно переносить данные на другой диск.
В процессе решения задачи я попробовал несколько вариантов:
- Gptgen;
- MBR2GPT;
- DiskGenius.
Посмотрим, что получилось.
Попытка преобразования через Gptgen
Первым вариантом была утилита gptgen.
Для диска 1 использовалась команда:
gptgen.exe -w \\.\physicaldrive1
Но преобразование завершилось ошибкой:
gptgen.exe: Partition table converter v1.2.1
Unable to auto-determine the block size of the disk.
Please enter the block size by hand to continue.
>65536
Block read failed, check permissions!
В моём случае gptgen не смог корректно работать с диском, поэтому использовать этот вариант для рабочего Exchange Server я не стал.
Почему MBR2GPT здесь не подходит
Следующим вариантом была встроенная утилита Microsoft MBR2GPT.exe.
Попробуем выполнить:
mbr2gpt /convert /disk:1 /allowFullOS
Получаем:
MBR2GPT will now attempt to convert disk 1.
If conversion is successful the disk can only be booted in GPT mode.
These changes cannot be undone!
MBR2GPT: Attempting to convert disk 1
MBR2GPT: Retrieving layout of disk
MBR2GPT: Validating layout, disk sector size is: 512 bytes
Disk layout validation failed for disk 1
На первый взгляд может показаться, что проблема заключается только в структуре разделов. Но в нашем случае есть более важный момент.
MBR2GPT предназначен для преобразования системного диска Windows, чтобы существующую установку Windows можно было перевести с MBR на GPT без удаления данных, а затем загрузить компьютер в режиме UEFI.
Наши же диски:
- не являются системными;
- не содержат установленную Windows;
- используются для баз и журналов Exchange.
Поэтому MBR2GPT для этой задачи не подходит.
Преобразуем MBR в GPT с помощью DiskGenius
Для нашего сценария я остановился на DiskGenius.
Утилита позволяет преобразовать существующую таблицу разделов MBR в GPT без предварительного удаления разделов.
В этом примере использовалась версия:
DiskGenius DGEngSetup5431342
Скачать программу лучше с официального сайта разработчика.
Преобразуем первый диск
Запустите DiskGenius от имени администратора.
Найдите нужный MBR-диск и ещё раз сверьте его размер и структуру разделов с информацией, полученной через Get-Disk.
После этого:
- щёлкните правой кнопкой мыши по нужному диску;
- выберите Convert To GUID Partition Table.
После выбора операции DiskGenius покажет новую разметку диска, но изменения ещё необходимо применить.
Проверьте, что для нужного диска теперь указан стиль GPT.
Нажмите:
Save All
DiskGenius запросит подтверждение операции.
Ещё раз убедитесь, что выбран правильный диск, и нажмите Yes.
Преобразуем второй диск
В нашем случае необходимо выполнить такую же операцию для второго MBR-диска.
Выбираем его и нажимаем:
Convert To GUID Partition Table
Проверяем выбранный диск и нажимаем Save All.
Подтверждаем выполнение операции.
В результате оба диска были преобразованы из MBR в GPT с сохранением существующих разделов.
Проверяем результат через PowerShell
Не стоит ограничиваться информацией, которую показывает DiskGenius. После завершения операции проверим стиль разделов средствами Windows.
Запустите PowerShell от имени администратора:
Get-Disk | Format-Table -AutoSize
После преобразования в нашем случае получаем:
Number Friendly Name Serial Number HealthStatus OperationalStatus Total Size Partition Style
------ ------------- ------------- ------------ ----------------- ---------- ---------------
0 VMware Virtual disk 6000c2942616aa2963634da26033453c Healthy Online 100 GB GPT
1 VMware Virtual disk 6000c293da57f12401f74e726632f733 Healthy Online 10 GB GPT
VMware Virtual disk 6000c29717ae754ecefc7e67de3c5603 Healthy Online 10 GB GPT
2 VMware Virtual disk 6000c29a9c74d6c59e1573b1ef609671 Healthy Online 10 GB GPT
VMware Virtual disk 6000c297c3d1fbcd15c9b3e48049d755 Healthy Online 10 GB GPT
Обратите внимание на столбец:
Partition Style
Для преобразованных дисков теперь отображается:
GPT
Это подтверждает, что Windows распознала новую таблицу разделов.
Что проверить после преобразования
Для обычного диска с данными я рекомендую проверить:
- доступность всех томов;
- сохранение букв дисков;
- файловую систему;
- доступность файлов и каталогов;
- журнал событий Windows;
- работу приложений, использующих этот диск.
В нашем случае с Exchange дополнительно необходимо проверить состояние баз и DAG.
Например:
Get-MailboxDatabaseCopyStatus *
После операции все базы и их копии должны находиться в ожидаемом состоянии.
MBR2GPT или DiskGenius — что использовать
Эти инструменты решают разные задачи, поэтому напрямую сравнивать их не совсем правильно.
| Сценарий | Подход |
|---|---|
| Системный MBR-диск с установленной Windows | В первую очередь рассмотреть MBR2GPT |
| Переход загрузки Windows с Legacy BIOS на UEFI | MBR2GPT |
| Обычный MBR-диск с данными | MBR2GPT для такого сценария не предназначен |
| Новый или пустой диск | Создать GPT штатными средствами Windows |
| Существующий data-диск, разделы которого нужно сохранить | Перенос данных на новый GPT-диск либо специализированный инструмент после резервного копирования |
Если данные можно временно перенести, наиболее консервативный вариант — создать новый GPT-диск штатными средствами Windows и вернуть на него данные.
Если же необходимо сохранить существующие разделы на месте, приходится использовать инструмент, способный изменить таблицу разделов без их удаления. Именно такой сценарий мы рассмотрели с DiskGenius.
FAQ
Можно ли преобразовать MBR в GPT без удаления файлов?
Да, существуют инструменты, способные изменить таблицу разделов с сохранением существующих разделов. Однако такая операция не является безрисковой, поэтому перед преобразованием необходимо иметь актуальную резервную копию.
Можно ли использовать MBR2GPT для обычного диска с данными?
MBR2GPT предназначен прежде всего для преобразования системного диска с установленной Windows с последующим использованием UEFI. Для обычных data-дисков это не универсальный инструмент конвертации.
Почему MBR ограничивает размер диска примерно 2 ТБ?
Ограничение связано с адресацией секторов в классической MBR. При стандартном логическом секторе 512 байт доступное адресное пространство составляет примерно 2 ТиБ. GPT использует другую структуру и позволяет работать с гораздо большими дисками.
Можно ли преобразовать диск с ReFS?
В рассмотренном практическом сценарии DiskGenius был использован для преобразования таблицы разделов дисков Exchange с томами ReFS. Сама операция меняет стиль таблицы разделов, однако перед её выполнением резервная копия остаётся обязательной.
Нужно ли форматировать диск после преобразования?
При успешном преобразовании существующей таблицы разделов специализированным инструментом форматирование не требуется. В рассмотренном случае существующие разделы и данные были сохранены.
Как проверить, что диск действительно стал GPT?
В PowerShell выполните Get-Disk и проверьте столбец Partition Style. Для преобразованного диска должно отображаться значение GPT.
Можно ли конвертировать рабочий диск Exchange без резервной копии?
Я бы этого не делал. Изменение таблицы разделов рабочего диска с базами или журналами Exchange потенциально может привести к потере доступа к данным. Перед операцией необходимо иметь проверенную резервную копию и возможность восстановления.
Заключение
В этом примере нам требовалось привести диски двух серверов Exchange к единой конфигурации. На EX02-2019 диски с базой и журналами имели разметку MBR, тогда как на втором сервере использовалась GPT.
Сначала мы определили нужные диски через PowerShell, затем проверили несколько вариантов преобразования. Gptgen в нашей конфигурации завершился ошибкой, а MBR2GPT оказался неподходящим инструментом, поскольку рассматриваемые диски являются обычными дисками с данными, а не системным диском Windows.
В итоге для практического преобразования использовали DiskGenius. После изменения таблицы разделов существующие разделы сохранились, а Windows стала определять оба диска как GPT.
Главное правило при выполнении подобных операций на рабочем сервере — не воспринимать фразу «без потери данных» как гарантию. Перед изменением разметки обязательно должна существовать актуальная и проверенная резервная копия.
Также смотрите статью Как преобразовать GPT в MBR без потери данных.