Восстановление загрузчика Windows 10: ручное пересоздание файла конфигурация загрузки BCD
Диспетчер загрузки современных версий Windows использует для загрузки операционных систем, установленных на компьютере, файл BCD (Boot Configuratin Data) , в котором хранятся данные об ОС и параметрах их загрузки. В том случае, если файл BCD удален или поврежден, Windows перестает загружаться. В этой статье мы покажем способ ручного пересоздания файла хранилища данных конфигурации загрузки на примере Windows 10.
В том случае, если файл BCD поврежден или отсутствует, скорее всего, при попытке загрузить Windows, пользователь увидит такое сообщение:
Your PC needs to be repaired
The Boot Configuration Data file is missing some required information
File: \Boot\BCD
Error code: 0xc0000034
При появлении такой ошибки, в первую очередь попытайтесь исправить проблему с загрузкой ОС с помощью режима Startup Repair , который можно запустить из среды восстановления Windows RE .
Совет . Желательно периодически проверять работоспособность среды WinRE, и если она не работает, воспользоваться для ее восстановления методикой из статьи Восстановление среды WinRE в Windows 10.
В том случае, если автоматическое восстановление с помощью Startup Repair не помогло решить проблему, необходимо загрузиться с загрузочного / установочного диска с Windows или в среде WinRe (Repair your computer -> Troubleshoot -> Advanced options -> Command Prompt), запустить командную строку и попытаться создать новый файл конфигурации BCD «с нуля».
Очень важно . Все инструкции, описанные ниже, подходят для обычных MBR+BIOS систем. На системах с UEFI для пересоздания BCD нужно воспользоваться следующими инструкциями по восстановлению загрузчика в Windows 10/8 c EFI или Windows 7 .
В этом примере я буду использовать установочный диск с Windows 10. Загрузившись с него, нужно нажать на экране выбора языка сочетание клавиш Shift+F10 .
Попробуйте восстановить BCD файл автоматически, выполнив команду:
Перезагрузите компьютер и проверьте, загружается ли Windows, если нет, опять загрузитесь с установочного диска и откройте окно командной строки. Нам нужно идентифицировать диски системы (скорее всего назначенные им буквы дисков будут отличаться от дисков, которые вы видели при работе в Windows). Проще всего это сделать с помощью утилиты diskpart. Выполните следующие команды:
Перед вами появится список разделов в системе, назначенные им буквы и их размер. В нашем случае, на диске имеются всего два раздела:
- Раздел System Reserved размером 500 Мб, которому назначена буква диска C: . На этом небольшом служебном разделе по-умолчанию хранится файл конфигурации загрузки BCD ( подробнее )
- NTFS раздел размером 39 Гб, которому назначена буква D:. На этом разделе находится Window и данные пользователя
Важно . Запомните назначенные буквы дисков, т.к. в они будут использоваться в последующих командах.
С помощью следующих команд мы добьемся того, чтобы в MBR и загрузочном секторе имелись нужные ссылки на загрузчик Windows (bootloader).
bootrec.exe /fixmbr
bootsect.exe /nt60 all /force
Совет . Если команда bootsect.exe не будет найдена, попробуйте указать путь
X:\boot\bootsect.exe /nt60 all /force
Далее с помощью команды BCDedit создадим новый файл с конфигурацией загрузки (предполагается, что у вас нет резервной копии BCD ).
Удалите старый (поврежденный) файл BCD на разделе System Reserved и создайте вместо него новый.
del c:\boot\bcd
Создайте временный пустой файл bcd.tmp
bcdedit /createstore c:\boot\bcd.tmp
Создайте запись для диспетчера загрузки bootmgr.
bcdedit.exe /store c:\boot\bcd.tmp /create
Импортируйте в BCD настройки из файла bcd.tmp
bcdedit.exe /import c:\boot\bcd.tmp
Укажите, что загрузчик находится на служебном разделе System Reserved (ему назначена буква диска C: )
bcdedit.exe /set
Настройте время ожидания при выборе ОС
bcdedit.exe /timeout 10
Удалите временный файл
del c:\boot\bcd.tmp
Итак, у нас имеется пустой файл с параметрами загрузчика. Теперь в него нужно добавить записи об имеющихся на компьютере ОС. Создадим в хранилище BCD новую запись для Windows 10 bcdedit.exe /create /d «Windows 10» /application osloader
Команда должна вернуть уникальный идентификатор (GUID) данной записи загрузчика.
The entry <8a7f03d0-5338-11e7-b495-c7fffbb9ccfs>was successfully created.
Укажем, что bootmgr должен использовать данную запись по-умолчанию (после истечения времени ожидания для загрузки используется именно эта запись).
Теперь в новой записи загрузчика осталось указать пути к имеющейся на диске установленной копии Windows (ранее мы определении, что в среде WinPe диску с Windows присвоена буква D: )
bcdedit.exe /set
bcdedit.exe /set
bcdedit.exe /set
bcdedit.exe /set
Осталось сделать данную запись видимой (по умолчанию она скрыта)
bcdedit.exe /displayorder
Итак, мы полностью пересоздали хранилище конфигурации загрузки. Теперь можно перезагрузить компьютер и убедится, что Windows 10 загружается в штатном режиме.
Windows Boot Configuration Data file is missing required information
В статье описывается общий случай возникновения ошибок типа “file: \boot\bcd” и “The Windows Boot Configuration Data file is missing required information” или “The Windows Boot Configuration Data file does not contain a valid OS entry”с номером ошибки “status 0xC00000XX”, из-за чего Windows 7/8/10 просто не загружается. Рассмотрим общие варианты как выявить причину незагрузки ОС или невозможности её установить, и как положение исправить.
ТЕОРИЯ
Для того, чтобы понять причину появления ошибок в загрузочном процессе системы, выдаваемых на экран статусом 0xC0000XXX, нужно уяснить общий процесс загрузки операционных систем Windows версий от 7 до 10. Итак, рабочий экран системы появится, если в следующей цепочке не будет никаких ошибок:
Дословно же ошибка Windows Boot Configuration Data file is missing required information означает, что “в файле Windows BCD не хватает для корректной загрузки информации”. И если продолжить блоковую интерпретацию принципа загрузки Windows в современных её версиях, то оно уже примет такой вид:
Причины ошибки Windows Boot Configuration Data file is missing required information
Статус возвращаемого состояния (кода ошибки) здесь в принципе уже неважен – система пытается дать понять, какая часть информации потеряна. Смысла в этом для пользователя информация много не несёт. Но уяснить нужно следующее – причиной появления ошибки на 99% вероятности является то, что в загрузочной записи жёсткого диска потеряны сектора. И загрузчик не способен считать оттуда информацию, либо необходимые для и во время установки системы файлы не могут туда быть корректно скопированы и там разместиться. Если плохие секторы жёсткого диска не вызваны физическими повреждениями, а имеют “программную” природу, то всё абсолютно поправимо.
Приступаем к работе
Предлагаю исправить ошибку, разбив работу на несколько этапов:
Во первых, проверьте жёсткий диск на наличие ошибок. Утилит для затирания бэд-секторов или записи нулей, немало. Одна из них Check Disk или chkdsk.exe давно сидит в Windows, но без интерфейса Windows она пока недосягаема. Так что нам придётся воспользоваться либо загрузочным носителем (флешка или диск) с вашей версией операционной системы, либо живым LiveCD/DVD диском на примере Hiren’s BootCD, куда утилита входит в состав сборки. В любом случае эта программа самодостаточна, и потому её запуск решит большинство проблем с побитыми кластерами HDD. О её работе у меня написано много, но сейчас посмотрим процесс запуска ещё раз.
Где взять диск с Windows? Скачать утилиту для загрузки любой версии Windows бесплатно.
Для загрузочного диска (флешки) с Windows
Выставите загрузку с диска (флешки) через BIOS и загрузитесь с нужного носителя. Если BIOS не поддерживает загрузку с USB, воспользуйтесь возможностями расширить меню BIOS и принудительно заставить загрузиться с устройства с USB интерфейсом. Читайте статью Как заставить BIOS загрузиться с флешки.
Пропустим установку Windows, добравшись до Восстановления системы:
Пусть средство восстановления найдёт операционную систему
на этом фото установщик нашёл систему на диске D
Не важно, каким путём вы пойдёте: вам нужна командная строка окна Параметры восстановления системы:
В командной строке последовательно записываем команды (первая команда буква диска – C или D):
где chkdsk – утилита, С: – диск с системой, /r – флаг команде на ремонт секторов:
Будем надеяться, утилита справится с вашими проблемами.
Однако помните.
Если на вашем диске было или сейчас находятся несколько операционных систем на разных локальных томах и разделах, советую провести операцию проверки и восстановления ВСЕХ ДИСКОВ. Загрузочные файлы системы могут находится именно там.
Для загрузочного диска (флешки) с Hiren’s BootCD
Всё также, выставляем загрузку с диска, выберем в меню MiniXP, дождёмся запуска системы и найдём утилиту прямо в меню Windows XP PE:
Запускаем и ищем наш диск:
и здесь тоже система находится на диске D
Windows Boot Configuration Data file is missing required information – перезапишем BCD
Предположим, что Check Disk сделала своё дело и привела диск в порядок. Однако побитые файлы она восстанавливать не умеет. Теоретически одна из кнопок окна в предыдущем абзаце смогла бы помочь справиться с ошибками загрузки Windows. Встроенный инструмент, запускаемый по кнопке Восстановление системы с последующей перезагрузкой последовательно запускает большое количество ремонтных утилит (в том числе и Bootrec.exe). Однако, если перезагрузка системы ни к чему не привела, файлы с загрузочной информацией придётся перекомпоновать вручную.
И снова напоминаю – интересующий нас файл \boot\bcd может находиться НЕ НА ДИСКЕ С: !
Для перезаписи мы будем пользоваться теми же дисками. Наша задача – перезаписать указанный выше файл. Bootrec.exe иногда не может этого сделать автоматически. Но существуют три готовые и применимые на большинстве машин команды, вводимые в консоли команд загрузочного и Live дисков. Введите их последовательно в консоли, нажимая после каждой клавишу ввода:
С их помощью помощью на диске С: создаётся база замены файла, старый файл переименовывается и даётся команда на запись на диске С: нового файла \boot\bcd.
Операция элементарна, если система одна, и файл находится на том диске. Однако если система была мультизагрузочной, вам нужно выцепить тот раздел, который отвечает за загрузку. Ну, не десятки же их, в конце концов… Так что, если описание проблемы попадает под вашу ситуацию, вам лучше убедиться, что буква диска (в данном случае С:) указывается в команде правильно. Иными словами, нужно найти активный диск.
А как узнать какой диск активный?
Сначала нам нужен список всех разделов на диске (я покажу, как это сделать на другом HDD). Это может показать команда diskpart. Так и делаем. Всё в той же командной консоли:
…запускаем diskpart . Теперь поочерёдно вводим команды на “показать все диски”, “выбрать нужный диск”, “показать на нём все разделы”, “выбрать какой-то из разделов” и “рассказать о разделе”. В консоли команд эти команды выглядят так (Х – порядковый номер диска и раздела); после каждой из команд – ввод клавишей Enter:
У меня команды выглядят так:
А вот информацию, которую мы ищем я пометил красным. Повторите команды, пока не вычлените тот единственный диск, который утилита в консоли пометит ответом Активный: Да. Смотрим, что у меня дальше:
То есть именно с диска С объёмом 100 Гб ОС Windows 7/8/10 и загружается (точнее, пока не загружается). Вам остаётся вписать правильную букву диска в командах, что указаны выше, и необходимый файл будет воссоздан известными вам уже командами:
Если ничего не помогло… Ошибка Windows Boot Configuration Data file is missing required information продолжает мешать загрузке
Если вышеприведённые манипуляции не дали положительного результата – ничего страшного. Вы на верном пути – просто системный сбой вызвал повреждение куда большего количества файлов. Вам придётся переформировать уже хранилище BCD. Никаких дополнительных инструментов не понадобится. Однако Live CD нам уже не в помощь. Используем знакомую вам консоль, но при вводе команд следите за моими пояснениями. Итак…
- ставим загрузку с диска
- следуем вышеописанному принципу, пока не найдём консоль:
где Х – буква тома, куда Windows установлена, и где располагаются её системные файлы. И, опять же, это НЕ ОБЯЗАТЕЛЬНО Активный диск! Запутались? Ничего трудного, просто повторите все команды с утилитой diskpart и обратите внимание на информацию по разделам, но уже в другом столбце:
Столбец Сведения возвращает флаг Системный. Это и есть системный раздел диска – Windows лежит там. Часто буква С диска совпадает с информацией о том, что диск является системным и активным.
Но если что-то у вас не получилось, и Windows не загружаясь, возвращает ошибку Windows Boot Configuration Data file is missing required information, вам просто нужно обратить внимание на буквы разделов, в которых вы проводите операции.
С помощью следующих команд скопируем файл и импортируем его в активный раздел жёсткого диска:
Если первая из команд выдаст ошибку, мол, есть такой файл, удалите его не сомневаясь командой
Создаём диспетчер загрузки для файла командой:
Далее указываем активный раздел и время на выбор пользователем записи в списке загрузочного меню (у меня 15 сек.):
Создаём элемент списка загрузки систем (в кавычках укажите любое имя системы, например, WINDOWS):
По нажатии клавиши ввода утилита bcdedit вернёт уникальный идентификатор GUID, который нужно потом вставить в фигурные скобки в следующей команде
Осталось немного – присвоить параметры конфигурации файла, которые у всех Windows одинаковые. Их можно легко скачать в сети, но я сделал это за вас (следите за буквой диска – у вас может быть свой; у меня – С:):
Последняя из команд заставляет Windows корректно заметить вход для загрузки. Ошибки Windows Boot Configuration Data file is missing required information больше не будет.