Пересоздание файла хранилища данных конфигурации загрузки (BCD)
Файл BCD (Boot Configuratin Data) - преемник boot.ini начиная с Windows Vista. Он содержит информацию о загрузчиках операционных систем (и их параметрах), доступных на компьютере и располагается на активном разделе в папке boot.
В случае его удаления или повреждения (неправильной настройки) ОС перестаёт загружаться. Повреждение может быть также если разбить RAID массив, на котором находилась ОС.
В работающей ОС параметры BCD файла можно редактировать так:
- Пуск
- Компьютер
- Свойства (контекстное меню)
- Дополнительные параметры системы (меню слева)
- Дополнительно (вкладка)
- Загрузка и восстановление (раздел)
- Параметры (кнопка)
В не загружающейся ОС файл BCD придётся восстанавливать с помощью команд
BCDboot[1]
или
BCDEdit[2]
Возможное сообщение о повреждении BCD может выглядеть так:
File: \Boot\BCD Status: 0xc0000034 Info: The Windows Boot Configuration Data file is missing required information
- Для восстановление или пересоздания BCD файла загружаемся с дистрибутива Windows, выбираем язык и открываем командную строку Shift+F10.
- Если восстанавливаем BCD на RAID, то проходим дальше в процедуре установки ОС до момента, когда установщику можно будет передать драйвера RAID контроллера. Когда контроллер определён и RAID опознан появятся разделы.
- Проверить доступность дисков и файлов на них можно запустив notepad.exe и использовать его как файловый менеджер через Файл - Открыть (Ctrl+O). Кстати, на этом этапе можно скопировать на флэшку важную информацию с повреждённого диска, используя для этого навигацию по папкам и комбинацию Ctrl+C и Ctrl+V.
- Пробуем восстановить BCD файл автоматически:
bootrec /RebuildBCD
- Если это не помогло, то создаём BCD файл заново с помощью BCDEdit[2]:
- Создаём пустой файл,
- добавляем (импортируем) его,
- создаём запись для диспетчера загрузки bootmgr (приемник ntldr до Windows Vista),
- указываем, что он будет отвечать за загрузку
- указываем время ожидания при выборе ОС
- создаём запись в списке доступных ОС
bcdedit /createstore bcd bcdedit /import bcd bcdedit /create {bootmgr} bcdedit /set {bootmgr} device boot bcdedit /timeout 10 bcdedit /create /d "Windows 2012" /application osloader
- После выполнения последней команды программа вернёт глобальный уникальный идентификатор диска (GUID), который используем для определения записи по-умолчанию, т.е. та ОС, которая будет загружаться когда выйдет время ожидания загрузчика.
bcdedit /default {<GUID>}
- Если мы не уверены на каком томе у нас находится ОС, то ищем папку Windows. Это можно делать перебирая диски:
C: dir D: dir E: dir
или открыв Ноутпад (notepad.exe) как описано выше. Обычно системная папка называется Windows и находится она на томе (диске) D. В работающей ОС этот том имеет букву С, т.к. первый раздел, который сейчас определился как С, обычно скрыт, имеет метку "System Reserved" и не имеет буквы, чтобы не быть доступным для пользователя.
- Определяем параметры созданной записи
bcdedit /set {default} device partition=d: bcdedit /set {default} path\windows\system32\boot\winload.exe bcdedit /set {default} osdevice partition=d: bcdedit /set {default} systemroot \Windows bcdedit /set {default} detecthal yes
- Закрываем список ОС
bcdedit /displayorder {default} /addlast
- На этом всё. Перезагружаем компьютер и загружаемся в штатном режиме.
Сноски
См. также
- Официальная инструкция на английском языке по восстановлению BCD файла в Windows 7, можно прочесть машинный перевод на русский язык
- Изменение хранилища BCD с помощью Bcdedit