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

  Windows

Перейдем к процедуре ручного восстановления EFI загрузчика Windows на компьютере с UEFI.

Для восстановления конфигурации загрузчика (BCD), вам нужно загрузить компьютер с оригинального установочного диска с Windows (диска восстановления или специально подготовленной загрузочной флешки). После загрузки в среде восстановления нужно открыть окно командной строки: выберите Восстановление системы -> Диагностика -> Командная строка (System Restore -> Troubleshoot -> Command Prompt).Командную строку также можно запустить, если у вас под рукой есть только установочный диск с Windows. Для этого достаточно на самом первом этапе установки Windows (при выборе языка и раскладки клавиатуры) нажать комбинацию клавиш Shift+F10 (или Shift+Fn+F10 на некоторых моделях ноутбуков).

Коммандная строка восстановление системы Windows 8

В открывшейся командной строке выполните запустите утилиту управления дисками, набрав команду:

diskpart

Выведите список дисков в системе:

list disk

На этом этапе очень важно определить тип таблицы разделов на диске, на котором установлена Windows: MBR или GPT. Дело в том, что EFI загрузчик используется только на дисках с GPT разметкой.

Если у диска в столбце Gpt указана звездочка (*), тогда используется таблица разделов GPT, если нет – MBR.

какая таблица разделов на диске gpt или mbr?

Если с помощью diskpart вы определили, что на вашем диске используется GPT разметка, следуйте дальнейшим шагам инструкции по восстановлению загрузчика.

Выберите диск, на котором установлена ваша Windows (если жесткий диск в системе один, его индекс должен быть равен 0):

sel disk 0

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

list partition
list volume
загрузочный efi и msr разделы в windows10

В нашем примере видно, что загрузочный раздел EFI (его можно определить по размеру 100 Мб, и файловой системе FAT32, чаще всего его метка — System EFI) имеет индекс Partition2 (он же Volume 5 с меткой Hidden). Основной раздел с установленной системой Windows (это может быть, как Windows 10, так и Windows 8.1) — volume 2 с файловой системой NTFS.  Также обязательно должен быть MSR (Microsoft System Reserved) раздел размером 16 мб в Windows 10 ( или 128 Мб в Windows 8.1).

Назначьте скрытому EFI разделу произвольную букву диска (например, M:):

select volume 5
assign letter M:

Должна появится строка, свидетельствующая об успешном назначении буквы диска разделу EFI:

DiskPart successfully assigned the drive letter or mount point.

Завершите работу с diskpart:

exit

Перейдите в каталог с загрузчиком на скрытом разделе:

cd /d m:\efi\microsoft\boot\

В данном случае M: это буква диска, присвоенная разделу EFI чуть выше. Если каталог \EFI\Microsoft\Boot\ отсутствует (ошибка The system cannot find the path specified), попробуйте следующие команды:

cd /d M:\Boot\

или

cd /d M:\ESD\Windows\EFI\Microsoft\Boot\

С помощью команды attrib снимите атрибуты скрытый, read-only и системный с файла BCD:

attrib BCD -s -h -r

Удалите текущий файл с конфигурацией BCD, переименовав его (так вы сохраните старую конфигурацию в качестве резервной копии):

ren BCD BCD.bak

С помощью утилиты bcdboot.exe нужно пересоздать хранилище BCD, скопировав файлы среды загрузки UEFI в загрузочный раздел из системного каталога:
для win 10

bcdboot C:\Windows /l ru-ru /s M: /f ALL

для win 8.1

bcdboot C:\Windows /l en-us /s M: /f ALL
где,
  • C:\Windows – путь к каталогу на диске, на котором установлена ваша Windows 10;
  • /f ALL – означает что необходимо скопировать файлы среды загрузки Windows, включая файлы для компьютеров с UEFI или BIOS (теоретическая возможность загружаться на EFI и BIOS системах). Чтобы скопировать только EFI загрузчик, используйте команду /f UEFI.
    /l en-us — тип системной локали. По умолчанию используется en-us — английский язык (США)
  • /с – эта новая опция BCDBoot в Windows 10, которая позволяет перезатереть имеющиеся загрузочные записи при создании нового хранилища (в том числе debugsettings). Используйте этот параметр, чтобы игнорировать старые настройки и создать полностью чистую конфигурацию BCD загрузчика;
  • /v – используется для включения режима вывода подробной информации BCDBoot.

Теперь, если выполнить команду bcdedit, вы увидите следующую картину:

В секции диспетчера загрузки Windows (Windows Boot Manager) должна появится запись, указывающая на полный путь к файлу управления загрузкой UEFI. В этом примере он находится на разделе 2 (partition=\Device\HarddiskVolume2), путь \EFI\MICROSOFT\BOOT\BOOTMGFW.EFI.

bcdedit вывод конфигурации windows boot manager файл bootmgfw.efi

Возможные ошибки:

  • BFSVC Error : Could not open the BCD template store.  status – [c000000f] – проверьте правильность введенной команды. Возможно у вас установлена локализованная версия Windows. В этом случае нужно правильно указать код языка системы (local language code). Утилита bcdboot копирует файлы шаблонов BCD из каталога \Windows\System32\Config. Если BCD шаблоны в этой папке повреждены или удалены, попробуйте проверить целостность системных файлов в офлайн режиме с помощью утилиты sfc (понадобится установочный диск с Windows – диск D:):  sfc /scanow /OFFBOOTDIR=C:\ /OFFWINDIR=D:\WINDOWS
  • BFSVC Error: Error copying boot files Last Error = 0x570 – попробуйте выполнить проверку диска с помощью команды CHKDSK M: /F
  • BFSVC Error: Failed to set element application device.  Status = [c000000bb] – проверьте с помощью chkdsk.exe разделы с EFI и Windows 10. Проверьте, что снят атрибут скрытый и системный у файла BCD. Удалите его: attrib -s -h \EFI\Microsoft\Boot\BCD
    del \EFI\Microsoft\Boot\BCD
    bcdboot ошибка BFSVC Error
  • Failure when initializing library system volume – проверьте, что вы используете правильный FAT32 раздел с EFI (возможно у вас из несколько) .

Перезагрузите компьютер, отключите загрузочный диск. Если вы все сделали правильно, в выборе устройств загрузки должен появиться пункт Windows Boot Manager в котором можно выбрать загрузку нужной ОС. Ваш EFI загрузчик и конфигурация BCD успешно восстановлены!