
В этой статье мы расскажем вам, как вручную восстановить случайно удаленный загрузочный раздел EFI Windows на компьютере с UEFI. Этот простой способ ручного восстановления загрузочных разделов EFI и MSR Windows позволит вам загрузить операционную систему после случайного форматирования или удаления раздела EFI. Данное руководство актуально для всех версий Windows (включая Windows 10 и 11, а также Windows Server 2022/2019/2016).
Предположим, что загрузочный раздел EFI на компьютере с UEFI (не BIOS) был случайно удален или отформатирован (например, когда вы пытались переместить или удалить раздел восстановления OEM). В результате Windows 11/10/8.1/7 загружается некорректно и циклически предлагает выбрать загрузочное устройство (Reboot and select proper boot device or insert boot media in selected boot device and press a key
). Далее мы покажем, как восстановить загрузку Windows после удаления раздела системного диска EFI (с помощью диспетчера загрузки и конфигурации BCD) без переустановки ОС.
Разделы жесткого диска на основе UEFI/GPT в Windows
Рассмотрим, как должна выглядеть стандартная таблица разделов загрузочного жесткого диска с таблицей разделов GUID (GPT) на компьютере с UEFI. У вас должны быть как минимум следующие разделы:
- Системный раздел EFI (ESP — Extensible Firmware Interface) — 100 МБ (тип раздела — EFI);
- Зарезервированный раздел Microsoft — 16 МБ (тип раздела — MSR);
- Основной раздел Windows (раздел, содержащий Windows).
Это минимальная конфигурация. Эти разделы создаются программой установки Windows во время чистой установки ОС на неформатированный диск.
Производители компьютеров или пользователи могут создавать дополнительные разделы, содержащие, например, среду восстановления Windows (Windows RE) в файле winre.wim, раздел с резервной копией образа системы, предоставляемой производителем комплектующих (позволяет откатиться к исходному состоянию компьютера), пользовательские разделы и т. д.
Раздел EFI с файловой системой FAT32 является обязательным разделом на GPT-дисках на компьютерах с UEFI и имеет GUIDc12a7328-f81f-11d2-ba4b-00a0c93ec93b
. По умолчанию размер раздела EFI составляет 100 МБ (на дисках расширенного формата с секторами по 4 КБ размер раздела EFI составляет 260 МБ).
Раздел MSR (Microsoft System Reserved) на GPT-диске используется для упрощения управления разделами и применяется для служебных операций (например, при преобразовании диска из базового в динамический). Это раздел с меткой GUID e3c9e316-0b5c-4db8-817d-f92df00215ae
, при этом буква диска не назначается. В этом разделе не могут храниться пользовательские данные. В Windows 10 и 11 размер раздела MSR составляет всего 16 МБ (в Windows 8.1 размер MSR составляет 128 МБ), а файловая система — NTFS. Раздел MSR должен находиться между системным разделом EFI (ESP) и основным разделом операционной системы Windows.
[основной раздел с файловой системой NTFS содержит установленную Windows, программы и пользовательские данные. На диске также могут быть дополнительные разделы с данными.
Отсутствие раздела EFI в Windows
В разделе EFI (аналогичном разделу System Reserved на дисках с таблицей разделов MBR) хранится хранилище конфигурации загрузки (BCD) и несколько файлов, необходимых для загрузки Windows. Когда компьютер загружается, среда UEFI загружает файл загрузчика (EFI\Microsoft\Boot\bootmgfw.efi) из раздела EFI System (ESP) и передает ему управление. Исполняемый файл bootmgfw.efi запускает программу Диспетчер загрузки Windows, который загружает данные конфигурации из BCD. После загрузки BCD Windows начинает загружаться с помощью файла winload.efi.
Когда компьютер с UEFI загружается, он ищет системный раздел EFI на всех подключенных дисках. Если раздел EFI удален или поврежден, вы не сможете загрузить Windows с этого диска. Появится ошибка UEFI could not locate \efi\boot\bootx64.efi – not found
или появится пустая оболочка UEFI Shell с предложением выбрать загрузочное устройство.
Кроме того, вы не сможете загрузить Windows, если раздел EFI отформатирован в файловой системе NTFS. Даже при выполнении чистой установки Windows вы получите ошибку:
Windows detected that the EFI system partition was formatted as NTFS. Format the EFI system partition as FAT32, and restart the installation.
Как создать системные и MSR-разделы EFI на GPT-диске?
Поскольку Windows работает некорректно, нам понадобится установочный диск Windows 10/11 (см. как создать загрузочный USB-накопитель UEFI с установочными файлами Windows) или любой другой загрузочный/спасательный носитель. Загрузитесь с установочного носителя и нажмите кнопку Shift+F10 на первом экране установки. Должно открыться окно командной строки.
Запустите инструмент управления дисками и разделами:
Diskpart
Перечислите жесткие диски, подключенные к компьютеру:
list disk
В нашем примере имеется только один диск 0 подключен. Звездочка (*) в столбце GPT означает, что на диске создана таблица разделов GUID.
*
в столбце GPT, значит, таблица разделов диска — MBR. Вы должны убедиться, что ранее загружали компьютер в родном режиме UEFI (в противном случае выполнение этой инструкции бессмысленно). Если вы уверены, что тип таблицы разделов изменился, возможно, стоит преобразовать диск из MBR в GPT.Выберите этот диск:
Select disk 0
Отображение списка разделов на диске:
List partition
В моем примере на диске осталось только три раздела:
- Раздел MSR — 16 МБ
- Системный раздел Windows — 30 ГБ
- Раздел восстановления — 541 МБ
Как видно, раздел EFI (может называться System) отсутствует (был удален).
Наша задача — удалить оставшийся раздел MSR, чтобы на диске осталось не менее 116 МБ нераспределенного пространства (для разделов MSR и EFI). Вы можете удалить этот раздел с помощью графического инструмента Gparted или непосредственно из командной строки (именно так мы и поступим).
Выберите раздел для удаления:
Select partition 1
И удалите его:
Delete partition override
Убедитесь, что остался только основной раздел Windows размером 30 ГБ и раздел восстановления (в нашем случае):
List partition
Теперь вы можете вручную создать разделы EFI и MSR для размещения файлов загрузчика Windows. Для этого выполните поочередно следующие команды в контексте diskpart.
Выберите диск:
select disk 0
Создайте раздел EFI размером 100 МБ:
create partition efi size=100
Убедитесь, что раздел размером 100 МБ выбран в diskpart (звездочка перед Partition 1). Отформатируйте раздел EFI в файловой системе FAT32 и назначьте ему букву диска:
list partition
select partition 1
format quick fs=fat32 label="System"
assign letter=G
Теперь вам нужно создать раздел MSR размером 16 МБ (для Windows 10 или 11).
create partition msr size=16
list partition
list vol
В моем случае буква диска C: уже назначена основному разделу Windows. Если это не так, назначьте ему букву диска следующим образом:
select vol 1
assign letter=C
exit
Закройте diskpart:
exit
При создании раздела EFI или MSR с помощью diskpart может возникнуть ошибка:
No usable free extent could be found. It may be that there is insufficient free space to create a partition at the specified size and offset. Specify different size and offset values or don't specify either to create the maximum sized partition. It may be that the disk is partitioned using the MBR disk partitioning format and the disk contains either 4 primary partitions, (no more partitions may be created), or 3 primary partitions and one extended partition, (only logical drives may be created).
Это означает, что на диске недостаточно нераспределенного (свободного) пространства для нового раздела. В этом случае необходимо уменьшить размер основного раздела Windows (в нашем примере это том 1) на 128 МБ:
select volume 1
shrink desired=128 minimum=128
Затем создайте разделы EFI и MSR, как описано выше.
Восстановление загрузчика EFI и Windows BCD на диске GPT
После создания минимальной структуры разделов диска GPT на компьютере с UEFI можно приступить к копированию загрузочных файлов EFI в новый раздел и созданию файла конфигурации загрузчика (BCD).
Теперь воспользуйтесь командой bcdboot.exe инструмент для копирования файлов среды загрузки UEFI из системного каталога Windows в загрузочный раздел EFI и воссоздания конфигурации загрузчика BCD. Выполните команду:
bcdboot c:\windows /s G: /f UEFI
Boot files successfully created.
В результате на разделе EFI будет создана предопределенная структура каталогов. На системном томе EFI должны присутствовать следующие файлы:
- \EFI\Microsoft\Boot\bootmgfw.efi
- \EFI\Microsoft\Boot\bootmgr.efi
- \EFI\Microsoft\Boot\memtest.efi
- \EFI\Microsoft\Boot\BCD
- \EFI\Microsoft\Boot\Fonts\wgl4_boot.ttf
- \EFI\Boot\bootx64.efi
Укажите текущую конфигурацию загрузчика Windows Boot Manager. В разделе {bootmgr} должна появиться запись, указывающая на раздел, содержащий файл управления загрузкой UEFI (\EFI\MICROSOFT\BOOT\bootmgfw.efi
). В нашем примере это partition=G
, или partition=\Device\HarddiskVolume2
(если вы не назначили букву диска для раздела EFI).
Затем загрузчик UEFI должен передать управление файлу Windows Boot Loader \Windows\system32\winload.efi
на partition=C
:
Перезагрузите компьютер (используйте wpeutil reboot
для перезагрузки из среды WinPE) и извлеките загрузочный USB-накопитель.
Скопируйте загрузочные файлы среды EFI из каталога диска, на котором установлена Windows:
mkdir G:\EFI\Microsoft\Boot
xcopy /s C:\Windows\Boot\EFI\*.* G:\EFI\Microsoft\Boot
Перестройте запись Boot Configuration Data (BCD) в диспетчере загрузки Window:
g:
cd EFI\Microsoft\Boot
bcdedit /createstore BCD
bcdedit /store BCD /create {bootmgr} /d “Windows Boot Manager”
bcdedit /store BCD /create /d “My Windows 10” /application osloader
Команда возвращает GUID созданной записи BCD. Используйте этот GUID вместо {ваш_гид} в следующей команде:
bcdedit /store BCD /set {bootmgr} default {your_guid}
bcdedit /store BCD /set {bootmgr} path \EFI\Microsoft\Boot\bootmgfw.efi
bcdedit /store BCD /set {bootmgr} displayorder {default}
Следующие команды bcdedit выполняются в контексте {default}:
bcdedit /store BCD /set {default} device partition=c:
bcdedit /store BCD /set {default} osdevice partition=c:
bcdedit /store BCD /set {default} path \Windows\System32\winload.efi
bcdedit /store BCD /set {default} systemroot \Windows
exit
Если Windows не загрузилась правильно с первого раза, попробуйте выполнить следующие действия:
- Выключите устройство;
- Отключите (физически) жесткий диск;
- Включите компьютер, дождитесь появления окна с ошибкой загрузки (An Operating System not found) и снова выключите его;
- Подключите диск обратно.
Если это не помогло, загрузитесь с установочного USB-накопителя и выполните команду:
bootrec /rebuildbcd
Перезагрузите компьютер
В нашем случае (тестирование проводилось на виртуальной машине VMWare с прошивкой UEFI) нам пришлось добавить новый пункт в меню загрузки, выбрав опцию EFI\Microsoft\Boot\bootmgrfw.efi файл на разделе EFI.
В некоторых меню UEFI, по аналогии, необходимо изменить приоритет загрузочных разделов.
После всех этих действий Windows должна загрузиться правильно.
В некоторых случаях после воссоздания разделов EFI и MSR и восстановления загрузчика BCD Windows может перестать завершать работу плавно. Если у вас возникла такая проблема, ее можно решить, отключив функцию быстрого запуска в Windows:
- Откройте Параметры электропитания в Панели управления
powercfg.cpl
; - Выберите Выберите, что делает кнопка питания;
- Нажмите на кнопку Изменить настройки, которые в данный момент недоступны кнопку и отключить кнопку «Включить быстрый запуск» в разделе «Настройки выключения».