Как восстановить или установить средство восстановления запуска/восстановления системы после повреждения BCD?

Как восстановить или установить средство восстановления запуска/восстановления системы после повреждения BCD?

Как мне следует выполнить ремонт при запуске?

Эту проблему также можно решить, установив средство восстановления запуска на жесткий диск, как будто его изначально там не было.

В надежде, что кто-нибудь на форуме, посвященном Windows, сможет предложить идею, я также разместил это на Microsoft Answers:http://answers.microsoft.com/en-us/windows/forum/windows_7-system/install-system-repairfix-system-repair-boot-entry/6424eada-40b7-440e-9759-e2cc67aa3e3a

Startup repair на самом деле является инструментом, работающим в среде восстановления системы. Среда восстановления системы — это то, что нужно исправить, но я буду называть это startup repair, потому что так оно называется в меню загрузки.

Резюме внизу.


Проблема

При попытке использовать средство восстановления при загрузке появляется экран с кодом состояния 0xc000000eи сообщением об ошибке:

Выбор загрузки не удался, так как требуемое устройство недоступно.

Если я восстановлю BCD (у меня есть резервная копия полусломанного), у меня больше не будет возможности восстановить запуск.


История

Я случайно запустил свой компьютер (два жестких диска в RAID 1) в режиме IDE. Это, очевидно, привело к сбою Windows при запуске. Хранилище BCD было повреждено, выдавая то же сообщение о запуске, что и выше, но для обычной загрузки. В попытке исправить это я загрузился с установочного диска, получив кучу ошибок при попытке использовать bootrec /rebuildbcdкоманду:

Запрошенное системное устройство не найдено

Точнее, на экране не было записей для выбора ОС. В конце концов я обошел это, вручную открыв хранилище BCD ( bcdedit /store C:\Boot\BCD) и исправив deviceзаписи on {bootmgr}и {default}и osdeviceon {default}, на partition=C:for {bootmgr}(System Reserved) и partition=D:for {default}. Они были указаны как unknown, вероятно, из-за неудачной попытки загрузки в режиме IDE.

Теперь, по крайней мере, я могу успешно загрузиться... частично... в Windows. Основная цель этого вопроса — спросить, как я могу восстановить Startup Repairопцию загрузки, которая выдает ошибку при попытке найти загрузочное устройство: то же самое, что выдавала основная загрузка. В хранилище BCD нет записи. При моем первом перезапуске в среду восстановления DVD после ручного восстановления, он предложил восстановить среду восстановления на диске, что было сообщено как успешное (и, очевидно, не было).


Проблемы с нормальной загрузкой (теперь исправлено)

Теперь другая серьезная проблема — загрузка на полпути. А именно, chkdskзапускается каждая загрузка. После запуска и завершения в первый раз он перезагрузился и повторился. Сам диск все еще читаем, о чем свидетельствует частичная загрузка и моя способность читать его через среду восстановления на основе DVD. Безопасный режим зависает при загрузке CLASSPNP.sys, а клавиатура не отвечает во время chkdskобратного отсчета, что указывает на возможное повреждение файла/драйвера. Что я могу/должен сделать?

sfcсообщается о работе в автономном режиме

Защита ресурсов Windows не обнаружила нарушений целостности.

Мой главный вопрос остается о том, как мне снова заставить работать восстановление при запуске. Я надеюсь, что как только это сработает, я смогу запустить восстановление системы, которое может (или не может) восстановить возможно поврежденные системные двоичные файлы.

В конце концов, DVD-версия восстановления запуска исправила проблему с нормальной загрузкой Windows. К сожалению, что-то изменило GUID диска или что-то еще где-то, что означает, что у System Restore нет точек восстановления для моих текущих C:и D:разделов, но у него есть довольно много для C: (Missing)и D: (Missing). Для инструмента восстановления, который ломается при изменении GUID диска, это... ну, совершенно бесполезно. Интересно, кто это придумал.

