В этой статье1https://winitpro.ru/index.php/2014/03/20/repair-bootloader-windows-8-uefi/ мы разберемся, как восстановить загрузчик Windows 10 на современном компьютере, на котором используется интерфейс UEFI вместо BIOS и таблица разделов диска GPT (вместо MBR). Повреждение загрузчика Windows может быть вызвано установкой второй ОС (Dual Boot — конфигурация), некорректными действиями “специалиста” при восстановлении системы после сбоя, удалением “лишних” данных на скрытых разделах, вирусом-вымогателем и рядом других причин.
Данная статья описывает пошаговую процедуру восстановления поврежденного или удаленного загрузчика ОС в Windows 10 и Windows 8.1 на компьютерах, которые работают в нативном (не legacy) режиме UEFI. Инструкция должна помочь, если Windows не загружается из-за отсутствия или повреждения файла с конфигурацией загрузки EFI\Microsoft\Boot\BCD.
Ошибка загрузки The boot configuration data for your PC is missing: EFI\Microsoft\Boot\BCD
Компьютер с UEFI Windows 10, установленной в нативном режиме, при повреждении EFI загрузчика Windows не сможет загрузится. При этом при попытке загрузки появляется BSOD (синий экран смерти) с ошибкой:
The boot configuration data for your PC is missing or contains errors
File :\EFI\Microsoft\Boot\BCD
Error code: 0xc000000f
или
Error code: 0xc000014c
В русской версии Windows ошибка может быть такая:
Ваш компьютер нуждается в ремонте
Данные конфигурации загрузки для вашего ПК отсутствуют или содержат ошибки Файл:\EFI\Microsoft\Boot\BCD
Код ошибки: 0xc000000f
Эта ошибка говорит о повреждении или даже полном удалении конфигурации загрузчика Windows — Boot Configuration Data (BCD). Если вы попытаетесь восстановить загрузчик на UEFI компьютере с помощью утилиты bcdedit , вы получите такую ошибку:
The boot configuration data store could not be found.
The requested system device cannot be found.
Дело в том, что если Windows 10 установлена в нативном режиме UEFI на GPT диск, то EFI загрузчик Windows 10 (Windows Boot Manager) хранит программу управления загрузкой и конфигурацию BCD на отдельном скрытом разделе EFI (размером 100 мб с файловой системой FAT32). Утилита bcdedit не видит этот EFI раздел, и соответственно не может управлять конфигурацией загрузчика на нем.
Если при загрузке Windows появляется только черный экран с надписью “Operating System not found”, скорее всего у вас полностью удален загрузчик Windows. Следуйте инструкции по ссылке.
Автоматическое восстановление загрузчика Windows
Процедура автоматического восстановления загрузчика, зашитая в среду восстановления Windows (WinRe), как правило, в таких случаях бессильна. Но попробовать все-же стоит:
- Загрузитесь с диска загрузочного диска, диска восстановления или установочной флешки с Windows 10;
- На экране установки нажмите кнопку Восстановление системы;
- Затем выберите пункт Поиск и устранение неисправностей -> Восстановление при загрузке и выберите ОС, загрузчик которой нужно попытаться восстановить;
- Но скорее всего результат будет отрицательный: Восстановление при загрузке не удалось восстановить компьютер
Ручное восстановление загрузчика Windows с помощью BCDBoot
Перейдем к процедуре ручного восстановления EFI загрузчика Windows на компьютере с UEFI.
Для восстановления конфигурации загрузчика (BCD), вам нужно загрузить компьютер с оригинального установочного диска с Windows (диска восстановления или специально подготовленной загрузочной флешки). После загрузки в среде восстановления нужно открыть окно командной строки: выберите Восстановление системы -> Диагностика -> Командная строка (System Restore -> Troubleshoot -> Command Prompt).
Командную строку также можно запустить, если у вас под рукой есть только установочный диск с Windows. Для этого достаточно на самом первом этапе установки Windows (при выборе языка и раскладки клавиатуры) нажать комбинацию клавиш Shift+F10 (или Shift+Fn+F10 на некоторых моделях ноутбуков).
В открывшейся командной строке выполните запустите утилиту управления дисками, набрав команду:
diskpart
Выведите список дисков в системе:
list disk
На этом этапе очень важно определить тип таблицы разделов на диске, на котором установлена Windows: MBR или GPT. Дело в том, что EFI загрузчик используется только на дисках с GPT разметкой.
Если у диска в столбце Gpt указана звездочка ( *
), тогда используется таблица разделов GPT, если нет – MBR.
Если с помощью diskpart вы определили, что на вашем диске используется GPT разметка, следуйте дальнейшим шагам инструкции по восстановлению загрузчика.
Если у вас разметка MBR – данная инструкция не применима к вашему компьютеру. Скорее всего у вас компьютер с BIOS, или в настройках UEFI включен режим совместимости Legacy/Compatibility Support Module/CSM.
На MBR дисках загрузчик хранится на отдельном разделе System Reserved, а не на EFI разделе (ни в коем случае не конвертируйте таблицу разделов MBR в GPT, пока не исправите загрузчик!!) Используйте другую инструкцию по восстановлению BCD загрузчика на MBR (Master Boot Record) диске.
Выберите диск, на котором установлена ваша Windows (если жесткий диск в системе один, его индекс должен быть равен 0):
sel disk 0
Выведите список томов и разделов в системе:
list partition
list volume
В нашем примере видно, что загрузочный раздел 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 или MSR раздел, их можно пересоздать вручную. Смотрите инструкцию по восстановлению удаленного загрузочного EFI и MSR разделов.
Назначьте скрытому 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\
На этом этапе многие рекомендуют выполнить следующие команды, которые должны перезаписать загрузочную запись раздела, найти установленные Windows и добавить их в BCD:
bootrec /fixboot
bootrec /scanos
bootrec /rebuildbcd
или даже:
bootrec /FixMbr
(восстановление MBR записи для GPT диска выглядит странным)Все эти команды применимы только для дисков с MBR. Если ваш компьютер загружается в UEFI режиме, то на нем обязательно используется таблица разделов GPT (как ращ наш случай). Поэтому при запуске команд
bootrec
вы увидите ошибку:access is denied
Для исправления загрузочных записей на EFI разделе нужно использовать утилиту
BCDBoot
.Утилита BCDBoot позволяет восстановить файлы загрузчика на системном разделе, скопировав их системного каталога на разделе с Windows. Конфигурация загрузчика BCD пересоздается с помощью шаблона %WINDIR%\System32\Config\BCD-Template.
С помощью команды attrib
снимите атрибуты скрытый, read-only и системный с файла BCD:
attrib BCD -s -h -r
Удалите текущий файл с конфигурацией BCD, переименовав его (так вы сохраните старую конфигурацию в качестве резервной копии):
ren BCD BCD.bak
С помощью утилиты bcdboot.exe нужно пересоздать хранилище BCD, скопировав файлы среды загрузки UEFI в загрузочный раздел из системного каталога:
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.
Совет. В случае использования русской версии Windows 10 команда будет другая:
bcdboot C:\Windows /L ru-ru /S M: /F ALL
Теперь, если выполнить команду bcdedit, вы увидите следующую картину:
В секции диспетчера загрузки Windows (Windows Boot Manager) должна появится запись, указывающая на полный путь к файлу управления загрузкой UEFI. В этом примере он находится на разделе 2 ( partition=\Device\HarddiskVolume2
), путь \EFI\MICROSOFT\BOOT\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
- Failure when initializing library system volume – проверьте, что вы используете правильный FAT32 раздел с EFI (возможно у вас из несколько) .
Перезагрузите компьютер, отключите загрузочный диск. Если вы все сделали правильно, в выборе устройств загрузки должен появиться пункт Windows Boot Manager в котором можно выбрать загрузку нужной ОС. Ваш EFI загрузчик и конфигурация BCD успешно восстановлены!
- 1https://winitpro.ru/index.php/2014/03/20/repair-bootloader-windows-8-uefi/