Ручное пересоздание файла конфигурация загрузки BCD в Windows 10
Диспетчер загрузки современных версий 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 файл автоматически, выполнив команду:
bootrec /RebuildBCD
Перезагрузите компьютер и проверьте, загружается ли Windows, если нет, опять загрузитесь с установочного диска и откройте окно командной строки. Нам нужно идентифицировать диски системы (скорее всего назначенные им буквы дисков будут отличаться от дисков, которые вы видели при работе в Windows). Проще всего это сделать с помощью утилиты diskpart. Выполните следующие команды:
diskpart
list vol
Перед вами появится список разделов в системе, назначенные им буквы и их размер. В нашем случае, на диске имеются всего два раздела:
- Раздел 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 {bootmgr} /d "Windows Boot Manager"
Импортируйте в BCD настройки из файла bcd.tmp
bcdedit.exe /import c:\boot\bcd.tmp
Укажите, что загрузчик находится на служебном разделе System Reserved (ему назначена буква диска C: )
bcdedit.exe /set {bootmgr} device partition=c:
Настройте время ожидания при выборе ОС
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 должен использовать данную запись по-умолчанию (после истечения времени ожидания для загрузки используется именно эта запись).
bcdedit /default {8a7f03d0-5338-11e7-b495-c7fffbb9ccfs}
Теперь в новой записи загрузчика осталось указать пути к имеющейся на диске установленной копии Windows (ранее мы определении, что в среде WinPe диску с Windows присвоена буква D: )
bcdedit.exe /set {default}device partition=d:
bcdedit.exe /set {default} osdevice partition=d:
bcdedit.exe /set {default} path \Windows\system32\winload.exe
bcdedit.exe /set {default} systemroot \Windows
Осталось сделать данную запись видимой (по умолчанию она скрыта)
bcdedit.exe /displayorder {default} /addlast
Итак, мы полностью пересоздали хранилище конфигурации загрузки. Теперь можно перезагрузить компьютер и убедится, что Windows 10 загружается в штатном режиме.