понедельник, 8 апреля 2013 г.

Воссоздание BCD в Windows

Если запись загрузочной конфигурации (BCD) накрылась (стёрлась) или ещё чего с ней приключилось, Windows не сможет запуститься, в результате чего при загрузке можно увидеть сообщение типа "BOOTMGR is Missing" или что-то подобное. Иногда система просто постоянно загружается в режиме восстановления.
Наиболее простым решением является воссоздать BCD, что можно сделать автоматически при помощи команды bootrec.
Приведенная ниже инструкция относится к Windows Vista, Windows 7 и Windows 2008 R2.

Инструкция:

  1. Запустите систему в режиме восстановления (с установочного CD).
  2. Запустите командную стоку.
  3. в режиме командной строки запустите:
    bootrec /rebuildbcd
    
    Эта команда осуществляет поиск установленных копий Windows не включённых в BCD и спрашивает добавить их или нет.
  4. В результате выполнения мы увидим одно из двух сообщений.
    Вариант 1
    Scanning all disks for Windows installations.
    
    Please wait, since this may take a while...
    
    Successfully scanned Windows installations.
    Total identified Windows installations: 0
    The operation completed successfully.
    
    Вариант 2
    Scanning all disks for Windows installations.
    
    Please wait, since this may take a while...
    
    Successfully scanned Windows installations.
    Total identified Windows installations: 1
    [1]  D:\Windows
    Add installation to boot list? Yes<Y>/No<N>/All<A>:
    

    В первом случае переходим к шагу 5. Скорее всего, инсталляционные данные Windows в хранилище BCD есть, а bootrec не смог найти дополнительныеинсталляции Windows для добавления в BCD. Это нормально, просто потребуется выполнить несколько дополнительных действий для воссоздания BCD.
    Во втором случае отвечаем положительно на поставленный вопрос и переходим к шагу 10.
  5. Поскольку хранилище BCD существует и содержит инсталляции Windows , нам нужно удалить их вручную, а затем попытаться воссоздать их снова.
    Выполняем команду:
    bcdedit /export c:\bcdbackup
    
    Эта команда экспортирует хранилище BCD в файл c:\bcdbackup. 
    При успешном выполнении команда выводит на экран следующее сообщение:
    The operation completed successfully.
    
     
  6. Теперь снимем атрибуты системный, только для чтения и скрытый с файла c:\boot\bcd при помощи команды:
    attrib c:\boot\bcd -h -r -s
    
    теперь мы можем переименовать этот файл.
  7. Переименуем его используя команду:
    ren c:\boot\bcd bcd.old
    
    Теперь мы вполне можем выполнить действия шага 3, поскольку хранилища BCD больше нет. В принципе, мы могли удалить этот файл, поскольку собираемся воссоздать его заново, однако для дополнительной надёжности лучше сохранить его как своеобразную резервную копию.
  8. Воссоздаём хранилище BCD при помощи команды:
    bootrec /rebuildbcd
    
    которая должна выдать следующее сообщение:
    Scanning all disks for Windows installations.
    
    Please wait, since this may take a while...
    
    Successfully scanned Windows installations.
    Total identified Windows installations: 1
    [1]  D:\Windows
    Add installation to boot list? Yes<Y>/No<N>/All<A>:
    
     
  9. Подтверждаем наше желание воссоздать BCD и в случае успеха получаем сообщение:
    The operation completed successfully.
    
     
  10. Перезапускаем компьютер.
    Если единственной проблемой было хранилище BCD, то Windows должен запуститься.
     

10 комментариев:

  1. Огромное спасибо!!! Выручили сильно!!!!!

    ОтветитьУдалить
  2. attrib c:\boot\bcd -h -r -s эта команда не видит путь к boot 🤦‍♂️

    ОтветитьУдалить
    Ответы
    1. Была такая проблема, надо нажать нет, когда MSDart (я c него загружался) спрашивает о том, назначить ли буквы дисков в соответствии с целевой ОС

      Удалить
  3. Ничего не получилось всё делал по инструкции но всё равно пишет Total identified Windows installations: 0

    ОтветитьУдалить
  4. Обновите флешку с дистрибутивом винды. Версии разные, вот и не видит.

    ОтветитьУдалить
  5. Большое спасибо. Много времени ушло что бы разобраться с этим.И как жаль что в проблема было в в настройке Биоса,надо было всего лишь sata mode выставить в настройку AHCI

    ОтветитьУдалить
  6. Backup прошла успешно. При вводе следующих команд ничего не происходило. После перезагрузки не могу войти в среду восстановления. Чёрный экран и проблема с boot bcd status:0xc0000098. Только хуже сделал

    ОтветитьУдалить
  7. ren c:\boot\bcd bcd.old файл существует или не найден

    ОтветитьУдалить