Windows не загружается, или как восстановить файл BCD на MBR в Windows? Менеджер загрузки в ОС Windows для загрузки оной использует специальный файл BCD (Boot Configuration Data — он же скрытый от проводника файл данных конфигурации загрузки на скрытом, опять же, разделе). В файле содержится информация об установленных системах и параметрах загрузки для каждой из них (если их несколько):


сам файл
Его расположение традиционно: \boot\BCD в активном разделе Legacy BIOS (MBR), как в нашем случае, и \EFI\Microsoft\Boot\BCD в системном разделе EFI (System Partition — ESP). Если BCD повреждён и информация в файле не читается, Windows не загрузится. На фоне этого сразу (в нашем случае) после включения компьютера пользователь, скорее всего, видит сообщение от менеджера загрузки примерно следующего содержания:
Your PC needs to be repaired
The Boot Configuration Data file is missing some required information
File: \Boot\BCD
Error code: 0xc0000034
или
Windows failed to start. A recent hardware or software change might be the cause...

Первое, что приходит на ум в этом случае, так это следовать инструкциям менеджера восстановления загрузки, полагаясь на его возможности. С этим он часто справляется сам (просто не все из нас умеют выжидать и умело этим инструментом пользоваться). Но, если вы столкнулись с повторяющейся проблемой
Your PC needs to be repaired
The Boot Configuration Data file is missing some required information
File: \Boot\BCD
давайте попробуем воссоздать BCD файл вручную с нуля. Ещё раз повторюсь — эта схема применима на компьютерах с таблицей MBR. Для UEFI (GPT) написана другая статья. Здесь я показываю процесс для Windows 7, но для других, более новых версий вся информация также актуальна.
Как узнать тип таблицы загрузочной записи?
У Windows режим загрузки UEFI на GPT вместо Legacy BIOS? Вам в статью Как восстановить загрузчик EFI?
Как создать резервную копию BCD
Что нам понадобится?
- Загрузочное устройство с Windows под рукой
- Прямые руки
Перед тем как приступить к ремонту…
Сообщение на экране говорит о том, что загрузчик не может найти файл. Но это не значит, что он потерян или повреждён. Может статься, что система ищет искомый файл не там. А потому
- удалите из портов все внешние хранители информации (флешки и внешние диски). На них может хранится информация с предыдущих записей, которые текущая установка может ошибочно принимать за текущие настройки. При этом настройки BIOS могут также ошибочно принимать какую-то из флешек за носитель. с которого должна идти загрузка. Это сплошь и рядом.
- обратитесь к способам исправления файловой таблицы и системных файлов с помощью утилит SFC и CHKDSK
Пробуем восстановить BCD на MBR автоматически.
- из компьютера вынимаем все лишние флешки и удаляем прочие не принимающие в работе устройства с USB-интерфейсом
- загружаемся с флешки/диска с Windows
- через Shift + F10 выходим на аварийную командную консоль cmd

- попробуйте восстановить файл автоматически с помощью специально на то утилиты командой:
bootrec /RebuildBCD
- перезагружайтесь в свою копию Windows…
wpeutil reboot

- и проверяйте, не прокатило ли. Если нет…
Пробуем восстановить BCD на MBR вручную.
Снова используем загрузочную Windows, выходя на ту же консоль, в которой попробуем восстановить файл. Проверим диски и разделы:
diskpart list volume

