Ручное восстановление конфигурации загрузчика BCD и записи MBR в Windows 10

Диспетчер загрузки в современных версиях Windows использует файл конфигурации загрузки BCD (Boot Configuration Data) для запуска операционной системы, установленной на компьютере. В этом файле хранятся данные об установленной Windows и параметрах ее загрузки. Если файл BCD удален или поврежден, Windows перестает загружаться.  Также вы не сможете загрузить Windows, если повреждена MBR запись на жестком диске. В этой статье мы покажем способ ручного пересоздания файла хранилища данных конфигурации загрузки BCD и Master Boot Record (MBR) на примере Windows 10.

Если файл BCD поврежден, отсутствует, если вы удалили / отформатировали отдельный раздел диска с меткой System Reserved (и размером 500Мб), специальный OEM раздел, то скорее всего при попытке загрузить Windows, пользователь увидит такое сообщение:

Your PC needs to be repaired
The Boot Configuration Data file is missing some required information
File: \Boot\BCD
Error code: 0xc0000034

The Boot Configuration Data file is missing some required information
Также ошибка может выглядеть так:

The Boot Configuration Data for your PC is missing or contain errors.
File: \boot\bcd
Error Code: 0xc000000f

При повреждении MBR может быть ошибка No operating system found.

ошибка 0xc000000f отсутсвует файл boot\bcd при загрузке Windows 10bcd-

Если в ошибке есть упоминание файла winload.efi, перейдите к статье Отсутствует файл winload.efi в Windows 10.

Автоматическое восстановление конфигурации загрузчика Windows

При появлении такой ошибки, в первую очередь попытайтесь исправить проблему с загрузкой ОС с помощью режима автоматического восстановления (Startup Repair), который можно запустить из среды восстановления Windows RE.

Совет. Желательно периодически проверять работоспособность среды WinRE, и если она не работает, воспользоваться для ее восстановления методикой из статьи Восстановление среды WinRE в Windows 10.

Если автоматическое восстановление с помощью Startup Repair не помогло решить проблему, вам нужно загрузиться с загрузочного или установочного диска с Windows или в среде WinRe (Repair your computer -> Troubleshoot -> Advanced options -> Command Prompt), запустить командную строку и попытаться создать новый файл конфигурации  BCD и обновить MBR запись«с нуля».

Advanced options -> Command Prompt

В этом примере я буду использовать установочный диск с Windows 10. Выберите в настройках BIOS первичным загрузочным устройство DVD диск или USB флешку (в зависимости от того, с какого устройства вы хотите загрузить компьютер).  Загрузитесь с установочного диска и на экране выбора языка установки нажмите сочетание клавиш Shift+F10. Перед вами откроется консоль командной строки.

Попробуйте восстановить BCD файл автоматически, выполнив команду:

bootrec /RebuildBCD

Перезагрузите компьютер и проверьте, загружается ли Windows (не забудьте изменить приоритет загрузочных устройств в BIOS). Если ОС не загружается, еще раз загрузитесь с установочного диска и откройте окно командной строки.

Идентификация разметки дисков и букв томов

Очень важно. Все инструкции, описанные ниже, подходят для обычных MBR+BIOS систем. На системах с UEFI для пересоздания BCD нужно воспользоваться следующими инструкциями по восстановлению загрузчика для Windows 10/8 c EFI или для Windows 7.

Как понять, используется ли у вас BIOS или UEFI система? Проще всего проверить тип таблицы разделов на диске, на котором установлена Windows: GPT или MBR. Для этого выполните команду:

diskpart

Затем выполните:

list disk

Если у диска в столбце Gpt указана звездочка (*), значит на диске используется таблица разделов GPT (это значит, что у вас компьютер с UEFI, и для восстановления загрузчика нужно использовать статью по ссылке выше). Если в столбце GPT звездочка отсутствует, значит у вас на диске таблица разделов MBR, и вы можете продолжить следовать данной инструкции.

проверить тип разметки диска gpt или mbr

Далее вам нужно идентифицировать локальные диски и разделы системы (скорее всего назначенные им буквы дисков будут отличаться от дисков, которые вы видели при работе в Windows). Проще всего это сделать с помощью утилиты diskpart.  Выполните следующие команды:

