В этой статье мы рассмотрим, как изменить режим загрузки Windows на компьютере с BIOS (Legacy) на UEFI + Secure Boot без переустановки операционной системы и без потери данных. Так как в режиме Legacy компьютеры (виртуальные машины) могут загружаться только с дисков с таблицей разделов MBR, при переключении на режим загрузки UEFI нужно будет сконвертировать таблицу разделов диска на GPT (GUID).
Прежде, чем приступать к конвертации Windows, установленной на Legacy BIOS устройстве в режиме UEFI, проверьте, что ваше окружение соответствует следующим условиям:
- Прошивка материнской платы компьютера поддерживает режим загрузки UEFI. На текущий момент включен режим совместимости с BIOS (проверьте это в настройках BIOS/UEFI устройства и в спецификации к материнке).
- На компьютере установлена x64 версия Windows, с версией как минимум Windows 10 1703 (или Windows Server 2016)
- На компьютере не используется двойной режим загрузки нескольких ОС (Dual-Boot)
- Шифрование Bitlocker для системного диска отключено
- На системном диске используется таблица разделов MBR (количество разделов не более трех)
- На диске достаточно свободного места для создания загрузочного EFI раздела (размер по-умолчанию 100 Мб)
Откройте командную строку PowerShell и проверьте, что компьютер загружается в режиме BIOS (Legacy):
$env:firmware_type
С помощью PowerShell проверьте, что на диске используется таблица разделов MBR и создано не более 3 primary разделов:
Get-Disk
Get-Disk |Get-Partition
Начиная с Windows 10 1703 доступна встроенная утилита Mbr2gpt, позволяющая сконвертировать таблицу разделов диска из MBR в GPT без потери данных. Конвертацию можно выполнить даже в онлайн режиме.
Сначала протестируйте, возможно ли сконвертировать MBR таблицу разделов системного диска в GPT:
mbr2gpt /validate /allowfullos
Если конвертация MBR в GPT возможна, утилита вернет:
MBR2GPT: Validation completed successfully
Если появится ошибка
Disk layout validation failed for disk 0
:
- Проверьте, что на вашем MBR диск создано не более 3 основных (primary) разделов
- Расширенные (Extended), логические (Logical) и динамические разделы должны отсутствовать
- На диске есть как минимум 500 Мб свободного места для создания системных разделов и размещения основной и резервной таблиц разделов GUID
Другая возможная ошибка
Cannot find OS partition(s) for disk 0
указывает на то, что в конфигурации загрузчика BCD отсутствует запись на загрузку в среде восстановлений Wingows. Проверьте это:
reagentc /info
Windows RE status: Disabled
Как включить среду восстановления WinRE описано по ссылке.
После того, как все предварительные проверки пройдены, запустите конвертацию системного диска из MBR в GPT непосредственно из запущенной Windows:
MBR2GPT.EXE /convert /allowfullos
После завершения работы команды, проверьте что таблица разделов была изменена на GPT:
get-disk
Затем нужно перезагрузить компьютер, войти в меню настроек BIOS/UEFI отключить режим Legacy BIOS и переключиться в режиме UEFI+Secure Boot.
На физическом компьютер, чтобы войти в настройки UEFI, нужно при загрузке нажать клавишу
F2
,
Delete
или
F1
. Название и местоположение пункта меню, которые обеспечивает загрузку в режиме Legacy BIOS, отличается в зависимости от прошивки и версии материнской платы. Возможные названия пунктов — CSM (Compatibility Support Module), Legacy Mode, CSM Boot, Legacy OS и т.д. Измените его на UEFI.
Если это виртуальная машина VMware, нужно в настройках ВМ в разделе Boot Options переключиться в режим EFI и включить опцию Secure Boot.
После загрузки проверьте, что используется режим UEFI+ Secure Boot:
Confirm-SecureBootUEFI
Если режим Secure Boot отключен, проверьте что включен режим UEFI командой:
$env:firmware_type