В этой статье мы разберемся, как восстановить загрузчик Windows 10 или 11 на современном компьютере, на котором используется UEFI интерфейс вместо классического BIOS и таблица разделов диска GPT (вместо MBR). Повреждение загрузчика Windows может быть вызвано установкой второй ОС (Dual Boot — конфигурация), повреждением файловой систему, некорректным восстановлении Windows после сбоя, удалением скрытых разделов, вирусом-вымогателем и рядом других причин.
Данная статья содержит подробную пошаговую процедуру восстановления поврежденного или удаленного загрузчика ОС в Windows 11/10/8.1 и Windows Server 2022/2019/2016/2012R2 на компьютерах, которые работают в нативном (не legacy) режиме UEFI. Инструкцию можно использовать как для восстановления бинарных файлов загрузчика Windows, так и конфигурационного файла загрузчика EFI\Microsoft\Boot\BCD (в случаях, когда Windows не загружается из-за отсутствия или повреждения файла конфигурацией загрузка BCD.
Содержание:
- Не загружается Windows: Boot configuration data is missing EFI\Microsoft\Boot\BCD
- Автоматическое восстановление загрузчика Windows
- Ручное восстановление загрузчика Windows с помощью BCDBoot
Не загружается Windows: Boot configuration data is missing EFI\Microsoft\Boot\BCD
UEFI компьютер с Windows, установленной в наивном режиме, не сможет загрузиться при повреждении EFI загрузчика Windows. При попытке загрузиться с диска с повреждённым или отсутствующим EFI загрузчиком появится BSOD (синий экран смерти) с ошибкой:
The boot configuration data for your PC is missing or contains errors. File :\EFI\Microsoft\Boot\BCD Error code: 0xc000000f
или
Error code: 0xc000014c
В русской версии Windows ошибка может быть такая:
Ваш компьютер нуждается в ремонте Данные конфигурации загрузки для вашего ПК отсутствуют или содержат ошибки Файл:\EFI\Microsoft\Boot\BCD Код ошибки: 0xc000000f
Эта ошибка говорит о повреждении или даже полном удалении конфигурации загрузчика Windows — Boot Configuration Data (BCD). Если вы попытаетесь восстановить загрузчик на UEFI компьютере с помощью утилиты
bcdedit
, вы получите такую ошибку:
The boot configuration data store could not be found. The requested system device cannot be found.
Дело в том, что если Windows 10/11 установлена в нативном режиме UEFI на GPT диск, то EFI загрузчик Windows (Windows Boot Manager) хранит программу управления загрузкой и конфигурацию BCD на отдельном скрытом разделе EFI (размером 100 мб с файловой системой FAT32). Утилита bcdedit не видит этот EFI раздел, и соответственно не может управлять конфигурацией загрузчика на нем.
Если при загрузке Windows появляется только черный экран с надписью “Operating System not found”, скорее всего у вас полностью удален загрузчик Windows. Следуйте инструкции по ссылке.
Автоматическое восстановление загрузчика Windows
Процедура автоматического восстановления загрузчика, зашитая в среду восстановления Windows (WinRe), как правило, в таких случаях бессильна. Но попробовать все-же стоит:
- Загрузитесь с диска загрузочного диска, диска восстановления или установочной флешки с Windows 10 или 11;
- На экране установки нажмите кнопку Восстановление системы;
- Затем выберите пункт Поиск и устранение неисправностей -> Восстановление при загрузке и выберите ОС, загрузчик которой нужно попытаться восстановить;
- Но скорее всего результат будет отрицательный: Восстановление при загрузке не удалось восстановить компьютер
Ручное восстановление загрузчика Windows с помощью BCDBoot
Перейдем к процедуре ручного восстановления EFI загрузчика Windows на UEFI компьютере.
Для восстановления конфигурации загрузчика (BCD), вам нужно загрузить компьютер с оригинального установочного диска с Windows (диска восстановления или специально подготовленной установочной USB флешки с Windows ). После загрузки в среде восстановления нужно открыть окно командной строки: выберите Восстановление системы -> Диагностика -> Командная строка (System Restore -> Troubleshoot -> Command Prompt).
Командную строку также можно запустить, если у вас под рукой есть только установочный диск с Windows. Для этого достаточно на самом первом этапе установки Windows (при выборе языка и раскладки клавиатуры) нажать комбинацию клавиш Shift+F10 (или Shift+Fn+F10 на некоторых моделях ноутбуков).
В открывшейся командной строке выполните запустите утилиту управления дисками, набрав команду:
diskpart
Выведите список дисков в системе:
list disk
На этом этапе очень важно определить тип таблицы разделов на диске, на котором установлена Windows: MBR или GPT. Дело в том, что EFI загрузчик используется только на дисках с GPT разметкой.
Если у диска в столбце Gpt указана звездочка (
*
), тогда на диске используется таблица разделов GPT, если нет – MBR.
Если с помощью diskpart вы определили, что на вашем диске используется GPT разметка, следуйте дальнейшим шагам инструкции по восстановлению загрузчика.
Если у вас разметка MBR, тогда данная инструкция не применима к вашему компьютеру. Скорее всего у вас компьютер с BIOS, или в настройках UEFI включен режим совместимости Legacy/Compatibility Support Module/CSM.
На MBR дисках загрузчик хранится на отдельном разделе System Reserved, а не на EFI разделе (ни в коем случае не конвертируйте таблицу разделов MBR в GPT, пока не исправите загрузчик!!) Используйте другую инструкцию по восстановлению BCD загрузчика на MBR (Master Boot Record) диске.
Выберите диск, на котором установлена ваша Windows (если жесткий диск в системе один, его индекс должен быть равен 0):
sel disk 0
Выведите список томов и разделов в системе:
list partition
list volume
В нашем примере видно, что загрузочный раздел EFI имеет индекс Partition2 (он же Volume 5 с меткой Hidden). Проще всего определить EFI размер по файловой системе FAT32, размеру 100 Мб (это стандартный минимальный размер для Windows компьютеров, в редких случая размер раздела может быть). Чаще всего для него используется метка — System EFI или ESP/ EFI System Partion).
В нашем примере основной раздел, на который установлена Windows, имеет индекс volume 2, отформатирован в файловая система NTFS и ему назначена буква C:.
В вашем случае назначенная буква диске может отличаться. Это зависит, как вы загрузили свой компьютер в среде WinPE. Проще всего определить его по размеру. Если вы не уверены, нужно проверить что на этом диске есть каталог Windows. Выйдите из утилиты diskpart (команда exit) и выполните команду:
dir C:\
Убедитесь, что на этом диске есть каталоги
Windows
,
Program Files
,
Users
и прочие.
Если этих каталогов нет, значит вашему диску с Windows назначена другая буква диска. Проверьте содержимоет дисков с другими буквами.
Запомните букву диска, назначенную разделу с Windows, чуть ниже мы будем использовать ее в качестве одного из аргументов команды bcdboot.
В таблице также обязательно должен быть раздел MSR (Microsoft System Reserved) размером 16 мб в Windows 10/11 (или 128 Мб в Windows 8.1).
Назначьте скрытому EFI разделу произвольную букву диска (например, M:):
select volume 5
assign letter M:
Должна появится строка, свидетельствующая об успешном назначении буквы диска разделу EFI:
DiskPart successfully assigned the drive letter or mount point.
Завершите работу с diskpart:
exit
Перейдите в каталог с загрузчиком на скрытом разделе:
cd /d m:\efi\microsoft\boot\
В данном случае M: это буква диска, присвоенная разделу EFI чуть выше. Если каталог \EFI\Microsoft\Boot\ отсутствует
The system cannot find the path specified
), попробуйте следующие команды:
cd /d M:\Boot\
или
cd /d M:\ESD\Windows\EFI\Microsoft\Boot\
На этом этапе многие рекомендуют выполнить следующие команды, которые должны перезаписать загрузочную запись раздела, найти установленные Windows и добавить их в BCD:
bootrec /fixboot
bootrec /scanos
bootrec /rebuildbcd
или даже:
bootrec /FixMbr
(восстановление MBR записи для GPT диска выглядит странным)
Все эти команды применимы только для дисков с MBR. Если ваш компьютер загружается в UEFI режиме, то на нем обязательно используется таблица разделов GPT (как раз наш случай). Поэтому при запуске команд
bootrec
вы увидите ошибку:
access is denied
Для исправления загрузочных записей на EFI разделе нужно использовать утилиту
BCDBoot
, а не bootrec.
Утилита BCDBoot позволяет восстановить файлы загрузчика на EFI разделе, скопировав их системного каталога на разделе с Windows. Конфигурация загрузчика BCD пересоздается с помощью шаблона %WINDIR%\System32\Config\BCD-Template.
С помощью команды
attrib
снимите атрибуты скрытый, read-only и системный с файла BCD:
attrib BCD -s -h -r
Удалите текущий файл с конфигурацией BCD, переименовав его (так вы сохраните старую конфигурацию в качестве резервной копии):
ren BCD BCD.bak
С помощью утилиты bcdboot.exe нужно скопировать из системного каталога критические файлы среды загрузки UEFI в загрузочный EFI раздел и пересоздать конфигурацию загрузчика в хранилище BCD:
bcdboot C:\Windows /l en-us /s M: /f ALL
где,
- C:\Windows – путь к корневому системному каталогу Windows на диске (это ваш диск, на который была установлена ваша Windows, мы узнали его ранее с помощью команды diskpart);
- /f ALL – означает, что необходимо скопировать файлы среды загрузки Windows, включая файлы для компьютеров с UEFI и BIOS (теоретическая возможность загружаться на EFI и BIOS системах). Чтобы скопировать только EFI загрузчик, используйте команду /f UEFI;
- /l en-us — определяет языковой стандарт, который используется при инициализации хранилища BCD. По умолчанию используется en-US — английский язык (США);
- /s M: — скопировать файлы EFI загрузчика на указанный раздел;
- /с – эта новая опция BCDBoot в Windows 10, которая позволяет перезатереть имеющиеся загрузочные записи при создании нового хранилища (в том числе debugsettings). Используйте этот параметр, чтобы игнорировать старые настройки и создать полностью чистую конфигурацию BCD загрузчика;
- /v – используется для включения режима вывода подробной информации BCDBoot..
Теперь, если выполнить команду bcdedit, вы увидите следующую картину:
В секции диспетчера загрузки Windows (Windows Boot Manager) должна появится запись, указывающая на полный путь к файлу управления загрузкой UEFI. В этом примере он находится на разделе 2 (
partition=\Device\HarddiskVolume2
), путь
\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI
.
Windows Boot Manager -------------------- identifier {bootmgr} device partition=\Device\HarddiskVolume2 path \EFI\Microsoft\Boot\bootmgfw.efi description Windows Boot Manager locale en-US inherit {globalsettings} bootshutdowndisabled Yes default {CURRENT} resumeobject {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} displayorder {default} toolsdisplayorder {memdiag} timeout 30 Windows Boot Loader ------------------- identifier {current} device partition=C: path \Windows\system32\winload.efi description Windows Server 10 locale en-US inherit {bootloadersettings} recoverysequence {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} recoveryenabled Yes isolatedcontext Yes allowedinmemorysettings 0x15000075 osdevice partition=C: systemroot \Windows resumeobject {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
В секции Windows Boot Manager должен быть указан путь к EFI разделу (
=\Device\HarddiskVolume2
), путь к файлу управления загрузкой (bootmgfw.efi). В секции Windows Boot Loader указан раздел Windows и путь к EFI загрузчику Windows (
\Windows\system32\winload.efi
). При включении компьютер передаст управление диспетчеру загрузки EFI, который запустит загрузчик Windows.
Возможные ошибки:
Перезагрузите компьютер, отключите загрузочный диск. Если вы все сделали правильно, в выборе устройств загрузки должен появиться пункт Windows Boot Manager в котором можно выбрать загрузку нужной операционной системы. Ваш EFI загрузчик и конфигурация BCD успешно восстановлены!
В некоторых случаях после восстановления BCD загрузчика, при загрузке Windows появляется ошибка
BAD SYSTEM CONFIG INFO
. Чтобы исправить ошибку:
Убедитесь, что вы не вносили недавно изменения в настройки UEFI
Загрузитесь с установочной/загрузочной флешки и измените конфигурацию загрузчика командами:
-
bcdedit /deletevalue {default} numproc
-
bcdedit /deletevalue {default} truncatememory
Переключи обратно и пользуйся. Этот режим надо включать ПЕРЕД установкой системы
Нужно, чтобы операционная система тоже была установлена в режиме UEFI. Диск должен быть отформатирован в GPT
Если система установлена в MBR, то ничего не выйдет. Для загрузки в EFI системе нужен специальный раздел тип EFI system. Он создается при установке на неразмеченном месте, винда его скрячит автоматом. При загрузке в EFI система не видит носителей, у которых нет такого раздела.
Ярик Несто, Drno тебе правильный вопрос задавал. У тебя и образ на флешке тоже должен быть записан для UEFI,есть два вида образов.Один и тот-же iso можно записать для UEFI или для MBR.
Как использовать OAuth2 со Spring Security в Java
Javaican 14.05.2025
Протокол OAuth2 часто путают с механизмами аутентификации, хотя по сути это протокол авторизации. Представьте, что вместо передачи ключей от всего дома вашему другу, который пришёл полить цветы, вы. . .
Анализ текста на Python с NLTK и Spacy
AI_Generated 14.05.2025
NLTK, старожил в мире обработки естественного языка на Python, содержит богатейшую коллекцию алгоритмов и готовых моделей. Эта библиотека отлично подходит для образовательных целей и. . .
Реализация DI в PHP
Jason-Webb 13.05.2025
Когда я начинал писать свой первый крупный PHP-проект, моя архитектура напоминала запутаный клубок спагетти. Классы создавали другие классы внутри себя, зависимости жостко прописывались в коде, а о. . .
Обработка изображений в реальном времени на C# с OpenCV
stackOverflow 13.05.2025
Объединение библиотеки компьютерного зрения OpenCV с современным языком программирования C# создаёт симбиоз, который открывает доступ к впечатляющему набору возможностей. Ключевое преимущество этого. . .
POCO, ACE, Loki и другие продвинутые C++ библиотеки
NullReferenced 13.05.2025
В C++ разработки существует такое обилие библиотек, что порой кажется, будто ты заблудился в дремучем лесу. И среди этого многообразия POCO (Portable Components) – как маяк для тех, кто ищет. . .
Паттерны проектирования GoF на C#
UnmanagedCoder 13.05.2025
Вы наверняка сталкивались с ситуациями, когда код разрастается до неприличных размеров, а его поддержка становится настоящим испытанием. Именно в такие моменты на помощь приходят паттерны Gang of. . .
Создаем CLI приложение на Python с Prompt Toolkit
py-thonny 13.05.2025
Современные командные интерфейсы давно перестали быть черно-белыми текстовыми программами, которые многие помнят по старым операционным системам. CLI сегодня – это мощные, интуитивные и даже. . .
Конвейеры ETL с Apache Airflow и Python
AI_Generated 13.05.2025
ETL-конвейеры – это набор процессов, отвечающих за извлечение данных из различных источников (Extract), их преобразование в нужный формат (Transform) и загрузку в целевое хранилище (Load). . . .
Выполнение асинхронных задач в Python с asyncio
py-thonny 12.05.2025
Современный мир программирования похож на оживлённый мегаполис – тысячи процессов одновременно требуют внимания, ресурсов и времени. В этих джунглях операций возникают ситуации, когда программа. . .
Работа с gRPC сервисами на C#
UnmanagedCoder 12.05.2025
gRPC (Google Remote Procedure Call) — открытый высокопроизводительный RPC-фреймворк, изначально разработанный компанией Google. Он отличается от традиционых REST-сервисов как минимум тем, что. . .
Если после установки второй ОС, попыток воспользоваться свободным местом на скрытых разделах диска или их форматирования, в случае системных сбоев, при экспериментах с EasyBCD и в других случаях вы столкнулись с тем, что Windows 10 не загружается, сообщая «An operating system wasn’t found», «No bootable device found. Insert boot disk and press any key», то, возможно, вам требуется восстановление загрузчика Windows 10, о чем и пойдет речь ниже.
Вне зависимости от того, UEFI у вас или BIOS, установлена ли система на GPT диск со скрытым FAT32 разделом EFI загрузки или на MBR с разделом «Зарезервировано системой», действия по восстановлению будут одинаковыми для большинства ситуаций. Если ничто из нижеописанного не помогает, попробуйте Сброс Windows 10 с сохранением данных (третьим способом). Примечание: ошибки, подобные указанным выше, необязательно вызваны поврежденным загрузчиком ОС. Причиной может оказаться вставленный компакт-диск или подключенный USB-накопитель (попробуйте вынуть), новый дополнительный жесткий диск или проблемы с имеющимся жестким диском (прежде всего взгляните, а виден ли он в БИОС).
- Автоматическое восстановление загрузчика Windows 10
- Простое восстановление вручную
- Второй метод восстановить загрузчик Windows 10 вручную
- Видео инструкция
Автоматическое восстановление загрузчика
Среда восстановления Windows 10 предлагает опцию восстановления при загрузке, которое работает на удивление хорошо и в большинстве случаев оказывается достаточным (но не всегда). Чтобы восстановить загрузчик данным способом, проделайте следующие действия.
- Загрузитесь с диска восстановления Windows 10 или загрузочной флешки с Windows 10 в той же разрядности, что и ваша система (диска). Для выбора накопителя для загрузки можно использовать Boot Menu.
- В случае загрузки с установочного накопителя, на экране после выбора языка внизу слева нажмите пункт Восстановление системы.
- Выберите пункт Поиск и устранение неисправностей, а затем — Восстановление при загрузке. Выберите целевую операционную систему. Дальнейший процесс будет произведен автоматически.
По завершении вы либо увидите сообщение о том, что восстановление не удалось, либо компьютер автоматически перезагрузится (не забудьте вернуть загрузку с жесткого диска в БИОС) уже в восстановленную систему (но не всегда).
Если описанный способ не помог решить проблему, переходим к более результативному, ручному способу.
Процедура восстановления вручную
Для восстановления загрузчика вам потребуется либо дистрибутив Windows 10 (загрузочная флешка или диск), либо диск восстановления Windows 10. Если вы ими не обзавелись, придется воспользоваться другим компьютером для их создания. Подробнее о том, как сделать диск восстановления можно прочитать в статье Восстановление Windows 10.
Следующий этап — загрузиться с указанного носителя, поставив загрузку с него в БИОС (UEFI), либо используя Boot Menu. После загрузки, если это установочная флешка или диск, на экране выбора языка нажмите клавиши Shift + F10 или Shift+Fn+F10 на некоторых ноутбуках (откроется командная строка). Если это диск восстановления в меню выберите Диагностика — Дополнительные параметры — Командная строка.
В командной строке введите по порядку три команды (после каждой нажимаем Enter):
- diskpart
- list volume
- exit
В результате выполнения команды list volume, вы увидите список подключенных томов. Запомните букву того тома, на котором располагаются файлы Windows 10 (в процессе восстановления это может быть не раздел C, а раздел под какой-либо другой буквой).
В большинстве случаев (на компьютере только одна ОС Windows 10, скрытый раздел EFI или MBR в наличии), для того, чтобы восстановить загрузчик, достаточно после этого выполнить одну команду:
bcdboot C:\windows (где вместо C может потребоваться указать другую букву, о чем было сказано выше).
Примечание: если на компьютере несколько ОС, например, Windows 10 и 8.1, вы можете выполнить эту команду дважды, в первом случае указав путь к файлам одной ОС, во втором — другой (не сработает для Linux и XP. Для 7-ки зависит от конфигурации).
После выполнения этой команды вы увидите сообщение о том, что файлы загрузки успешно созданы. Можно попробовать перезагрузить компьютер в обычном режиме (вынув загрузочную флешку или диск) и проверить, загружается ли система (после некоторых сбоев загрузка происходит не сразу после восстановления загрузчика, а после проверки HDD или SSD и перезагрузки, также может проявиться ошибка 0xc0000001, которая в этом случае также обычно исправляется простой перезагрузкой).
Второй способ восстановить загрузчик Windows 10
Если вышеописанный способ не сработал, то возвращаемся в командную строку так же, как делали это ранее. Вводим команды diskpart, а потом — list volume. И изучаем подключенные разделы дисков.
Если у вас система с UEFI и GPT, в списке вы должны увидеть скрытый раздел с файловой системой FAT32 и размером 99-300 Мб. Если же BIOS и MBR, то должен обнаружиться раздел размером 500 Мб (после чистой установки Windows 10) или меньше с файловой системой NTFS. Вам требуется номер этого раздела N (Том 0, Том 1 и т.д.). Также обратите внимание на букву, соответствующую разделу, на котором хранятся файлы Windows.
Введите по порядку следующие команды:
- select volume N
- format fs=fat32 или format fs=ntfs (в зависимости от того, какая файловая система на разделе).
- assign letter=Z (присваиваем букву Z этому разделу).
- exit (выходим из Diskpart)
- bcdboot C:\Windows /s Z: /f ALL (где C: — диск с файлами Windows, Z: — буква, которую мы присвоили скрытому разделу).
- Если у вас несколько ОС Windows, повторите команду для второй копии (с новым расположением файлов).
- diskpart
- list volume
- select volume N (номер скрытого тома, которому мы присваивали букву)
- remove letter=Z (удаляем букву, чтобы том не отображался в системе, когда мы перезагрузимся).
- exit
По завершении, закрываем командную строку и перезагружаем компьютер уже не с внешнего загрузочного накопителя, проверяем, загружается ли Windows 10.
Видео инструкция
Надеюсь, изложенная информация сможет вам помочь. Кстати, можно попробовать также и «Восстановление при загрузке» в дополнительных параметрах загрузки или с диска восстановления Windows 10. К сожалению, не всегда все проходит гладко, и проблема легко решается: часто (при отсутствии повреждений HDD, что тоже может быть) приходится прибегать к переустановке ОС. Также для восстановления можно попробовать простую команду bootrec.exe /fixboot (см. Использование bootrec.exe для исправления загрузочных записей).