Привет, друзья. EFI-системы – установленные на устройствах с активной BIOS UEFI на GPT-диске ОС Windows 8.1 и 10 – гораздо устойчивее к проблемам повреждения загрузчика, нежели эти же версии, работающие на обычных MBR-дисках. Будучи эволюционным продолжением стиля разделов MBR, стиль GPT являет собой более совершенное в плане сохранности и восстановления данных решение. Тем не менее вследствие критической системной ошибки, некорректных пользовательских действий или проникновения на компьютер вирусов EFI-загрузчик Windows может быть повреждён и препятствовать запуску системы. В этой статье рассмотрим, как его восстановить с помощью средств Live-диска от сборщика Сергея Стрельца.
Когда EFI-загрузчик повреждается, иногда можем видеть BSOD, констатирующий ошибки типа 0x000000d, 0xc000000f, 0x0000001 и т.п.
Но чаще проявление этой проблемы встречается в виде циклического перезапуска компьютера с попытками автоматического восстановления. В таком случае можем нажать «Дополнительные параметры».
И попробовать системную фичу восстановления при загрузке.
Обычно она не помогает, но после её работы как минимум получим чёткое понимание ситуации, что система самостоятельно с проблемой справиться не может. И необходимо наше активное участие.
И MBR-, и EFI-загрузчик реанимируется при помощи командной строки, доступ к которой можно получить в тех же дополнительных параметрах при циклической перезагрузке устройства. Либо с помощью диска установки Виндовс. В командной строке необходимо провести целую серию операций, чтобы восстановить хранилище данных загрузчика и пересоздать сам загрузчик. Этому процессу есть юзабильная альтернатива – реанимационные Live-диски со специальным ПО на борту. Такая альтернатива будет понятней не особо опытным пользователям и избавит от упущенной возможности реанимации Windows из-за неверно введённых команд. Плюс к этому, реанимационный Live-диск имеет прочие преимущества. В нашем случае восстанавливать EFI-загрузчик будем с помощью Live-диска от Сергея Стрельца.
На борту Live-диска от Стрельца имеется огромный арсенал средств для реанимации Windows. Даже если загрузчик реанимировать не удастся, с помощью этого Live-диска сможем переустановить систему с использованием встроенных утилит WinNTSetup и 78Setup. При этом получим возможность:
- Перенести важные файлы на несистемный диск для их сохранности;
- Создать бэкап текущей Windows любой из программ-бэкаперов, присутствующих на борту Live-диска, чтобы после переустановки подмонтировать образ и поэтапно извлечь нужные данные;
- Получить доступ к Интернету для поиска информации и решения личных неотложных вопросов.
Как скачать LiveDisk от Стрельца и создать с ним загрузочный носитель, смотрим здесь. Ну и загружаем ПК или ноутбук с незапускающейся системой с загрузочного носителя.
Находясь внутри Live-диска, первым делом прибегнем к помощи программы EasyUEFI. Она может бэкапить и восстанавливать содержимое EFI-раздела с данными загрузчика, а также умеет его пересоздавать, если ранее никаких бэкапов не делалось. Запускаем EasyUEFI.
В окне программы выбираем менеджер EFI-раздела.
Далее запускаем функцию пересоздания EFI-раздела.
Вверху выбираем жёсткий диск, где нужно восстановить EFI-загрузчик. По центру окна ставим галочки системных разделов в их визуальной таблице. Первой ставим галочку диска С, второй – галочку EFI-раздела. Затем жмём «Rebuild».
Подтверждаем.
По завершении операции закрываем программу, завершаем работу Live-диска и пробуем загрузить Windows.
При тестировании EasyUEFI не всегда удавалось пересоздать сам загрузчик, но программа стабильно восстанавливала файлы его хранилища. Если система не запускалась из-за отсутствия или повреждения каких-то данных в хранилище, после манипуляций с EasyUEFI проблема должна решиться. Если причина не в этом, и Windows всё равно не загружается, можно попробовать пересоздать EFI-загрузчик другими средствами Live-диска.
В состав LiveDisk от Стрельца входит Hard Disk Manager, известный продукт от Paragon. Эта программа не восстанавливает хранилище загрузчика, но умеет его самого пересоздавать. И, собственно, может выполнить ту часть работы, которая, возможно, не получится у EasyUEFI. Запускаем программу.
Идём в раздел «Утилиты», выбираем «Мастер восстановления загрузки».
Жмём «Далее».
Выбираем пункт исправления параметров загрузки EFI.
Выбираем Windows, кликаем «Далее».
Применяем изменения. Жмём «Далее».
Готово.
Пробуем теперь загрузить Windows.
Если и после предыдущей операции EFI-загрузчик не восстановился, можно попытаться его пересоздать с помощью командной строки. Работа с ней будет минимальной, поскольку нам не нужно восстанавливать хранилище загрузчика, оно уже восстановлено программой EasyUEFI. Также мы упростим работу с командной сторукой добавлением EFI-разделу буквы с помощью утилиты Bootice. В её окошке выбираем жёсткий диск, жмём «Parts Manage».
В таблице вверху кликаем EFI-раздел – тот, что форматирован в FAT32. Потом жмём кнопку добавления буквы. И выбираем любую незанятую букву.
Закрываем Bootice, теперь нам нужна командная строка. Вводим сначала:
cd /d z:\efi\microsoft\boot
Здесь в каждом отдельном случае необходимо вместо «z» указать ту букву, которая выбиралась в окне утилиты Bootice.
Затем вводим:
bootrec /rebuildbcd
В ответ на введённые команды получим сообщение о количестве обнаруженных Windows. Если они обнаружатся, дополнительно вписываем букву «Y» на запрос о внесении систем в список загрузки.
Всё – можем пробовать загрузить Windows. Если при старте системы нас по-прежнему будет встречать экран смерти с ошибкой, жмём F8.
Затем Enter для повторного запуска Windows.
Друзья, простейший юзабильный способ восстановления загрузчика EFI-систем Windows на GPT-диске может предложить программа Dism++, присутствующая в числе арсенала LiveDisk by Sergei Strelec. С её помощью можно выбирать, диск «приписки» Windows — т.е. жёсткий диск, если их несколько, и на каждом из них есть свой EFI-загрузчик. Читайте по этой программе отдельную статью «Восстановление загрузчика Windows программой Dism++».
Если у вас возникла ситуация, когда из двух установленных на компьютере Windows загружается только одна из них, вы можете добавить её в меню загрузки с помощью рассмотренной выше программы Dism++ или также присутствующей на Live-диске Стрельца программы EasyBCD. А можете и вовсе создать для второй системы, если она размещается на другом жёстком диске, свой отдельный загрузчик. А можете сделать и то, и другое, и тогда ваша вторая система будет одновременно и со своим независимым загрузчиком, и в числе вариантов загрузки на диске первой системы. И её можно будет запускать удобным способом с помощью утилиты iReboot. Подробнее об этом читайте в отдельной статье сайта «Как восстановить загрузку одной из двух EFI-систем Windows, если нет меню загрузчика, с помощью Live-диска by Sergei Strelec».
Друзья, ни один предложенный выше способ восстановления загрузчика Windows не поможет, если дело имеем с совсем уж сложной ситуацией, когда повреждён или вовсе удалён загрузочный EFI-раздел. Этот раздел должен существовать, и у него должна быть соответствующая атрибутика, т.е. он должен значиться как EFI System Partition. А не как просто раздел с файловой системой FAT32 или FAT16. Если EFI-раздел удалён или существует, но без должной атрибутики, его необходимо пересоздать. Как пересоздать EFI-раздел?
На LiveDisk’е Стрельца по пути «Программы WinPE – Жёсткий диск» в числе инструментов по работе с дисковым пространством есть одна примечательная программка – DiskGenius. Запускаем и в её окне (в древовидной панели слева или в таблице дисков и разделов в основном окне) кликаем EFI-раздел, если он не удалён. Кликаем и удаляем его кнопкой на панели инструментов «Delete».
Далее указываем освобождённое от удалённого EFI-раздела место на карте диска. И жмём кнопку «New Partition».
В форме создания нового раздела из перечня типов файловых систем выбираем «EFI System Partition». Жмём «Ок».
Применяем изменения кнопкой «Save All».
EFI-раздел пересоздан. И теперь можем восстанавливать загрузчик с помощью рассмотренных выше средств.
LiveDisk by Sergei Strelec многим примечателен, в частности, тем, что если у вас не получится по какой-то причине реанимировать загрузчик, Windows, если не повреждены непосредственно её системные файлы, можно запускать без загрузчика. Его роль временно может выполнять сам Live-диск Стрельца. Как с его помощью запускать систему без с повреждённым загрузочным разделом или без такового в принципе, читаем в статье «Как запустить Windows без загрузчика: используем Live-диск by Sergei Strelec».
Находясь внутри Live-диска, первым делом прибегнем к помощи программы EasyUEFI. Она может бэкапить и восстанавливать содержимое EFI-раздела с данными загрузчика, а также умеет его пересоздавать, если ранее никаких бэкапов не делалось. Запускаем EasyUEFI.
В окне программы выбираем менеджер EFI-раздела.
Далее запускаем функцию пересоздания EFI-раздела.
Вверху выбираем жёсткий диск, где нужно восстановить EFI-загрузчик. По центру окна ставим галочки системных разделов в их визуальной таблице. Первой ставим галочку диска С, второй – галочку EFI-раздела. Затем жмём «Rebuild».
Подтверждаем.
По завершении операции закрываем программу, завершаем работу Live-диска и пробуем загрузить Windows.
При тестировании EasyUEFI не всегда удавалось пересоздать сам загрузчик, но программа стабильно восстанавливала файлы его хранилища. Если система не запускалась из-за отсутствия или повреждения каких-то данных в хранилище, после манипуляций с EasyUEFI проблема должна решиться. Если причина не в этом, и Windows всё равно не загружается, можно попробовать пересоздать EFI-загрузчик другими средствами Live-диска.
В современных версиях Windows информация для запуска операционной системы храните в файле конфигурации загрузки BCD (Boot Configuration Data). В этом файле хранятся данные об установленной Windows и параметрах ее загрузки. Если файл BCD удален или поврежден, Windows перестает загружаться. Также вы не сможете загрузить Windows, если повреждена MBR запись на жестком диске. В этой статье мы покажем, как корректно пересоздать файл хранилища данных конфигурации загрузки BCD и
Master Boot Record
(MBR) на примере Windows 10 и 11.
Содержание:
- Ошибка “The boot configuration data file is missing some required information”
- Автоматическое восстановление конфигурации загрузчика Windows
- Идентификация разметки дисков и букв томов
- Восстановление загрузочного сектора MBR в Windows 10/11
- Пересоздание BCD файла загрузчика Windows 10
Ошибка “The boot configuration data file is missing some required information”
Если файл 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.
Автоматическое восстановление конфигурации загрузчика Windows
При появлении такой ошибки, в первую очередь попробуйте исправить проблему с загрузкой ОС с помощью режима автоматического восстановления (Startup Repair), который можно запустить из среды восстановления Windows RE.
Совет. Желательно периодически проверять работоспособность среды WinRE, и если она не работает, воспользоваться для ее восстановления методикой из статьи Восстановление среды WinRE в Windows.
Если автоматическое восстановление с помощью Startup Repair не помогло решить проблему, вам нужно загрузиться с загрузочного или установочного диска с Windows или в среде WinRe (Repair your computer -> Troubleshoot -> Advanced options -> Command Prompt), запустить командную строку и попробовать полностью пересоздать файл конфигурации загрузчика BCD и обновить MBR запись.
В этом примере я буду использовать установочный диск с Windows 10. Выберите в настройках BIOS первичным загрузочным устройство DVD диск или USB флешку с дистрибутивом Windows (в зависимости от того, с какого устройства вы хотите загрузить компьютер). Загрузитесь с установочного диска и на экране выбора языка установки нажмите сочетание клавиш Shift+F10. Перед вами откроется консоль командной строки.
Попробуйте восстановить BCD файл автоматически, выполнив команду:
bootrec /RebuildBCD
Перезагрузите компьютер и проверьте, загружается ли Windows (не забудьте изменить приоритет загрузочных устройств в BIOS). Если Windows не загружается, еще раз загрузитесь с установочного диска и откройте окно командной строки.
Идентификация разметки дисков и букв томов
Очень важно. Все инструкции, описанные ниже, подходят для обычных компьютеров с BIOS (или загружающихся в режиме UEFI legacy) и MBR таблицей разделов. На компьютерах с UEFI прошивками для пересоздания BCD нужно использовать следующе инструкци: восстановлению EFI загрузчика в Windows 10 или восстановление удаленного EFI раздела в Windows.
Как понять, используется ли у вас 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/11
С помощью утилиты bootrec.exe можно перезаписать данные в MBR и загрузочном секторе, поместим в них ссылки на загрузчик Windows (bootloader).
Попробуйте перезаписать основную загрузочную запись (MBR) системного раздела для совместимости с загрузчиком Windows (существующая таблица разделов не перезаписывается).
bootrec.exe /fixmbr
Добавьте в загрузочные секторы диска код для загрузки файла bootmgr ( диспетчера загрузки Windows):
bootsect.exe /nt60 all /force
Прежде, чем идти далее, попробуйте автоматически пересоздать конфигурацию загрузчика BCD командами (это самый простой способ для начинающих):
bootrec /FixBoot
– команда создает новый загрузочный сектор на системном разделе (перезаписывает загрузочную запись раздела PBR).
bootrec /ScanOs
– просканировать диски и найти установленные копии Window, которых нет в хранилище конфигурации загрузки
В случае успешного сканирования появится запрос на добавление записей о найденный Windows в BCD:
Scanning all disks for Windows installations. Please wait, since this may take a while... Successfully scanned Windows installations. Total identified Windows installations: 1 [1] D:\Windows Add installation to boot list? Yes/No/All:
bootrec /RebuildBcd
– пересоздать хранилище конфигурации загрузкика, добавить в BCD найденные на компьютере копии Windows/
После этого перезагрузите компьютер и проверьте загрузку Windows. Если ОС не загружается, следуйте инструкции.
Если команда bootsect.exe не найдена, попробуйте указать полный путь к ней:
X:\boot\bootsect.exe /nt60 all /force
Пересоздание BCD файла загрузчика Windows 10
Далее с помощью команды BCDedit нужно создать новый файл с конфигурацией загрузчика (предполагается, что у вас нет резервной копии BCD).
Ваши дальнейшие действия зависят от того, есть ли на диске отдельный раздел System Reserved или нет. В командной строке выполните:
diskpart
list vol
Проверьте, есть ли на диске компьютера системный раздел System Reserved. Его можно идентифицировать по метке тома, либо более точнее по размеру (500 Мб для Windows 10+, 350 Мб для Windows 8.1 и 100 Мб для Windows 7).
- Если раздела нет (вы случайно удалили его), можно хранить конфигурацию загрузчика BCD на основном диске, где находится каталог Windows. Чтобы создать конфигурационные файл загрузчика BCD и Bootmgr на указанном диске, выполните команду:
bcdboot C:\Windows /S C:
Должно появится сообщение
Boot files successfully created
. - Если раздел System Reserved у вас имеется, удалите старый (поврежденный) файл BCD и создайте вместо него новый:
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
Если команда bcdedit возвращает ошибку (
Ошибка создания хранилища. Отказано в доступе, access denied
) при доступе к файлу BCD, попробуйте снять с него атрибуты скрытый, read-only и системный:
attrib C:\Boot\BCD -s -h -r
Укажите, что загрузчик находится на служебном разделе 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).
Теперь нужно сделать раздел, на котором находится файл BCD с конфигурацией загрузчика активным (BIOS передает управлению загрузчику ОС с активным MBR раздел). Допустим, разделы на вашем диске распределены так.
- Volume 0 – загрузочная/установочная флешка (ISO образ) диск, с которого вы загрузили компьютер
- Volume 1 – раздел System Reserved с BCD загрузчиком (размер 500 Мб)
- Volume 2 – раздел с файлами Windows (здесь находятся каталог Windows, Program Files, Users и т.д.)
В этом примере нужно сделать активным раздел Volume 1 (в вашем случае определите номер раздела самостоятельно). Сделать раздел активным можно с помощью diskpart:
diskpart
list disk
sel disk 0
list vol
select volume 1
(файлы bootmgr и «\Boot\BCD» находятся на этом разделе)
active
exit
Проверьте, что раздел volume 1 теперь активный:
select vol 1
detail partition
Все верно (
Active: Yes
).
Теперь вы можете перезагрузить компьютер и убедится, что Windows загружается в штатном режиме.