- Записки IT специалиста
- Настраиваем программный RAID на UEFI-системах в Windows
- Конфигурация разделов Windows-систем с UEFI
- Подготовка к созданию программного RAID
- Создание программного RAID
- Настройка загрузчика EFI и его копирование на второй раздел
- Convert MBR to GPT in Windows Server 2012 R2
- Convert to GPT option greyed out in Server 2012 Disk Management
- How to convert MBR to GPT for non-system disk
- Convert MBR to GPT in Server 2012 for system disk
- Server 2012 mbr2gpt.exe command prompt
- ① Precondition to run MBR2GPT cmd on Server 2012 R2:
- ② Common issue and corresponding solution
- ③ Expand System Reserved partition (optional)
- ④ How to convert MBR to GPT in Server 2012 for system disk
Записки IT специалиста
Технический блог специалистов ООО»Интерфейс»
- Главная
- Настраиваем программный RAID на UEFI-системах в Windows
Настраиваем программный RAID на UEFI-системах в Windows
Программный RAID пользуется заслуженной популярностью, позволяя легко создавать отказоустойчивые дисковые конфигурации в недорогих системах, отличаясь простотой создания и управления. Но с переходом современных систем на UEFI появились некоторые особенности, касающиеся процесса загрузки, которые следует понимать и принимать во внимание. В противном случае отказоустойчивость может оказаться мнимой и при отказе одного из дисков вы просто не сможете загрузить систему.
Данная инструкция может кому-то показаться сложной, действительно, для создания программного RAID на UEFI-системах требуется довольно много подготовительных действий. Также определенное количество операций придется выполнить и при замене отказавшего диска, но это тема для отдельной статьи. В связи с этим встает вопрос выбора между программным RAID и встроенным в материнскую плату, т.н. fake-raid.
Если брать вопрос производительности, то сегодня он абсолютно неактуален, тем более что вся обработка данных так или иначе осуществляется силами CPU. Основным аргументов в пользу встроенного RAID служит простота его использования, но за это приходится платить совместимостью. Собранные таким образом массивы будут совместимы только со своим семейством контроллеров. К счастью, сейчас уже нет того зоопарка, который был еще лет 10 назад, но все равно, собранный на базе платформы Intel массив вы не запустите на AMD-системе.
Также вы можете столкнуться с тем, что несмотря на то, что массив собрался, система не может загрузиться, так как не имеет в своем составе драйверов для новой версии контроллера, это может быть актуально для старых ОС на новых аппаратных платформах. Кроме того, все операции по замене дисков, расширению и ресинхронизации массива вам придется делать в оффлайн режиме, загрузить систему с массива в состоянии обслуживания вы не сможете.
Программные массивы лишены этих недостатков, все что им требуется — это поддержка со стороны ОС. Операции обслуживания также можно выполнять без прерывания работы системы, естественно принимая во внимание тот факт, что производительность дисковой системы в это время будет снижена. Но есть и обратная сторона медали, динамические диски Windows имеют ряд неприятных особенностей, например, ограниченные возможности по управлению дисковым пространством и обслуживанию. Штатные инструменты имеют только базовые функции, а из коммерческого софта работу с данным типом дисков обычно поддерживают только дорогие корпоративные версии.
Также есть другая особенность, вытекающая из архитектуры программных RAID массивов, если некритически отказал тот жесткий диск, с которого осуществляется загрузка, то система не будет автоматически загружена со второго, исправного HDD, вы получите ошибку (или BSOD) и вам потребуется вручную изменить порядок загрузки для восстановления работы системы.
Но несмотря на определенные недостатки и ограничения, программный RAID на основе динамических дисков пока остается единственной возможностью обеспечить отказоустойчивость системы, не прибегая к аппаратным средствам.
Конфигурация разделов Windows-систем с UEFI
Прежде всего рассмотрим стандартную конфигурацию разделов, автоматически создаваемую Windows с UEFI, приведенный ниже пример соответствует последним версиям Windows 10 и Windows Server 2016/2019, у более ранних версий Windows разметка может несущественно отличаться.
Windows RE — NTFS раздел со средой восстановления, в последних версиях Windows имеет размер в 500 МБ, при создании ему присваиваются специальные атрибуты, препятствующие назначению буквы диска и удалению раздела через консоль управления дисками. В тоже время данный раздел не является необходимым для работы системы, среда восстановления может находиться на системном диске и даже может отсутствовать. Вынос среды восстановления на отдельный раздел преследует две цели: возможность работы на зашифрованных системах и защита от некорректных действий пользователя.
EFI — раздел специального типа с файловой системой FAT32, который содержит загрузчик, вызываемый микропрограммой UEFI. Данный раздел должен находиться в основной таблице разделов и не может быть расположен на динамическом диске. В Windows он ошибочно называется зашифрованным, имеет критическое значение для нормальной работы системы. В современных Windows-системах имеет размер в 100 МБ.
MSR (Microsoft System Reserved) — служебный раздел с файловой системой NTFS, является обязательным для GPT-разметки, которая не позволяет использовать скрытые сектора диска, используется для служебных операций встроенного и стороннего ПО, например, при преобразовании диска в динамический. Является скрытым и не отображается в оснастке управление дисками. Его размер в современных системах — 16 МБ.
Windows — самый обычный раздел с системой, фактически под ним следует понимать любую пользовательскую разметку. Никаких особенностей он в себе не таит.
Производители ПК могут добавлять дополнительные разделы, например, с резервным образом системы для отката к заводским настройкам или собственными инструментами восстановления, чаще всего они имеют специальные GPT-атрибуты, как и у раздела Windows RE.
Подготовка к созданию программного RAID
Будем считать, что вы уже установили операционную систему на один из дисков, в нашем примере будет использоваться Windows Server 2019 установленный на виртуальной машине. Если мы откроем оснастку Управление дисками, то увидим примерно следующую картину:
Первым идет раздел Windows RE, размером в 499 МБ, а за ним раздел EFI, который ошибочно именуется шифрованным. Но как мы говорили выше, данная оснастка не дает полного представления о структуре разметки, поэтому запустим утилиту командной строки diskpart и получим список разделов:
Первая команда запускает утилиту, вторая выбирает первый диск (диск 0) и третья выводит список разделов.
Здесь присутствуют все существующие на диске разделы, включая MSR, размером в 16 МБ. Теперь нам нужно воспроизвести аналогичную разметку на втором жестком диске. Будем считать, что вы еще не вышли из утилиты diskpart, поэтому выберем второй жесткий диск (диск 1) и очистим его:
Внимание! Данная команда полностью удалит все данные с указанного диска. Убедитесь, что вы выбрали нужный диск и что он не содержит никаких данных!
Преобразуем диск в GPT:
При преобразовании на диске будет автоматически создан MSR раздел, нам он пока не нужен, поэтому удалим его командой:
После чего убедимся, что диск не содержит разделов.
Теперь можно создавать разметку. Разделы должны идти в том же порядке и с тем же типом, что и на первом диске. Поэтому первым создадим раздел восстановления, он не является обязательным и не влияет на работу системы. В принципе его можно даже не форматировать, но во избежание каких-либо недоразумений в дальнейшем мы рекомендуем создать раздел с теми же атрибутами, что и оригинальный раздел восстановления.
На всякий случай явно выберем диск и создадим на нем раздел размером в 499 МБ, который отформатируем в NTFS:
Затем зададим ему нужные GPT-атрибуты:
Идентификатор de94bba4-06d1-4d40-a16a-bfd50179d6ac задает тип раздела как Windows RE, а атрибут 0x8000000000000001 препятствует назначению буквы диска и помечает раздел как обязательный для работы системы, во избежание его удаления из оснастки управления дисками.
Следующим шагом создадим раздел EFI:
Если все сделано правильно, то вы должны получить следующую схему разметки, которая будет полностью повторять (за исключением системного раздела) разметку первого диска.
После чего систему обязательно следует перезагрузить.
Создание программного RAID
Прежде всего преобразуем диски в динамические, это можно сделать в оснастке Управление дисками:
или утилитой diskpart:
Затем добавим зеркало к системному диску через графический интерфейс
или с помощью diskpart:
После чего следует обязательно дождаться ресинхронизации данных, в зависимости от скорости и объема дисков это может занять некоторое время.
Теперь при загрузке появится меню с выбором раздела, загрузиться можно с обоих, но не будем забывать, что загрузчик по-прежнему присутствует только на первом диске и при смене порядка загрузки в BIOS загрузиться со второго диска не удастся.
Настройка загрузчика EFI и его копирование на второй раздел
Снова запустим утилиту diskpart и присвоим буквы EFI разделам на дисках, но перед этим уточним расположение нужного нам раздела:
Как видим интересующий нас раздел имеет номер 2, выберем его и присвоим букву:
Повторим аналогичные манипуляции со вторым диском:
Выйдем из утилиты diskpart (команда exit) и перейдем в EFI раздел первого диска:
Для просмотра текущих точек загрузки выполните:
Вывод команды покажет нам единственную запись диспетчера загрузки (на текущем EFI-разделе) и две записи загрузчика Windows, на каждом из зеркальных томов. Нам потребуется создать второй экземпляр диспетчера загрузки:
Из вывода данной команды нам потребуется идентификатор, скопируем его для использования в следующей команде.
В фигурных скобках должен быть указан идентификатор, полученный на предыдущем шаге.
После чего экспортируем BCD-хранилище загрузчика:
И скопируем содержимое EFI-раздела на второй диск:
Ошибка при копировании активного экземпляра BCD-хранилища — это нормально, собственно поэтому мы и сделали его экспорт, вместо того, чтобы просто скопировать. Затем переименуем копию хранилища на втором диске:
и удалим ее с первого:
Осталось удалить буквы дисков EFI-разделов, для этого снова запустим diskpart:
Теперь можно перезагрузить систему и в загрузочном меню BIOS выбрать Windows Boot Manager 2, затем Windows Server — вторичный плекс — это обеспечит использование EFI-загрузчика и системного раздела второго диска. Если вы все сделали правильно — загрузка будет удачной. Таким образом у нас будет полноценное зеркало системного раздела на динамических дисках в UEFI-системе.
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Или подпишись на наш Телеграм-канал:
Convert MBR to GPT in Windows Server 2012 R2
by Allen, Updated on: December 8, 2020
This article introduces how to convert MBR to GPT in Windows Server 2012 R2 without losing data. 2 Ways to change MBR disk to GPT with mbr2gpt cmd and NIUBI partition editor.
Convert to GPT option greyed out in Server 2012 Disk Management
Hard disk drives become much bigger, to the servers that use hardware RAID arrays such as RAID 5, the virtual disk may be over 10TB. If you build a RAID 5 array with 3 3TB hard disks, the virtual disk in Disk Management is 6GB. If this disk is initialized as MBR style, you can only use 2TB space, the remaining 4TB disk space is shown as Unallocated, this space cannot be used to create new volume or expand another one. To solve this problem, you need to convert MBR disk to GPT.
To convert MBR to GPT in Windows Server 2012 R2, there are several ways. Windows has built-in Disk Management and diskpart command tool to help convert disk type, but you must delete all partitions in the MBR disk before converting.
In diskpart command prompt window, type help convert GPT and you’ll see the syntax, note and example of convert command.
In Disk Management console, when you right click the front of a MBR disk, there is also an option, but the «Convert to GPT Disk» option is grayed out if there’s a partition in it.
With MBR2GPT.exe (Microsoft provided) and NIUBI Partition Editor, you can convert MBR to GPT without losing data. Before starting, make sure the MBR disk that you want to convert is data disk or system disk, because the method is different.
How to convert MBR to GPT for non-system disk
If there’s only data in the MBR disk, it is extremely easy to convert it to GPT without losing data, only several clicks are needed.
Steps to convert MBR to GPT in Windows Server 2012 R2 without operating system:
- Download NIUBI Partition Editor, right click the front of the MBR disk and select «Convert to GPT Disk«.
- Simply click Yes to confirm, then a pending operation is added.
- Click Apply on top left to execute, done. (All operations before clicking Apply only work in virtual mode.)
Watch the video how to convert disk from MBR to GPT in Windows Server 2012:
Convert MBR to GPT in Server 2012 for system disk
If there’s operating system in the MBR disk, it’s a bit complicated, because all system files must keep intact and the OS must boot correctly after converting to GPT. There are some 3rd-party software that claim to be able to convert MBR disk to GPT with operating system in it, but few can ensure 100% system bootable. If you want to convert a system disk from MBR to GPT, it is always suggested to run MBR2GPT.exe which is provided by Microsoft.
Server 2012 mbr2gpt.exe command prompt
MBR2GPT.exe is running from command prompt. On Windows Server 2019 and Windows 10 (1703 and later versions), you can convert MBR to GPT with this command in Windows. But to run mbr2gpt on Server 2012 (and R2), you need bootable media with Windows Preinstallation Environment (Windows PE).
To convert disk with MBR2GPT command, your disk partition should meet the requirements, otherwise, the conversion can’t be successful. But don’t worry, before any change to the disk is made, MBR2GPT validates the layout and geometry of the selected disk, if any of these checks fails, the conversion will not proceed and an error message will be returned. Your disk partition won’t be damaged.
① Precondition to run MBR2GPT cmd on Server 2012 R2:
- There should be no Logical drive on this MBR disk.
- There should be 3 or less Primary partitions on this MBR disk.
- One of the partitions is set as active and is the system partition.
- All partitions on this MBR disk are recognized by Windows, that means there are no EXT2/EXT3 and other types of Linux or Mac partitions.
② Common issue and corresponding solution
«Validating layout, disk sector size is: 512 bytes Disk layout validating failed for disk 0», «MBR2GPT: Conversion failed» . This is the most common error message while converting MBR disk to GPT in Windows Server 2012 and other versions. If you received such error, check your disk partition configuration again.
In most of Windows 2012 server system disk, there are System Reserved, C: (for OS) and D drive. If all these partitions are Primary , you can convert this disk successfully. If your disk partition layout doesn’t meet the requirements, follow the methods to modify:
- If there’s a Logical drive , convert it to Primary (without data loss).
- If there are 4 Primary partitions, follow the steps to move one to another disk.
- Not an issue to most of servers, if there’s no Active partition, you can select one and set as Active with NIUBI Partition Editor.
- Not an issue to most of servers, if there’s not supported partition, you have to move files and delete this partition.
③ Expand System Reserved partition (optional)
For Windows to remain bootable after the conversion, an EFI system partition (ESP) must be in place. MBR2GPT will shrink the System Reserved partition first. If there is not enough free space in System Reserved partition, MBR2GPT will shrink C drive, then the EFI partition will be created behind C drive after converting to GPT disk.
When right clicking the EFI partition in Disk Management, all options are grayed out. However, it doesn’t matter to NIUBI Partition Editor, because it can shrink, extend and move EFI partition. If you want to make the EFI partition on the left of C drive, Download NIUBI Partition Editor and follow the method in the video to expand the System Reserved partition (it’s enough to 1GB ):
④ How to convert MBR to GPT in Server 2012 for system disk
As I said above, MBR2GPT.exe is built in Windows Server 2019 and Windows 10, it is not included in any other Windows versions. To run MBR2GPT in Server 2012 (R2), you need Windows Preinstallation Environment and run command prompt from it.
Detailed steps to convert mbr to gpt in Windows Server 2012 (R2):
Step 1: Download Windows Server 2019 ISO and create bootable DVD or USB flash drive with Windows built-in or third-party tool. If you use VMware, Hyper-V virtual machine, you just need to select this ISO file and boot from it.
Step 2: Boot from this bootable media, simply click Next in first Windows Setup window, then click Repair your computer on th bottom left corner of next window.
Step 3: Click Troubleshoot in next window, then click Command Prompt .
Step 4: Just input 2 commands to complete converting.
As you see, the command window reports conversion completed successfully.
- /validate — Instructs MBR2GPT.exe to perform only the disk validation steps and report whether the disk is eligible for conversion. If validating failed, you cannot continue converting.
- /convert — Instructs MBR2GPT.exe to perform the disk validation and to proceed with the conversion if all validation tests pass.
- /disk: — Specifies the disk number of MBR disk to be converted to GPT. If not specified, the system disk is used, so this option is not used here.
Because I extended the System Reserved partition, restart server and boot to UEFI, as you see, disk 0 is converted to GPT and the EFI partition is created on left side of C drive.
Besides converting MBR to GPT for Server 2012, NIUBI Partition Editor helps you convert partition between Primary and Logical, convert NTFS to FAT32 without losing data. It also helps you shrink, extend, move, merge, copy, wipe partition and much more.