Напомним, что Microsoft, начиная с Windows Vista, отказалась от старого загрузчика ОС Windows NTLDR, заменив его новым диспетчером загрузки — BOOTMGR. Код нового диспетчера загрузки хранится в специальном файле bootmgr в корне активного раздела. Диспетчер загрузки выполняет процедуру загрузки в соответствии с существующей конфигурацией, которая содержится в специальном хранилище данных конфигурации BCD (Boot Configuratin Data). Данное хранилище представляет собой специальный бинарный файл с именем BCD, расположенный в каталоге BOOT активного раздела (это тот самый «скрытый» раздел с меткой System Reserved).
Диспетчер загрузки bootmgr в соответствии с конфигурацией загрузки в хранилище BCD выполняет загрузку ядра установленной на компьютере ОС Windows. Кроме того загрузчик на основании конфигурации BCD может осуществить загрузку других ОС Windows, установленных на данном компьютере (NT/2000/XP), ОС семейства Linux, смонтировать и загрузиться с файла виртуального диска (если Windows установлена на vhd диск) или из wim образа.
Хранилище BCD чем-то напоминает знакомый еще с Windows XP /2000 файл с параметрами загрузки boot.ini. Однако с помощью текстового редактора напрямую его нельзя отредактировать. Модификация хранилища BCD возможна через специальную утилиту командной строки Boot Configuration Data Editor — bcdedit.exe (находится в каталоге c:\Windows\System32).
Нужно понимать, что от правильности и согласованности информации в хранилище загрузки BCD зависит корректность загрузки ОС Windows.И если данный файл будет поврежден или удален, Windows просто не сможет нормально загрузиться. Поэтому при любых экспериментах с хранилищем BCD (установка дополнительной ОС с возможностью двойной или мультизагрузки, настройка дополнительных параметров загрузки, например описанных в статьях «Добавляем безопасный режим в диспетчер загрузки Windows 8» или «Интеграция DART в диспетчер загрузки») , рекомендуется предварительно сделать резервную копию конфигурации хранилища BCD с целью возможного отката в случае, если что-то пойдет не так.
В данной статье мы рассмотрим методику резервного копирования и восстановления хранилища BCD в Windows 8.
Резервное копирование хранилища BCD
Откройте командную строку с правами администратора и выполните следующую команду:
bcdedit /export e:\bcd_backup.bcd
В данном примере конфигурация хранилища BCD будет экспортирована на диск E:\ (оптимально, чтобы этот диск был неким внешним хранилищем или USB дисков) в файл bcd_backup.bcd.
Пересоздание хранилища BCD
В том случае, если при модификации BCD была допущена ошибка или произошел некий сбой, и система перестает нормально грузиться (например, появляются ошибки BOOTMGR is Missing или BOOTMGR is compressed) необходимо пересоздать хранилище BCD. Для этого:
- Загрузитесь с установочного / загрузочного диска DVD или USB диска с Windows 7 или Windows 8
- В случае использования установочного диска выбрать опцию Repair your computer
- Запустить командную строку, перейдя в раздел Troubleshoot -> Advanced Option ->Command Prompt
- В командной строке выполните команды
-
bootrec /FixMbr
– перезапись master boot record на системном разделе -
bootrec /FixBoot
– пересоздание загрузочного сектора на загрузочном разделе -
bootrec /ScanOS
– сканирование всех дисков на предмет поиска на них установленных систем, совместимых с Windows
-
bootrec /RebuildBcd
Данная команда должна попытаться самостоятельно найти ОС Windows, установленную на данном компьютере и добавить запись об обнаруженной ОС в BCD. Кроме того, имеются следующие параметры запуска bootrec.
Восстановление хранилища BCD из бэкапа
Заменить текущую конфигурацию BCD хранилища, импортировав в него ранее сохраненную конфигурацию, можно командой
bcdedit /import e:\bcd_backup.bcd
После импорта BCD, перезагрузите компьютер и удостоверьтесь, что все ранее имеющиеся варианты загрузки присутствуют и отрабатывают корректно.