Установленная версия Startup Repair остается неисправной.


Я довольно искусен в создании стен текста. Воткраткое содержание:

  • BCD был поврежден
  • BCD был отремонтирован вручную путем исправления записей deviceиosdevice
  • Восстановление при загрузке теперь сообщает, что не может найти загрузочное устройство, та же ошибка, которая возникала при обычной загрузке, когда BCD был поврежден
  • Обычный запуск выполняется chkdskпри каждой загрузке и перезагружается сразу после ее завершения.
  • Безопасный режим зависает наCLASSPNP.sys
  • Клавиатура не реагирует во время chkdskобратного отсчета нажатия любой клавиши

Если это имеет значение, то моя конкретная ОС — Windows 7 x64 Professional.


И, конечно же, большинство интернет-ресурсов посвящены одному из следующих направлений:

  • Использование восстановления при запуске для устранения сбоя загрузки
  • Исправление сбоя загрузки
  • Отключение восстановления при запуске

решение1

Ага! Исправил!

Как я отметил вветка на Microsoft Answers, на которую я ссылался, не было записи для среды восстановления из bcdedit. Также не было ни одной видимой из EasyBCD. Я заметил, что они были в реестре, но они показаны там GUID - не очень удобно для навигации.

Благодаряэтот ответпредложениеВизуальный редактор BCD, мне удалось просмотреть записи среды восстановления в удобном виде.


Наконец-то увидел проблему!

Благодаря многократным запускам Startup Repair и ручному восстановлению основного варианта загрузки у меня был один работающий основной вариант загрузки идваПараметры загрузки среды восстановления. Тот (восстановленный), который показан на снимке экрана ниже, был создан во время восстановления запуска.

Скриншот (восстановленного) RE
Нажмите для полного размера

Как видно на снимке экрана ниже, RecoverySequenceGUID основного варианта загрузки не совпал с GUID восстановленной среды восстановления (какой длинный язык!). Вместо этого,он указал на поврежденную запись среды восстановления. Вместо того, чтобы пытаться связать его с (восстановленной) записью, я просто исправил исходную и удалил (восстановленную) - тем более, что у (восстановленной) записи другие GUID и настройки наследования.

Скриншот несовпадающих GUID
Нажмите для полного размера


Решаем проблему!

Прежде чем пытаться выполнить ремонт вручную,резервное копированиеBCD-файл. Это можно сделать в Store> Backup Store.

  1. Я связал ApplicationDeviceи OSDeviceв оригинальной опции Recovery Environment с C:разделом. Это то место, где \Recovery\b9c42ebd-946e-11e0-8a47-f688fd0bc489\Winre.wimнаходится файл, и это мой основной раздел ОС. Я слышал, что на некоторых машинах OEM он находится в другом месте: HP (и, возможно, другие) создают свой собственный раздел восстановления, который следует использовать.Примечание для тех, кто следит за этим: GUID, которые вы видитеволябудь другим.

    Скриншот, показывающий шаг
    Нажмите для полного размера

  2. Мне пришлось исправить Ramdisk Optionsзапись (связанную с GUID исходной среды восстановления): SdiDeviceнужно было установить тип PartitionDevice, 'Drive' C:, пустой Path. Честно говоря, это было основано на DeviceOptionsсозданном Startup Repair и связано с (восстановленной) средой восстановления.

    Скриншот, показывающий шаг
    Нажмите для полного размера

  3. Затем я удалил записи DeviceOptionsи Windows Recovery Environment (recovered).

    Скриншот, показывающий шаг
    Нажмите для полного размера

  4. Перезагрузите, протестируйте, наслаждайтесь! Это исправит ошибку Startup Repair при неудачном запускеи Repair Your Computerв меню дополнительных параметров загрузки ( F8при запуске).


К сожалению, я не понял, как добавить среду восстановления в чистое хранилище BCD. Я предполагаю, что это будет просто добавление похожих опций, как показано на скриншоте.

Связанный контент