diskpart
list vol

diskpart: list volumesПеред вами появится список разделов в системе, назначенные им буквы дисков и их размер. В нашем случае к компьютеру подключен 1 жесткий диск, на котором имеются всего два раздела:

  • Раздел System Reserved размером 500 Мб, которому назначена буква диска C:. На этом небольшом служебном разделе по-умолчанию хранится файл конфигурации загрузки BCD (подробнее)
  • NTFS раздел размером 39 Гб, которому назначена буква D:. На этом разделе находится установленная Windows, программы и данные пользователя.
Важно. Запомните буквы дисков, назначенные разделам. Данные буквы дисков будут использоваться в последующих командах.

Восстановление загрузочного сектора MBR в Windows 10

С помощью следующих команд мы перезапишем данные в MBR и загрузочном секторе, поместим в них ссылки на загрузчик Windows (bootloader).

bootrec.exe /fixmbr
bootsect.exe /nt60 all /force

Прежде, чем идти далее, попробуйте автоматически пересоздать конфигурацию загрузчика BCD командами (это самый простой способ для начинающих):

bootrec /FixBoot – команда создает новые загрузочный сектор на системном разделе.
bootrec /ScanOs
bootrec /RebuildBcd
– сканирование всех дисков и поиск установленных Windows, занесение найденных копий в конфигурацию загрузчика BCD

После этого перезагрузите компьютер и проверьте загрузку Windows. Если ОС не загружается, следуйте инструкции.

Если команда bootsect.exe не будет найдена, попробуйте указать путь к ней:
X:\boot\bootsect.exe /nt60 all /force
bootsect.exe nt60 all force

Пересоздание BCD файла загрузчика Windows 10

Далее с помощью команды BCDedit нужно создать новый файл с конфигурацией загрузчика (предполагается, что у вас нет резервной копии BCD).

Удалите старый (поврежденный) файл BCD на разделе System Reserved  и создайте вместо него новый.
del c:\boot\bcd

Если разделу System Reserved не назначена буква диска (по-умолчанию), вы можете сами назначить ее с помощью diskpart.

Запустите: diskpart

Выберите диск (в моем случае в компьютере имеется всего один жесткий диск, а вы можете вывести список дисков командой list disk): select disk 0

Из скриншота выше видно, что раздел с меткой System Reserverd называется Volume 1. Выберите его: select volume 1

Назначьте букву диска (я назначил букву C:, но вы можете использовать любую другую букву, в этом случае измените путь в следующих командах): assign letter C:

exit

Создайте временный пустой файл 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

bcdedit.exe /set {bootmgr} device partition=c:Итак, вы создали пустой BCD файл с параметрами загрузчика. Теперь в него нужно добавить записи об установленных на диске Windows .
Создайте в хранилище BCD новую запись для Windows 10:
bcdedit.exe /create /d "Windows 10" /application osloader

Команда должна вернуть уникальный идентификатор (GUID) данной записи загрузчика:

The entry {8a7f03d0-5338-11e7-b495-c7fffbb9ccfs} was successfully created.

The entry {8a7f03d0-5338-11e7-b495-c7fffbb9ccfs} was successfully created.

Укажем, что bootmgr должен использовать данную запись по-умолчанию (после истечения времени ожидания при выборе ОС, для загрузки будет используется именно эта запись).

bcdedit /default {8a7f03d0-5338-11e7-b495-c7fffbb9ccfs}

Теперь в новой записи загрузчика осталось указать пути к имеющейся на диске установленной копии Windows 10. Ранее мы определили, что в среде 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

Осталось сделать данную загрузочную запись в BCD видимой (по умолчанию она скрыта):
bcdedit.exe /displayorder {default} /addlast

bcdedit.exe /displayorder {default} /addlastИтак, мы полностью пересоздали загрузчик Windows 10 (обновили файл BCD и перезаписали загрузочный сектор в MBR). Теперь вы можете перезагрузить компьютер и убедится, что Windows 10 загружается в штатном режиме.


Предыдущая статья Следующая статья


Комментариев: 53 Оставить комментарий

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)