Восстановление UEFI загрузчика Windows

Опубликовано jeord -

Структура разделов на GPT диске

Рассмотрим, как должна выглядеть таблица разделов загрузочного жесткого диска с GPT разметкой на UEFI системе. Как минимум должны присутствовать следующие разделы:

  • Системный раздел EFI (EFI System Partition или ESP — Extensible Firmware Interface) – 100 Мб (тип раздела — EFI).
  • Резервный раздел Майкрософт – 128 Мб (тип раздела — MSR).
  • Основной раздел Windows – раздел с Windows.

Изображение удалено.

Это именно минимальная конфигурация. Эти разделы создает установщик Windows при установке системы на неразмеченный диск. Производители ПК или сами пользователи могут дополнительно создавать собственные разделы, содержащие, к примеру среду восстановления Windows в файле winre.wim (Windows RE), раздел с резервным образом системы от производителя (позволяет откатится к исходному состоянию компьютера), пользовательские разделы и т.д.

Раздел EFI c файловой системой Fat32 является обязательным на дисках с GPT разметкой на UEFI системах. Данный раздел, по аналогии с разделом System Reserved на дисках с MSR разметкой, хранит хранилище конфигурации загрузки (BCD) и ряд файлов, необходимых для загрузки Windows. При загрузке компьютера среда UEFI загружает с раздела EFI (ESP) загрузчик (EFI\Microsoft\Boot\bootmgfw.efi) и передает управление ему. Если этот раздел удален, загрузить ОС нельзя.

MSR раздел на GPT диске используется для упрощения управления разделами и используется для служебных операций (например, при конвертирования диска из простого в динамический). Это резервный раздел, которому не назначается код раздела. На этом разделе нельзя хранить данные пользователя. В Windows 10 размер MSR раздела – всего 16 Мб (в Windows 8.1 размер MSR раздела – 128 Мб), файловая система – NTFS.

Совет. Для установки Windows на компьютерах с поддержкой UEFI понадобится оригинальный DVD или специально подготовленная загрузочная флешка с Windows 7Win 8.1 / Serve 2012 или Win 10 / 2016.

Вручную создаем EFI и MSR разделы на GPT диске

Т.к. система корректно не загружается, нам понадобится установочный диск с Windows 10 (Win 8 или 7) или любой другой загрузочный диск. Итак, загружаемся с установочного диска и на экране начала установки нажимаем комбинацию клавиш Shift+F10. Должно открыться окно командной строки:

Изображение удалено.Запустим утилиту управления дисками и разделами:

Diskpart

Выведем список жестких дисков в системе (в этом примере он один, disk 0. Звездочка (*) в столбце Gpt означает, что диск использует GPT таблицу разделов).

list disk

Выберем этот диск:

Select disk 0

Выведем список разделов на диске:

List partition

В нашем примере в системе осталось всего 2 раздела:

  • Раздел MSR — 128 Мб
  • Системный раздел Windows – 9 Гб

Как мы видим, раздел EFI отсутствует (удален).

Изображение удалено.

Наша задача удалить оставшийся MSR раздел, так чтобы на диске осталось неразмечено как минимум 228 Мб свободного места (для разделов MSR и EFI). Удалить оставшийся раздел можно с помощью графической GParted или непосредственно из командной строки (именно так и поступим).

Важно! Здесь будьте максимально внимательными и не удалите случайно раздел с Windows или разделы с пользовательскими данными (если таковые имеются).

Выбираем раздел для удаления:

Select partition 1
И удаляем его:
Delete partition override

Убедимся, что остался только раздел с Windows:

List partition

Изображение удалено.Теперь мы можем вручную пересоздать разделы EFI и MSR. Для этого в контексте утилиты diskpart последовательно выполните команды:

Выбираем диск:

select disk 0

create partition efi size=100

Убеждаемся, что выбран раздел 100 Мб (звездочка напротив строки Partition 1):

list partition
select partition 1
format quick fs=fat32 label="System"
assign letter=G
create partition msr size=128
list partition
list vol

В нашем случае разделу с Windows уже назначена буква диска C:, если это не так, назначим ему букву следующим образом:

select vol 1
assign letter=C
exit

Изображение удалено.

Восстановление EFI загрузчика и BCD в Windows

После того, как вы создали минимальную структуру дисковых разделов для UEFI системы, можно переходить к копированию загрузочных файлов EFI на диск и созданию конфигурационного файла загрузчика (BCD).

Скопируем файлы среды EFI из каталога вашего диска, в который установлена ваша Windows:

mkdir G:\EFI\Microsoft\Boot

xcopy /s C:\Windows\Boot\EFI\*.* G:\EFI\Microsoft\Boot

Изображение удалено.Пересоздадим конфигурацию загрузчика Windows 10 / 7:

g:
cd EFI\Microsoft\Boot
bcdedit /createstore BCD
bcdedit /store BCD  /create {bootmgr} /d “Windows Boot Manager”
bcdedit /store BCD /create /d “Windows 7” /application osloader

Вы можете заменить надпись “My Windows 10”, на любую другую.

Совет. В том случае, если на разделе EFI были повреждены только файлы среды EFI, а сам раздел остался на месте, вы можете пропустить процесс пересоздания разделов с помощью diskpart. Хотя в большинстве случаев достаточно восстановить загрузчик по статье Восстановление EFI загрузчика в Windows 10 / 8.1. Вручную пересоздать BCD на обычных MBR+BIOS системах можно так.

Команда возвращает GUID созданной записи, в следующей команде этот GUID нужно подставить вместо {your_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}

Изображение удалено.Дальнейшие команды выполняются в контексте {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

Изображение удалено.

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

  1. Отключаем питание ПК.
  2. Отключаем (физически) жесткий диск.
  3. Включаем ПК, дожидаемся появления окна с ошибкой загрузки и снова его выключаем.
  4. Подключаем диск обратно.

Затем в нашем случае (тестирование проводилось на виртуальной машине VMWare с UEFI средой) пришлось добавить новый загрузочный пункт меню, выбрав файл EFI\Microsoft\Boot\bootmgrfw.efi на EFI разделе.

Изображение удалено.

В некоторых UEFI меню по аналогии нужно изменить приоритет загрузочных разделов.

После всех рассмотренных манипуляций Windows должна загрузиться корректно.

___________________
Взято с http://winitpro.ru/index.php/2015/06/04/vosstanovlenie-struktury-udalennyx-efi-razdelov-v-windows-7/

Теги