При проблемах с загрузкой Windows 11/10 пользователи часто находят инструкции по использованию утилиты bootrec.exe для их устранения. А при попытке выполнить предлагаемые шаги сталкиваются с ошибками «Не удается найти запрошенное системное устройство», «Системе не удается найти указанный путь», «Отказано в доступе» и другие.
В этой инструкции подробно о том, почему это происходит и как исправить ошибки, а точнее — решить возникшие проблемы при восстановлении загрузчика.
Bootrec — не лучшее решение для UEFI систем
Основная причина ошибок при использовании bootrec.exe /rebuildbcd и других команд для решения проблем с загрузкой в том, что для современных UEFI-систем bootrec — очень ограниченный инструмент и не является актуальным. Инструкции были написаны годы назад и продолжают переписываться под новые ОС без фактической проверки и актуализации данных.
Утилита bootrec предназначалась для систем BIOS/MBR с Master Boot Record на диске, поиском активного раздела, диспетчером загрузки Bootmgr и загрузкой данных из хранилища BCD.
В новых системах UEFI на GPT-дисках процесс загрузки выглядит иначе: поиск EFI-раздела (EFI System Partition, ESP), использование загрузочного файла и BCD с этого же раздела.
Пользователи применяют команды bootrec в актуальных UEFI/GPT системах и происходит следующее:
- bootrec /fixmbr (перезапись кода в MBR) — на GPT-диске команда бесполезна, на нём по умолчанию нет MBR в том формате, в котором загрузочная запись используется для загрузки.
- bootrec /fixboot (перезапись загрузочного сектора на активном разделе) — в UEFI системах команда «попытается» записать загрузочные файлы на EFI-раздел, но часто не в состоянии определить его, например, если ему не назначена буква. Более того, для UEFI-загрузки не требуется назначение раздела «активным, поиск которого производит команда.
- bootrec /rebuildbcd (сканирование дисков на наличие установок Windows и добавление их в BCD) — команда может успешно найти имеющиеся установки Windows, но на этапе добавления их BCD сообщить об ошибках «Не удается найти запрошенное системное устройство» (для чистого EFI-раздела) или «Системе не удается найти указанный путь» (для «условно исправного» раздела) из-за того, что не может найти путь к хранилищу BCD на EFI-разделе из-за отличий путей по сравнению с Legacy-системами (например, EFI\Microsoft\Boot\BCD) и отсутствия буквы раздела.
Подводя итог, bootrec.exe — не тот инструмент, который следует использовать сегодня для работы с загрузчиком Windows 11/10 и BCD на UEFI-системах.
Примечание: если речь идёт о Legacy-системе (BIOS/MBR) и тех же ошибках, причины могут быть в:
- Отсутствии букв дисков (назначаем в DISKPART).
- Ошибки жесткого диска или SSD, невозможность записи на накопитель. Выполняем проверку файловой системы на диске.
- Системный раздел не является активным.
Но даже для BIOS/MBR систем вы можете использовать bcdboot, о чём — далее.
Правильный инструмент для UEFI систем: bcdboot
Для того, чтобы восстановить загрузчик Windows в UEFI-системах следует использовать утилиту bcdboot, она создана для работы с современными ОС как на GPT, так и на MBR дисках.
При её использовании вы можете автоматически:
- Скопировать все необходимые файлы загрузки на EFI-раздел.
- Создать чистое хранилище BCD на нём.
- Добавить записи в BCD для вашей Windows 11/10 или нескольких.
В общих чертах пример использования bcdboot в UEFI системе состоит из следующих шагов:
- Назначение буквы EFI-разделу в файловой системе FAT32 или создание такого раздела.
- Полное пересоздание BCD и добавление нужной Windows в хранилище, пример команды:
bcdboot C:\Windows /s Z: /f UEFI
Подробные инструкции со всеми нюансами и особенностями доступны в инструкциях:
- Как восстановить загрузчик Windows 11
- Как восстановить загрузчик Windows 10
- Как создать EFI-раздел на диске
- Как перенести раздел с загрузчиком на другой диск
Если у вас остаются вопросы, касающиеся bootrec.exe или bcdboot, вы можете задать их в комментариях ниже.