Ручне відновлення конфігурації завантажувача BCD і записи MBR в Windows 10

Диспетчер завантаження в сучасних версіях Windows використовує файл конфігурації завантаження BCD (Boot Configuration Data) для запуску операційної системи, встановленої на комп'ютері. У цьому файлі зберігаються дані про встановлену Windows і параметрах її завантаження. Якщо файл BCD видалений або пошкоджений, Windows перестає завантажуватися. Також ви не зможете завантажити Windows, якщо пошкоджена MBR запис на жорсткому диску. У цій статті ми покажемо спосіб ручного пересозданія файлу сховища даних конфігурації завантаження BCD і Master Boot Record (MBR) на прикладі Windows 10.

Якщо файл BCD пошкоджений, відсутній, якщо ви видалили / отформатировали окремий розділ диска з міткою System Reserved (І розміром 500Мб), спеціальний OEM розділ, то швидше за все при спробі завантажити Windows, користувач побачить таке повідомлення:
Your PC needs to be repaired
The Boot Configuration Data file is missing some required information
File: \ Boot \ BCD
Error code: 0xc0000034

Також помилка може виглядати так:

The Boot Configuration Data for your PC is missing or contain errors. File: \ boot \ bcd Error Code: 0xc000000f

При пошкодженні MBR може бути помилка No operating system found.

Якщо в помилку є згадка файлу winload.efi, перейдіть до статті Відсутній файл winload.efi в Windows 10.

зміст:

  • Автоматичне відновлення конфігурації завантажувача Windows
  • Ідентифікація розмітки дисків і букв томів
  • Відновлення завантажувального сектора MBR в Windows 10
  • Перестворення BCD файлу завантажувача Windows 10

Автоматичне відновлення конфігурації завантажувача Windows

При появі такої помилки, в першу чергу спробуйте виправити проблему із завантаженням ОС за допомогою режиму автоматичного відновлення (Startup Repair), який можна запустити з середовища відновлення Windows RE.
Порада. Бажано періодично перевіряти працездатність середовища WinRE, і якщо вона не працює, скористатися для її відновлення методикою зі статті Відновлення середовища WinRE в Windows 10.

Якщо автоматичне відновлення за допомогою Startup Repair не допомогло вирішити проблему, вам потрібно завантажитися з завантажувального або установочного диска з Windows або в середовищі WinRe (Repair your computer -> Troubleshoot -> Advanced options -> Command Prompt), запустити командний рядок і спробувати створити новий файл конфігурації BCD і оновити MBR запис "з нуля".

