В этой статье мы разберемся, как восстановить загрузчик Windows 10 или 11 на современном компьютере, на котором используется UEFI интерфейс вместо классического BIOS и таблица разделов диска GPT (вместо MBR). Повреждение загрузчика Windows может быть вызвано установкой второй ОС (Dual Boot — конфигурация), повреждением файловой систему, некорректным восстановлении Windows после сбоя, удалением скрытых разделов, вирусом-вымогателем и рядом других причин.
Данная статья содержит подробную пошаговую процедуру восстановления поврежденного или удаленного загрузчика ОС в Windows 11/10/8.1 и Windows Server 2022/2019/2016/2012R2 на компьютерах, которые работают в нативном (не legacy) режиме UEFI. Инструкцию можно использовать как для восстановления бинарных файлов загрузчика Windows, так и конфигурационного файла загрузчика EFI\Microsoft\Boot\BCD (в случаях, когда Windows не загружается из-за отсутствия или повреждения файла конфигурацией загрузка BCD.
Содержание:
- Не загружается Windows: Boot configuration data is missing EFI\Microsoft\Boot\BCD
- Автоматическое восстановление загрузчика Windows
- Ручное восстановление загрузчика Windows с помощью BCDBoot
Не загружается Windows: Boot configuration data is missing EFI\Microsoft\Boot\BCD
UEFI компьютер с Windows, установленной в наивном режиме, не сможет загрузиться при повреждении EFI загрузчика Windows. При попытке загрузиться с диска с повреждённым или отсутствующим EFI загрузчиком появится 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/11 установлена в нативном режиме UEFI на GPT диск, то EFI загрузчик Windows (Windows Boot Manager) хранит программу управления загрузкой и конфигурацию BCD на отдельном скрытом разделе EFI (размером 100 мб с файловой системой FAT32). Утилита bcdedit не видит этот EFI раздел, и соответственно не может управлять конфигурацией загрузчика на нем.
Если при загрузке Windows появляется только черный экран с надписью “Operating System not found”, скорее всего у вас полностью удален загрузчик Windows. Следуйте инструкции по ссылке.
Автоматическое восстановление загрузчика Windows
Процедура автоматического восстановления загрузчика, зашитая в среду восстановления Windows (WinRe), как правило, в таких случаях бессильна. Но попробовать все-же стоит:
- Загрузитесь с диска загрузочного диска, диска восстановления или установочной флешки с Windows 10 или 11;
- На экране установки нажмите кнопку Восстановление системы;
- Затем выберите пункт Поиск и устранение неисправностей -> Восстановление при загрузке и выберите ОС, загрузчик которой нужно попытаться восстановить;
- Но скорее всего результат будет отрицательный: Восстановление при загрузке не удалось восстановить компьютер
Ручное восстановление загрузчика Windows с помощью BCDBoot
Перейдем к процедуре ручного восстановления EFI загрузчика Windows на UEFI компьютере.
Для восстановления конфигурации загрузчика (BCD), вам нужно загрузить компьютер с оригинального установочного диска с Windows (диска восстановления или специально подготовленной установочной USB флешки с 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 имеет индекс Partition2 (он же Volume 5 с меткой Hidden). Проще всего определить EFI размер по файловой системе FAT32, размеру 100 Мб (это стандартный минимальный размер для Windows компьютеров, в редких случая размер раздела может быть). Чаще всего для него используется метка — System EFI или ESP/ EFI System Partion).
В нашем примере основной раздел, на который установлена Windows, имеет индекс volume 2, отформатирован в файловая система NTFS и ему назначена буква C:.
В вашем случае назначенная буква диске может отличаться. Это зависит, как вы загрузили свой компьютер в среде WinPE. Проще всего определить его по размеру. Если вы не уверены, нужно проверить что на этом диске есть каталог Windows. Выйдите из утилиты diskpart (команда exit) и выполните команду:
dir C:\
Убедитесь, что на этом диске есть каталоги
Windows
,
Program Files
,
Users
и прочие.
Если этих каталогов нет, значит вашему диску с Windows назначена другая буква диска. Проверьте содержимоет дисков с другими буквами.
Запомните букву диска, назначенную разделу с Windows, чуть ниже мы будем использовать ее в качестве одного из аргументов команды bcdboot.
В таблице также обязательно должен быть раздел MSR (Microsoft System Reserved) размером 16 мб в Windows 10/11 (или 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\
На этом этапе многие рекомендуют выполнить следующие команды, которые должны перезаписать загрузочную запись раздела, найти установленные Windows и добавить их в BCD:
bootrec /fixboot
bootrec /scanos
bootrec /rebuildbcd
или даже:
bootrec /FixMbr
(восстановление MBR записи для GPT диска выглядит странным)
Все эти команды применимы только для дисков с MBR. Если ваш компьютер загружается в UEFI режиме, то на нем обязательно используется таблица разделов GPT (как раз наш случай). Поэтому при запуске команд
bootrec
вы увидите ошибку:
access is denied
Для исправления загрузочных записей на EFI разделе нужно использовать утилиту
BCDBoot
, а не bootrec.
Утилита BCDBoot позволяет восстановить файлы загрузчика на EFI разделе, скопировав их системного каталога на разделе с Windows. Конфигурация загрузчика BCD пересоздается с помощью шаблона %WINDIR%\System32\Config\BCD-Template.
С помощью команды
attrib
снимите атрибуты скрытый, read-only и системный с файла BCD:
attrib BCD -s -h -r
Удалите текущий файл с конфигурацией BCD, переименовав его (так вы сохраните старую конфигурацию в качестве резервной копии):
ren BCD BCD.bak
С помощью утилиты bcdboot.exe нужно скопировать из системного каталога критические файлы среды загрузки UEFI в загрузочный EFI раздел и пересоздать конфигурацию загрузчика в хранилище BCD:
bcdboot C:\Windows /l en-us /s M: /f ALL
где,
- C:\Windows – путь к корневому системному каталогу Windows на диске (это ваш диск, на который была установлена ваша Windows, мы узнали его ранее с помощью команды diskpart);
- /f ALL – означает, что необходимо скопировать файлы среды загрузки Windows, включая файлы для компьютеров с UEFI и BIOS (теоретическая возможность загружаться на EFI и BIOS системах). Чтобы скопировать только EFI загрузчик, используйте команду /f UEFI;
- /l en-us — определяет языковой стандарт, который используется при инициализации хранилища BCD. По умолчанию используется en-US — английский язык (США);
- /s M: — скопировать файлы EFI загрузчика на указанный раздел;
- /с – эта новая опция BCDBoot в Windows 10, которая позволяет перезатереть имеющиеся загрузочные записи при создании нового хранилища (в том числе debugsettings). Используйте этот параметр, чтобы игнорировать старые настройки и создать полностью чистую конфигурацию BCD загрузчика;
- /v – используется для включения режима вывода подробной информации BCDBoot..
Теперь, если выполнить команду bcdedit, вы увидите следующую картину:
В секции диспетчера загрузки Windows (Windows Boot Manager) должна появится запись, указывающая на полный путь к файлу управления загрузкой UEFI. В этом примере он находится на разделе 2 (
partition=\Device\HarddiskVolume2
), путь
\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI
.
Windows Boot Manager -------------------- identifier {bootmgr} device partition=\Device\HarddiskVolume2 path \EFI\Microsoft\Boot\bootmgfw.efi description Windows Boot Manager locale en-US inherit {globalsettings} bootshutdowndisabled Yes default {CURRENT} resumeobject {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} displayorder {default} toolsdisplayorder {memdiag} timeout 30 Windows Boot Loader ------------------- identifier {current} device partition=C: path \Windows\system32\winload.efi description Windows Server 10 locale en-US inherit {bootloadersettings} recoverysequence {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} recoveryenabled Yes isolatedcontext Yes allowedinmemorysettings 0x15000075 osdevice partition=C: systemroot \Windows resumeobject {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
В секции Windows Boot Manager должен быть указан путь к EFI разделу (
=\Device\HarddiskVolume2
), путь к файлу управления загрузкой (bootmgfw.efi). В секции Windows Boot Loader указан раздел Windows и путь к EFI загрузчику Windows (
\Windows\system32\winload.efi
). При включении компьютер передаст управление диспетчеру загрузки EFI, который запустит загрузчик Windows.
Возможные ошибки:
Перезагрузите компьютер, отключите загрузочный диск. Если вы все сделали правильно, в выборе устройств загрузки должен появиться пункт Windows Boot Manager в котором можно выбрать загрузку нужной операционной системы. Ваш EFI загрузчик и конфигурация BCD успешно восстановлены!
В некоторых случаях после восстановления BCD загрузчика, при загрузке Windows появляется ошибка
BAD SYSTEM CONFIG INFO
. Чтобы исправить ошибку:
Убедитесь, что вы не вносили недавно изменения в настройки UEFI
Загрузитесь с установочной/загрузочной флешки и измените конфигурацию загрузчика командами:
-
bcdedit /deletevalue {default} numproc
-
bcdedit /deletevalue {default} truncatememory
Specific errors are as follows:
BFSVC Error: Could not open the BCD template store.Status=[c000000f]
In Baidu know to answer the question, encounter a netizen Win10 computer into the system, prompt BCD error.
Reset the BCD, go to troubleshooter, advanced options, command prompt, execute:
bootrec /rebuildbcd
The result is no good, prompt system cannot find the specified path. (The problem cannot be restored later, so it cannot be tested)
Execute diskPart and know GPT mode from list disk. Sel disk 0, List Part. Sel Part 1, assign letter Z, assign letter Z, assign letter Z.
The most important step is to make sure the Windows directory is on drive C by switching to Drive C, dir/A. So execute:
bcdboot c:\windows /s z: /f uefi /l zh-cn
Status=[c000000f] BFSVC Error: Could not open the BCD template store.status =[c000000f]
In this case, you can follow it with/V to see the details. At that time, I thought there was a problem with the BCD-Template file.
Because the general system files, WinSXS have relevant backup, so execute:
CD C :\ Windows \ System32 \ Configren BCD-BAK, I can restore CD C :\ Windows \ Winsxscd * bcdTemplate * if necessary. This is the path I found by searching everything on my computer. Because the folder name is too long, I use the wildcard instead. copy bcd-template c:\windows\system32\config
This method may not work on some Win10, because winSXS bCD-Template may not be a registry file, win7 is a registry file, users can also win10 computer.
will not work, if you want to use the bcdboot command to fix it, you can only copy the bcd-template from the config directory on the same system computer to your own computer.
Net friend executes above command while, I also search relevant data on the net.
Some netizens said, bCD-Template is out of order, using SFC to repair, win10 tested SFC does not support to repair the file. Others said that they had the same problem and that they had mixed up \ and/or.
Seeing this, I went back to see the user executed the command, sure enough, “Bcdboot c:/ Windows…” “To” Bcdboot c:\ Windows…” Command executed successfully! After restarting, the system can enter normally.
So, you can’t take these punctuation marks lightly.
Read More:
Как восстановить загрузчик EFI Windows 7 и Windows 10?
В этой статье мы попробуем восстановить загрузчик EFI для Windows 7/8/10. Чуть ранее мы уже разбирали восстановление загрузки для таблицы MFT на примере Windows 7. Сейчас же позволю себе сразу отметить, что повреждение загрузчика в нашем случае чаще всего (помимо прочего) вызывается:
- установкой второй операционной системы
- неправильными операциями по восстановлению системы (или неудачным её завершением)
- удалением неких данных из скрытых разделов
- битыми секторами на носителе с Windows
- действием зловредов.
С помощью представленных инструментов можно будет попробовать восстановить загрузчик EFI, который отказывается загрузить систему из-за отсутствующего или битого файла конфигурации по адресу:
Скрытый диск:\EFI\Microsoft\Boot\BCD
Вот, кстати, его примерное содержимое из Heren’s BootCD:
- Структура Windows 7/10 в режиме загрузки UEFI
- Попробуем переписать файл конфигурации напрямую
- Пересоздаём раздел EFI из-за Ошибки доступа в bootrec
- Не получается?
- На будущее: резервную копию BCD можно было создать самому.
Чтобы было понятно…
Структура разделов в таблице GPT на Windows, загруженной в режиме UEFI, чаще всего выглядит так:
где
- EFI — раздел ESP (Extensible Firmware Interface) — раздел, где хранится программное обеспечение с драйверами, обеспечивающими загрузку Windows;
- MSR — он же Microsoft Reserved — резервируемый во время установки Windows раздел; его вполне может и не быть на вашей машине
- Первичный раздел — том, где хранятся системные файлы: реестр, службы, системные утилиты, файлы настроек и т.д.
Windows 10 сюда добавляет ещё и диск Восстановления. По умолчанию (т.е. при установке Windows на НЕФОРМАТИРОВАННЫЙ диск), первые два раздела имеют чёткий объём. И потому по необходимости их легко вычленить, ориентируясь только лишь на размеры обоих. В Windows 7, например, это соответственно 100 Мб и 128 Мб. И это, как говорится, типовая конфигурация. Некоторые производители компьютеров создают разделы по своему усмотрению, например, засовывая туда среду восстановления Windows PE в файл winre.wim. Если вы обнаружили у себя такой файл, знайте, что именно он содержит в себе образ восстановления системы от производителя. Раздел EFI обязателен на GPT дисках с UEFI поддержкой. Когда компьютер включается, среда UEFI загружает загрузчик (EFI\Microsoft\Boot\bootmgfw.efi) из раздела EFI (ESP), передавая той контроль над загрузкой самой Windows. Нет раздела — нет загрузки.
Раздел же MSR на диске создаётся для облегчения обзора разделов и используется для системных операций (типа конвертации диска из простого в динамический). Это резервный раздел, которому Windows никогда не присваивает опознавательные знаки. И данных пользователя он не содержит. В Windows 10 размер раздела MSR — 16 Мб (в Windows 8 — 128 Мб), тип файловой системы — NTFS.
Данные конфигурации загрузки Windows
О том, что файл по указанному выше адресу EFI\Microsoft\Boot\BCD повреждён, вам может сообщить синий экран смерти BSOD с ошибкой следующего содержания:
The boot configuration data for your PC is missing or contains errors. File :\EFI\Microsoft\Boot\BCD Error code: 0xc0000***
Это означает, что данные в файле Boot Configuration Data не распознают конфигурацию загрузчика вашей Windows. Однако, пользователей, знакомых с утилитой восстановления загрузчика в MFT bcdedit.exe, в этот раз та не выручит. При попытке её запустить, пользователь увидит непривычное:
The boot configuration data store could not be found. The requested system device cannot be found
Мол, ни данных, ни самого устройства не существует. Причина одна: раз конфигурация загрузчика BCD в UEFI-режиме загрузки лежит в специальном разделе EFI:
efi раздел в Windows 7
efi раздел в Windows 10
…то наша утилита просто его не видит. Т.е. не видит сам загрузчик, а то и весь раздел. В общем, не спасают и традиционные средства восстановления, созданные на такой случай:
У вас тоже с ошибкой написано?
Как восстановить загрузчик EFI Windows 10: в лоб.
- выбираем загрузочное устройство, вызвав меню быстрой загрузки клавишами в зоне F или через BIOS
- загружаем с флешки с Windows 10 PE;
- выходим на командную строку, зажав Shift + F10 после появления окна Установка Windows
- как и в предыдущем режиме, нам нужно определиться со списком разделов компьютера. Далее я предполагаю, что жёсткий диск установлен в единственном экземпляре:
diskpart list volume
- обнаруживаем EFI раздел. Его размеры, повторюсь, невелики (100 Мб в W7 и W10), и он имеет файловую систему FAT32:
у меня EFI — это безымянный Том 3
- по умолчанию он скрыт, а значит не имеет буквы. Для дальнейшей работы она нам понадобится. Так что присваиваем букву прямо сейчас:
select volume * assign letter Y: exit
После закрытия программы отправляемся в этот раздел:
cd /d Y:\EFI\Microsoft\Boot\
Здесь появляется небольшое отступление. Этот путь существует по умолчанию, и причин, чтобы консоль вам отказала в переходе в указанную папку, нет. Если ошибка появилась, см. абзац Возможные ошибки или сразу переходите к следующей части Как восстановить загрузчик EFI Windows 7/10: пересоздаём EFI.
меня ошибка Отказано в доступе настигла сразу
- создаём заново загрузочный сектор одноимённого раздела:
bootrec /fixboot
- используя утилиту bcdedit.exe создадим хранилище заново, копируя загрузочные файлы из системной папки:
bcdboot C:\Windows /l ru-ru /s k: /f ALL
где
/f ALL – скопирует загрузочные файлы (и UEFI и BIOS режимов) для возможной поддержки загрузки на EFI и BIOS;
/l ru– ru — укажет на языковую локаль системы, которая будет использоваться, т.е. на русскую. Если всё проходит без ошибок, пропускайте абзац.
- выполняем последовательно следующие команды:
bootrec /scanos bootrec /rebuildbcd
Перезагружаемся в Windows 10 на жёстком диске и проверяем.
Возможные ошибки
Администратора здесь могут подстерегать некоторые ошибки. Среди них наиболее часто появляются:
- BFSVC Error: Can not open the BCD template store. status – [c000000f] –
нужно проверить вводимые команды и путь к хранению системных файлов Windows; иногда ошибка появляется из-за неправильного указания языковой локали; - BFSVC Error: Error copying boot files from Last Error = 0x570 – ошибка является следствием самого явления, что Windows не загружается. Вероятно, плохие сектора появились не только в разделе загрузки EFI, но и на диске с системой; прогоните жёсткий диск утилитой chkdsk.exe тут же из консоли командой
chkdsk с: /а
где с — диск с системой
- Отказано в доступе — причин на то множество: от наличия плохих секторов до неверно выставленного режима загрузки (стоит Legacy вместо UEFI; нужно — только UEFI) с флешки. Однако. UEFI не был бы UEFI, если бы всё проходило вот так гладко: то, что раздел EFI не подпускает к своим файлам — это, скорее закономерность, чем исключение. Так что, если в доступе вам отказано, я советую вам просто сначала удалить сам раздел EFI (а он такой нам больше не нужен), воссоздать его заново с единственно необходимой для его работы директорией, а затем уже положиться на ремонтную bootrec, позволив ей завершить работу. Так что, если необходимость возникла, продолжаем работу с момента появления отказа команде
bootrec /fixboot
Как восстановить загрузчик EFI Windows 7/10: пересоздаём EFI.
Самое главное здесь — не промахнитесь с разделом/лами и не удалите тот из них, в котором хранятся данные Windows и ваша информация. Итак, раз bootrec.exe попасть в нужный нам раздел не смогла, раздел убираем. Для этого нам будет нужно вернуться в diskpart.exe, снова определиться с разделами и выбрать тот, что на 100 Мб. Возвращаемся в ремонтную консоль:
cd /d x:
И начинаем заново:
diskpart select disk 0 list partition select partition 2
удаляем его:
delete partition override
можно проверить результат:
list partition
У нас осталось некоторое нераспределённое пространство, в котором мы заново создаём удалённый только что раздел:
create partition efi size=100 list partition select partition 2 format quick fs=fat32 label="System"
Но при попытке присвоить применявшуюся ранее букву Y, консоль ответила отказом (надо было её перезапускать). Я присвою разделу букву Z:
assign letter=Z
exit
Подготовим почву для bootrec.
- создаём папку загрузки:
mkdir Z:\EFI\Microsoft\Boot
- копируем туда файлы из состава среды EFI из папки установленной Windows (С — буква диска с системными файлами Windows):
xcopy /s C:\Windows\Boot\EFI\*.* Z:\EFI\Microsoft\Boot
- пусть bootrec с вашей флешки проверит диски на предмет системных файлов Windows:
bootrec /scanos
Никуда они не денутся, если вы их случайно не удалили, или они не попали в зону бэд-секторов. Остаётся…
- … заставить написать «правильный» файл BCD и прочие «конфиги»:
bootrec /rebuildbcd
Выключаем компьютер, флешку вынимаем и включаем машину. Ждём появления Windows. Дайте ей загрузиться до Рабочего стола и проверяйте, всё ли на месте.
Ошибка вновь появляется…
Не беспокойтесь. Если вы вникли в процесс, и все команды вводили осознанно и корректно, ситуация, скорее всего, уже исправлена. Просто следует учесть особенности своеобразных фильтров безопасности, принятых для режима UEFI, и не путать буквы дисков. Их можно пройти, проделав такие шаги:
- Разбудите BIOS:
— снимите крышку боковую компьютера или нижнюю ноутбука
— отключите жёсткий диск (отключив оба шлейфа на «стационарнике» или вынув из разъёмов на ноутбуке)
— включите машину, дождавшись ошибки загрузки;
— выключив компьютер, подключите жёсткий заново и снова, включив компьютер, проверьте; - проверьте UEFI меню платы компьютера на предмет правильной очерёдности разделов загрузки; первым должен стоять, как вы поняли, именно EFI;
- убедитесь, что метка Загрузочный стоит только напротив EFI раздела, и ни у какого больше. Проверить и исправить ситуацию из Windows PE, к сожалению, не получится. И для этого придётся воспользоваться дополнительными инструментами в виде загрузочной флешки. Сделайте это любым удобным вариантом из статьи Метка диска Загрузочный: как добавить или удалить?
У меня всё. Успехов.
In this article, we will learn how to repair the Windows bootloader on a modern computer that uses UEFI instead of a classic BIOS and GPT disk partition table (instead of MBR). The corruption of the Windows bootloader can occur after installing a second OS (in Dual Boot configurations), file system corruption, incorrect actions during Windows recovery, removal of some data on hidden partitions, malicious software (virus, ransomware, etc.), and for some other reasons.
This article contains a step-by-step guide for repairing a damaged or deleted bootloader in Windows 11/10/8.1 and Windows Server 2022/2019/2016/2012R2 on computers running in native (non-compatible) UEFI mode. You can use this guile both to repair the binary files of the Windows bootloader, and the bootloader configuration \EFI\Microsoft\Boot\BCD file (in cases where Windows doesn’t boot due to the missing or corrupted BCD boot configuration file).
Contents:
- Windows Boot Error: Boot Configuration Data is Missing (EFI\Microsoft\Boot\BCD)
- Automatic Windows Bootloader Repair with WinRE
- Using BCDBoot to Manually Repair EFI Bootloader in Windows
Windows Boot Error: Boot Configuration Data is Missing (EFI\Microsoft\Boot\BCD)
A UEFI computer with Windows installed in native mode will not be able to boot if the Windows EFI bootloader is corrupted. When trying to boot from a disk with a damaged or missing EFI bootloader, the following BSOD (Blue Screen of Death) error appear:
The boot configuration data for your PC is missing or contains errors. File :\EFI\Microsoft\Boot\BCD Error code: 0xc000000f
or:
Error code: 0xc000014c
This error indicates that the Windows bootloader configuration (Boot Configuration Data, BCD) has been corrupted or even completely removed. If you try to repair the bootloader on a UEFI computer using bcdedit
tool, you will receive an error:
The boot configuration data store could not be found. The requested system device cannot be found.
If Windows 10/11 is installed in native UEFI mode on a GPT disk, then the Windows EFI bootloader (Windows Boot Manager) stores the boot manager and BCD configuration on a separate hidden EFI volume (100 MB in size with the FAT32 file system). The bcdedit tool doesn’t see this EFI partition, and cannot manage the bootloader configuration on it.
If you only see a black screen with the message “An operating system wasn’t found” when you boot your computer, it’s likely that the Windows bootloader has been completely removed. Follow the instructions on the link.
Automatic Windows Bootloader Repair with WinRE
The procedure for the automatic repair of the EFI bootloader used in the Windows Recovery Environment (WinRE) is usually useless in such cases. But it’s still worth a try:
- Boot your device from the recovery disc or Windows 10/11 installation media;
- Click the Restore System on the installation screen;
- Then select Troubleshoot -> Startup Repair and select the OS whose bootloader you want to try to repair;
- But most likely the result will be negative:
Automatic Repair couldn’t repair your PC
.
Using BCDBoot to Manually Repair EFI Bootloader in Windows
Let’s move on to the procedure for manually repairing the EFI Windows bootloader on a UEFI computer.
To repair the bootloader configuration (BCD), you have to boot from the original Windows installation media (also, you can use a recovery disk or a special UEFI bootable USB flash drive). After booting into the recovery environment, you need to open a command-line console: select System Restore – > Troubleshoot-> Command Prompt).
You can run the Command Prompt even if you only have a Windows installation media at hand. To do this, it is enough to press the key combination Shift + F10
(or Shift + Fn + F10
on some laptop models) on the first Windows setup screen (when choosing a language and keyboard layout).
In the command prompt that opens, run the disk management tool:
diskpart
Display the list of drives on the computer:
list disk
At this stage, it is very important to determine the type of partition table on the disk on which your Windows is installed: MBR or GPT. The point is that the EFI bootloader is used only on disks with a GPT partition table.
If the asterisk (*
) is in the Gpt column, then the GPT partition table is used on disk. If not, the MBR is used.
If your disk uses a GPT partition table, follow the steps below in the instructions to repair the Windows EFI bootloader.
If you have an MBR partition table on your disk, this guide won’t work for your computer. Most likely you have a computer with BIOS or Legacy/Compatibility Support Mode (CSM) option enabled in the UEFI settings.
On MBR disks, the Windows bootloader is stored on a separate System Reserved partition, and not on the EFI partition (in any case, don’t convert the MBR partition table to GPT until you fix the Windows bootloader !!). Use another guide to restore the BCD bootloader on a BIOS computer with MBR (Master Boot Record) disk.
Select the drive where your Windows is installed (if there is only one hard drive in the system, its index should be 0):
sel disk 0
Display the list of partitions and volumes on this disk: list partition
list volume
In this example, you can see that the EFI boot partition has the partition 2 index (aka Volume 5 with the Hidden label). The easiest way to identify an EFI partition is by the FAT32 file system and 100 MB in size (this is the standard minimum size of EFI partition for Windows computers; in rare cases, the partition size may differ). The most commonly used label for it is System EFI or ESP/EFI System Partition).
In our example, the main partition on which Windows is installed has a volume 2 index, is formatted in the NTFS file system, and is assigned the drive letter C:.
dir C:\
Make sure that this drive contains the Windows
, Program Files
, Users
, and other directories.
If these directories are missing, then your Windows drive has a different drive letter. Check the contents of drives with different drive letters assigned.
Write down the drive letter assigned to the Windows partition. We will use it as one of the arguments of the bcdboot command a little later.
The partition table must also contain an MSR (Microsoft System Reserved) partition of 16 MB in Windows 10/11 (or 128 MB in Windows 8.1).
Assign the drive letter K: to the hidden EFI volume:
select volume 5
assign letter K:
A message that the drive letter has been successfully assigned to the EFI partition should appear:
DiskPart is successfully assigned the drive letter or mount point.
Close the diskpart:
exit
Go to the bootloader directory on the hidden volume:
cd /d K:\efi\microsoft\boot\
In this case, K: is the drive letter assigned to the EFI partition just above. If the \EFI\Microsoft\Boot\ directory is missing (error The system cannot find the path specified), try the following commands:
cd /d K:\Boot\
or
cd /d K:\ESD\Windows\EFI\Microsoft\Boot\
At this point, many guides recommend running the following commands, which should overwrite the partition boot record, find the installed Windows, and add them to the BCD:
bootrec /fixboot
bootrec /scanos
bootrec /rebuildbcd
or even:
bootrec /FixMbr
(preparing MBR record for a GPT disk looks strang)
You can use all these commands only for MBR-based disks. If your computer boots in UEFI mode, then it definitely uses the GPT partition table (as in our case). Therefore, when you run bootrec
commands, you will see an error: access is denied
You need to use the BCDBoot.exe tool to restore bootloader files and fix the boot records on the EFI partition by copying them from the system directory on the Windows partition. The BCD bootloader configuration is recreated using the %WINDIR%\System32\Config\BCD-Template
file.
Use the attrib command to remove the hidden, read-only, and system attributes from the BCD file:
attrib BCD -s -h -r
Delete the current BCD configuration file by renaming it (this will keep the old boot configuration as a backup): ren BCD BCD.bak
Using the bcdboot tool, you need to copy the critical files of the UEFI boot environment from the system directory to the EFI boot partition and recreate the BCD bootloader config file:
bcdboot C:\Windows /l en-us /s k: /f ALL
- C:\Windows – the path to the root Windows system directory on the disk (this is your disk on which your Windows is installed, we determined it earlier using the diskpart command);
- f ALL –means that you need to copy the Windows Boot Environment files, including those for UEFI and BIOS computers (theoretically able to boot both on UEFI and BIOS computers). To copy only the EFI bootloader, use the /f UEFI command;
- /l en-us —specifies the system locale that is used when initializing the BCD store. By default, en-us – English (USA) is used;
- /s K: — copy the bootloader EFI files to the specified partition;
- /c – this is a new BCDBoot option in Windows 10 that allows you to overwrite existing boot records (including debugsettings). Use this option to ignore old boot settings and create a clean BCD configuration;
- /v – used to enable BCDBoot verbose output.
Now, if you run the bcdedit
command, you will see the following :
An entry should appear in the Windows Boot Manager section containing the full path to the UEFI boot file (\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI
).In this example, it is located on volume 5 (partition=\Device\HarddiskVolume5
).
Windows Boot Manager -------------------- identifier {bootmgr} device partition=\Device\HarddiskVolume5 path \EFI\Microsoft\Boot\bootmgfw.efi description Windows Boot Manager locale en-US inherit {globalsettings} bootshutdowndisabled Yes default {CURRENT} resumeobject {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} displayorder {default} toolsdisplayorder {memdiag} timeout 30 Windows Boot Loader ------------------- identifier {current} device partition=C: path \Windows\system32\winload.efi description Windows 10 locale en-US inherit {bootloadersettings} recoverysequence {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} recoveryenabled Yes isolatedcontext Yes allowedinmemorysettings 0x15000075 osdevice partition=C: systemroot \Windows resumeobject {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
The Windows Boot Manager section must contain the path to the EFI partition (=\Device\HarddiskVolume5
) and the path to the boot manager file (bootmgfw.efi). The Windows Boot Loader section contains the Windows partition info and the path to the Windows EFI bootloader ( \Windows\system32\winload.efi
). When you turn it on, your computer will pass control to the EFI bootloader, which will start the Windows bootloader.
Possible errors:
Now you need to restart your computer and disconnect the bootable media. If you did everything correctly, the Windows Boot Manager should appear in the list of bootable devices, where you can choose a desired operating system to boot. Your EFI bootloader and BCD configuration have been restored successfully!
In some cases, after repairing the BCD bootloader, when Windows boots, a BAD SYSTEM CONFIG INFO
error appears. To fix the error:
Make sure you haven’t made any recent changes to UEFI settings. Undo all changes.
Boot your computer from the installation/bootable flash drive and change the bootloader configuration with the commands:
bcdedit /deletevalue {default} numproc
bcdedit /deletevalue {default} truncatememory
В этой статье мы опишем, как восстановить поврежденный или удаленный загрузчик ОС в Windows 10 и Windows 8.1/8 на системах с EFI, которая должна помочь в том случае, если система не загружается из-за отсутствия или повреждения файла с конфигурацией загрузки EFI\Microsoft\Boot\BCD.
В русской версии Windows ошибка может быть такая:
Ваш компьютер нуждается в ремонте
Данные конфигурации загрузки для вашего ПК отсутствуют или содержат ошибки
Файл:\EFI\Microsoft\Boot\BCD
Код ошибки: 0xc000000f
Итак, чтобы восстановить конфигурацию загрузчика (BCD), необходимо загрузится с оригинального установочного DVD диска с Windows 8 (или диска восстановления или специально подготовленной загрузочной флешки) и открыть окно командной строки: выбрав Восстановление системы -> Диагностика -> Командная строка (System Restore — > Troubleshoot->Command Prompt), или нажав комбинацию клавиш Shift+F10).
Запустим diskpart:
diskpart
Выведем список дисков в системе:
list disk
Выберем диск, на котором установлена ваша Windows (если жесткий диск в системе один, его индекс должен быть равен 0):
sel disk 0
Выведем список разделов в системе:
list vol
В нашем примере видно, что раздел EFI (его можно определить по размеру 100 Мб и файловой системе FAT32) имеет индекс volume 1, а загрузочный раздел с установленной системой Windows (это может быть как Windows 10 так и Windows 8.1/8) — volume 3.
Назначим скрытому EFI разделу произвольную букву диска:
select volume 1
assign letter M:
Должна появится строка, свидетельствующая об успешном назначении буквы диска разделу EFI:
DiskPart successfully assigned the drive letter or mount point.
Завершаем работу с diskpart:
exit
Перейдем в каталог с загрузчиком на скрытом разделе
cd /d m:\efi\microsoft\boot\
В данном случае m: это буква диска, присвоенная разделу UEFI чуть выше. Если каталог \EFI\Microsoft\Boot\ отсуствует (ошибка The system cannot find the path specified), попробуйте следующие команды:
cd /d M:\Boot\
или
cd /d M:\ESD\Windows\EFI\Microsoft\Boot\
Пересоздадим загрузочный сектор на загрузочном разделе:
bootrec /fixboot
Удалим текущий файл с конфигурацией BCD, переименовав его (сохранив старую конфигурацию в качестве резервной копии):
ren BCD BCD.bak
С помощью утилиты bcdboot.exe пересоздадим хранилище BCD, скопировав файлы среды загрузки из системного каталога:
bcdboot C:\Windows /l en-us /s M: /f ALL
где, C:\Windows – путь к каталогу с установленной Windows 8.
/f ALL – означает что необходимо скопировать файлы среды загрузки, включая файлы для компьютеров с UEFI или BIOS (теоретическая возможность загружаться на EFI и BIOS системах)
/l en-us — тип системной локали . По умолчанию используется en-us — английский язык (США) .
Совет. В случае использования локализованной русской версии Windows 10 / Windows 8 команда будет другая:
bcdboot C:\Windows /L ru-ru /S M: /F ALL
Возможные ошибки:
- BFSVC Error : Can not open the BCD template store. status – [c000000f] – проверьте правильность введенной команды и используется ли у вас локализованная Windows, в этом случае нужно правильно указать код языка системы (local language code)
- BFSVC Error: Error copying boot files Last Error = 0x570 – попробуйте выполнить проверку диска с помощью команды CHKDSK M: /F
Выполните команды:
bootrec /scanos
bootrec /rebuildbcd
Осталось перезагрузить компьютер, после чего в выборе устройств загрузки должен появиться пункт Windows Boot Manager в котором можно выбрать загрузку нужной ОС. Конфигурация загрузчика BCD успешно восстановлена!
Источник: http://winitpro.ru/