Диспетчер завантаження в сучасних версіях 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
bootrec / FixBoot
- команда створює нові завантажувальний сектор на системному розділі.bootrec / ScanOs
- сканування всіх дисків і пошук встановлених Windows, занесення знайдених копій в конфігурацію завантажувача BCD
bootrec / RebuildBcd
Після цього перезавантажте комп'ютер і перевірте завантаження Windows. Якщо ОС не завантажується, коректний.
Якщо команда bootsect.exe що не знайдено, спробуйте вказати шлях до неї:X: \ boot \ bootsect.exe / nt60 all / force
Перестворення BCD файлу завантажувача Windows 10
Далі за допомогою команди BCDedit потрібно створити новий файл з конфігурацією завантажувача (передбачається, що у вас немає резервної копії BCD).
Видаліть старий (пошкоджений) файл BCD на розділі System Reserved і створіть замість нього новий.del c: \ boot \ bcd
запустіть: 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 завантажується в штатному режимі.