Искомый раздел жив и определяется как Том 1, весом 100 Мб, с буквой С под меткой Зарезервировано. Синтаксис дальнейших команд зависит от того, на сколько разделов разбит ваш жёсткий диск и каким «макаром» устанавливалась система. Дело в том, что обычно ещё перед установкой любая копия Windows сразу просит пользователя отщипнуть кусок 100-700 Мб (100 — стандарт, 300 — для FAT32 с 4К секторами, 500 и выше мультизагрузка с двумя и более системами) для создания резервного раздела (он же Зарезервированный, и он же помечен в Diskpart как диск С) на случай восстановления после повреждения системных файлов. При этом присваиваемые разделам буквы утилитой Diskpart отличаются от привычных в Проводнике Windows. Так что с буквами к томам на период работы с BCD лучше сразу привыкнуть и запомнить их. Но на рисунке выше — стандартные значения для установки Windows 7, которая мало отличается от Legacy BIOS в Windows 10. Так что идём далее, предварительно покинув Diskpart.exe:
exit
В той же консоли начинаем работу с файлом:
bcdedit /export C:\BCD_Backup
Теперь снимем запрещающие атрибуты с системного раздела:
attrib C:\boot\bcd -s -h -r
Переименуем старый файл:
ren C:\boot\bcd bcd.old
Вводим уже знакомое:
bootrec /RebuildBCD
Перезагружаемся и проверяем. Не прокатило? Снова вызываем консоль и продолжаем работу вручную. Для этого
- в новом окне cmd создаём ссылки на загрузчик и загрузочный сектор вручную:
bootrec.exe /fixmbr bootsect.exe /nt60 all /force

- убиваем повреждённый файл BCD за ненадобностью (НЕ ОБЯЗАТЕЛЬНО):
del С:\boot\bcd
Сразу создадим на том же диске пустой, временный файл bcd.temp:
bcdedit /createstore С:\boot\bcd.tmp

- в нём для менеджера загрузки системы создадим точку входа bootmgr:
bcdedit.exe /store С:\boot\bcd.tmp /create {bootmgr} /d "Windows Boot Manager"

- всё это дело из файла bcd.temp переносим в BCD:
bcdedit.exe /import С:\boot\bcd.tmp
- закрепим загрузчик на диске С (пусть он так и останется настоящим, Зарезервированным разделом), откуда Windows загружалась ранее и будет продолжать загружаться:
bcdedit.exe /set {bootmgr} device partition=С:

- пока мы тут, можно изменить время ожидания загрузки, выставив, скажем, 5 сек.:
bcdedit.exe /timeout 5
- временный bcd.temp нам более не нужен; от него избавляемся:
del С:\boot\bcd.tmp
- Таким образом, у вас появился новый файл с работоспособными параметрами загрузки. Время добавить строчки входа для всех версий Windows, которые были до того установлены. Если это одна Windows, то и следующую команду можно ввести в единственном экземпляре:
bcdedit.exe /create /d "Винда" /application osloader

Если всё сделано правильно, утилита должна вернуть уникальный GUID идентификатор загрузчика на манер:
Запись {xxxxx-xxx-xxxxx-xxxx-xxxxxxx} была создана успешно.
- Давайте прикажем загрузчику использовать этот вход в качестве системы по умолчанию (не промахнитесь в символах, чтобы не было ошибки Указана недопустимая запись по умолчанию):
bcdedit /default {xxxxxxx-xxxxx-xxxxx-xxxxx-xxxxxxxxxxx}
- Это ещё не всё. Загрузчик на месте, но системные файлы-то остались на другом диске (специально созданные разделы, где вы хранили ТОЛЬКО пользовательские данные — не в счёт). Я так понимаю, это, скорее всего, диск D (у меня, впрочем, это диск Е). На него загрузчику нужно обязательно показать. С оглядкой на нужную букву вводим команды по порядку:
bcdedit.exe /set {default} device partition=e:
bcdedit.exe /set {default} osdevice partition=e:
bcdedit.exe /set {default} path \Windows\system32\winload.exe
bcdedit.exe /set {default} systemroot \Windows
- Точка входа по умолчанию скрыта, так что давайте сделаем её видимой для наших глаз:
bcdedit.exe /displayorder {default} /addlast
- перезагружаемся прямо из консоли:
wpeutil reboot
Вот и всё. Закрывайте консоль и грузитесь в свою копию Windows. Сразу позволю себе напомнить, что после успешной загрузки в Windows лучше задаться вопросом о причинах, вызвавших повреждение BCD.
Успехов.



























Добавить комментарий