Створення резервних копій та відновлення сховища завантаження BCD в Windows

Нагадаємо, що Microsoft, починаючи з Windows Vista, відмовилася від старого завантажувача ОС Windows  NTLDR, замінивши його новим диспетчером завантаження - BOOTMGR. Код нового диспетчера завантаження зберігається в спеціальному файлі bootmgr в корені активного розділу. Диспетчер завантаження виконує процедуру завантаження відповідно до існуючої конфігурацією, яка міститься в спеціальному сховищі даних конфігурації BCD (Boot Configuratin Data). Дане сховище являє собою спеціальний бінарний файл з ім'ям BCD, розташований в каталозі BOOT активного розділу (це той самий "прихований" розділ з міткою System Reserved).

Диспетчер завантаження bootmgr відповідно до конфігурації завантаження в сховище BCD виконує завантаження ядра встановленої на комп'ютері ОС Windows. Крім того завантажувач на підставі конфігурації BCD може здійснити завантаження інших ОС Windows, встановлених на даному комп'ютері (NT / 2000 / XP), ОС сімейства Linux, змонтувати і завантажитися з файлу віртуального диска (якщо система встановлена ​​на 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
  • Перестворення сховища BCD
  • Відновлення сховища BCD з резервної копії

Резервне копіювання сховища BCD

Відкрийте командний рядок з правами адміністратора і виконайте наступну команду:

bcdedit / export e: \ bcd_backup.bcd

В даному прикладі конфігурація сховища BCD буде експортована на диск E: \ (оптимально, щоб цей диск був якимось зовнішнім сховищем або USB дисків) в файл bcd_backup.bcd.

Перестворення сховища BCD

У тому випадку, якщо при модифікації BCD була допущена помилка або відбувся певний збій, і система перестає нормально завантажуватися (наприклад, з'являються помилки BOOTMGR is Missing або BOOTMGR is compressed) необхідно перебудувати сховище BCD. Для цього:

  1. Завантажити з інсталяційного / завантажувального диска DVD або USB диска з Windows 7 або Windows 8
  2. У разі використання інсталяційного диска вибрати опцію Repair your computer
  3. Запустити командний рядок, перейшовши в розділ Troubleshoot -> Advanced Option -> Command Prompt
  4. У командному рядку виконайте команди
    • bootrec / FixMbr - перезапис master boot record на системному розділі
    • bootrec / FixBoot - пересозданіе завантажувального сектора на завантажувальному розділі
    • bootrec / ScanOS - сканування всіх дисків на предмет пошуку на них встановлених систем, сумісних з Windows
  5. bootrec / RebuildBcd

    Дана команда повинна спробувати самостійно знайти ОС Windows, встановлену на даному комп'ютері і додати запис про виявлену ОС в BCD. Крім того, є такі параметри запуску bootrec.

Відновлення сховища BCD з резервної копії

Замінити поточну конфігурацію BCD сховища, імпортувавши в нього раніше збережену конфігурацію, можна командою

bcdedit / import e: \ bcd_backup.bcd

Після імпорту BCD, перезавантажте комп'ютер і переконайтеся, що всі раніше наявні варіанти завантаження присутні і відпрацьовують коректно.