У цьому прикладі я буду використовувати інсталяційний диск з Windows 10. Виберіть в налаштуваннях BIOS первинним завантажувальним пристрій DVD диск або USB флешку (в залежності від того, з якого пристрою ви хочете завантажити комп'ютер). Завантажити з інсталяційного диска і на екрані вибору мови установки натисніть клавіші Shift+F10. Перед вами відкриється консоль командного рядка.

Спробуйте відновити BCD файл автоматично, виконавши команду:

bootrec / RebuildBCD

Перезавантажте комп'ютер і перевірте, чи завантажується Windows (не забудьте змінити пріоритет завантажувальних пристроїв в BIOS). Якщо ОС не завантажується, ще раз завантажити з інсталяційного диска і відкрийте вікно командного рядка.

Ідентифікація розмітки дисків і букв томів

дуже важливо. Всі інструкції, описані нижче, підходять для звичайних MBR+BIOS систем. На системах з UEFI для перевтілення BCD потрібно скористатися наступними інструкціями з відновлення завантажувача для Windows 10/8 c EFI або для Windows 7.

Як зрозуміти, чи використовується у вас BIOS або UEFI система? Найпростіше перевірити тип таблиці розділів на диску, на якому встановлена ​​Windows: GPT або MBR. Для цього виконайте команду:

diskpart

Потім виконайте:

list disk

Якщо у диска в стовпці Gpt вказана зірочка (*), Значить на диску використовується таблиця розділів GPT (це означає, що у вас комп'ютер з UEFI, і для відновлення завантажувача потрібно використовувати статтю за посиланням вище). Якщо в стовпці GPT зірочка відсутня, значить у вас на диску таблиця розділів MBR, і ви можете продовжити слідувати цій інструкції.

Далі вам потрібно ідентифікувати локальні диски і розділи системи (швидше за все призначені ним літери дисків будуть відрізнятися від дисків, які ви бачили під час роботи в Windows). Найпростіше це зробити за допомогою утиліти diskpart. Виконайте наступні команди:

diskpart
list vol

Перед вами з'явиться список розділів в системі, призначені їм букви дисків і їх розмір. У нашому випадку до комп'ютера підключений 1 жорсткий диск, на якому є всього два розділи:

  • розділ System Reserved розміром 500 Мб, якій призначена буква диска C:. На цьому невеликому службовому розділі за замовчуванням зберігається файл конфігурації завантаження BCD (докладніше)
  • NTFS розділ розміром 39 Гб, якій призначена буква D:. На цьому розділі знаходиться встановлена ​​Windows, програми та дані користувача.
важливо. Запам'ятайте букви дисків, призначені розділах. Дані букви дисків будуть використовуватися в наступних командах.

Відновлення завантажувального сектора MBR в Windows 10

За допомогою наступних команд ми повторно дані в MBR і завантажувального сектору, помістимо в них посилання на завантажувач Windows (bootloader).

bootrec.exe / fixmbr
bootsect.exe / nt60 all / force

Перш, ніж йти далі, спробуйте автоматично перебудувати конфігурацію завантажувача BCD командами (це найпростіший спосіб для початківців):

bootrec / FixBoot - команда створює нові завантажувальний сектор на системному розділі.
bootrec / ScanOs
bootrec / RebuildBcd
- сканування всіх дисків і пошук встановлених Windows, занесення знайдених копій в конфігурацію завантажувача BCD

Після цього перезавантажте комп'ютер і перевірте завантаження Windows. Якщо ОС не завантажується, коректний.

Якщо команда bootsect.exe що не знайдено, спробуйте вказати шлях до неї:
X: \ boot \ bootsect.exe / nt60 all / force

Перестворення BCD файлу завантажувача Windows 10

Далі за допомогою команди BCDedit потрібно створити новий файл з конфігурацією завантажувача (передбачається, що у вас немає резервної копії BCD).

Видаліть старий (пошкоджений) файл BCD на розділі System Reserved і створіть замість нього новий.
del c: \ boot \ bcd

Якщо розділу System Reserved не призначена буква диска (за замовчуванням), ви можете самі призначити її за допомогою diskpart.

запустіть: diskpart

Виберіть диск (в моєму випадку в комп'ютері є всього один жорсткий диск, а ви можете вивести список дисків командою list disk): select disk 0

З скриншота вище видно, що розділ з міткою System Reserverd називається Volume 1. Виберіть його: select volume 1

Призначте букву диска (я призначив букву C:, але ви можете використовувати будь-яку іншу букву, в цьому випадку змініть шлях в наступних командах): assign letter C:

exit

Створіть тимчасовий порожній файл bcd.tmp:
bcdedit / createstore c: \ boot \ bcd.tmp

Створіть запис для диспетчера завантаження bootmgr:
bcdedit.exe / store c: \ boot \ bcd.tmp / create bootmgr / d "Windows Boot Manager"

Імпорт в BCD настройки з файлу bcd.tmp:
bcdedit.exe / import c: \ boot \ bcd.tmp

Вкажіть, що завантажувач знаходиться на службовому розділі System Reserved (йому призначена буква диска C:)
bcdedit.exe / set bootmgr device partition = c:

Налаштуйте час очікування при виборі ОС:
bcdedit.exe / timeout 10

Видаліть тимчасовий файл:
del c: \ boot \ bcd.tmp

Отже, ви створили порожній BCD файл з параметрами завантажувача. Тепер в нього потрібно додати записи про встановлені на диску Windows .
Створіть в сховище BCD новий запис для Windows 10:
bcdedit.exe / create / d "Windows 10" / application osloader

Команда повинна повернути унікальний ідентифікатор (GUID) цього запису завантажувача:

The entry 8a7f03d0-5338-11e7-b495-c7fffbb9ccfs was successfully created.

Зазначимо, що bootmgr повинен використовувати даний запис за замовчуванням (після закінчення часу очікування при виборі ОС, для завантаження буде використовується саме цей запис).

bcdedit / default 8a7f03d0-5338-11e7-b495-c7fffbb9ccfs

Тепер в новому записі завантажувача залишилося вказати шляхи до наявної на диску встановленої копії Windows 10. Раніше ми визначили, що в середовищі WinPE диску з встановленою Windows Провіднику D:. Використовуйте цю букву диска в наступних командах:

bcdedit.exe / set default device partition = d:
bcdedit.exe / set default osdevice partition = d:
bcdedit.exe / set default path \ Windows \ system32 \ winload.exe
bcdedit.exe / set default systemroot \ Windows

Залишилося зробити дану завантажувальний запис в BCD видимої (за замовчуванням вона прихована):
bcdedit.exe / displayorder default / addlast

Отже, ми повністю перебудували завантажувач Windows 10 (оновили файл BCD і перезаписали завантажувальний сектор в MBR). Тепер ви можете перезавантажити комп'ютер і переконається, що Windows 10 завантажується в штатному режимі.