Компьютер76

РАБОТА С КОМПЬЮТЕРОМ СТАЛА ЛЕГЧЕ

Как восстановить загрузчик на Legacy BIOS?

mbr_и_gpt

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

скрытый раздел загрузки legacy bios на mbr

где находится bcd файл

сам файл

Его расположение традиционно: \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...

windows failed to start

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

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

Что нам понадобится?

Перед тем как приступить к ремонту…

Сообщение на экране говорит о том, что загрузчик не может найти файл. Но это не значит, что он потерян или повреждён. Может статься, что система ищет искомый файл не там. А потому

  • удалите из портов все внешние хранители информации (флешки и внешние диски). На них может хранится информация с предыдущих записей, которые текущая установка может ошибочно принимать за текущие настройки. При этом настройки BIOS могут также ошибочно принимать какую-то из флешек за носитель. с которого должна идти загрузка. Это сплошь и рядом.
  • обратитесь к способам исправления файловой таблицы и системных файлов с помощью утилит SFC и CHKDSK

Пробуем восстановить BCD на MBR автоматически.

  • из компьютера вынимаем все лишние флешки и удаляем прочие не принимающие в работе устройства с USB-интерфейсом
  • загружаемся с флешки/диска с Windows
  • через Shift + F10 выходим на аварийную командную консоль cmd

shift +f10 для выхода в cmd

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

пересоздание BCD

  • и проверяйте, не прокатило ли. Если нет…

Пробуем восстановить 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

временный bcd файл

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

запись bootmgr

  • всё это дело из файла 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.

Успехов.

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

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

Максимальный размер загружаемого файла: 50 МБ. Вы можете загрузить: изображение, видео. Ссылки на YouTube, Facebook, Twitter и другие сервисы, вставленные в текст комментария, будут автоматически встроены. Перетащите файлы сюда