Все об Arch Linux

Arch Linux будет тем, что вы из него сделаете!

Восстановление UEFI-записи Windows после Arch

Windows пропала из меню загрузки после установки Arch — это не потерянная система, а сломанная UEFI-запись. Восстановить её можно двумя способами: из среды восстановления Windows командами bootrec и bcdboot, либо из Linux через efibootmgr. Оба варианта разобраны ниже по шагам.

Почему Windows пропадает из меню загрузки после установки Arch?

Windows хранит свой загрузчик bootmgfw.efi на EFI-разделе (ESP) в каталоге \EFI\Microsoft\Boot, а указатель на него — в NVRAM материнской платы. Установщик Arch записывает свой загрузчик (GRUB или systemd-boot) и часто ставит его первым в порядке загрузки. Иногда запись Windows пропадает совсем: её перезаписывают, ESP форматируют заново, или BCD-хранилище повреждается.

Отдельный случай — Windows на месте, но GRUB её не видит. Тогда чинить UEFI-запись не нужно, достаточно настроить os-prober — об этом написано в статье «Windows пропала из меню GRUB».

Что понадобится для восстановления?

  • Загрузочная флешка с Windows — та же версия и разрядность, что и установленная система.
  • Либо рабочий Linux: live-USB или установленный Arch.
  • Целый EFI-раздел. Если ты удалил \EFI\Microsoft — не страшно, bcdboot пересоздаст его.

Как попасть в среду восстановления Windows?

Загрузись с установочной флешки Windows. На первом экране выбора языка нажми Shift+F10 — откроется командная строка. Альтернативный путь: «Восстановление системы» → «Поиск и устранение неисправностей» → «Командная строка».

Флешку бери с той же версией Windows, что установлена на диске: разрядность и редакция должны совпадать, иначе bcdboot скопирует несовместимые файлы. Если система ещё загружается, в среду восстановления можно попасть и без флешки: «Параметры» → «Обновление и безопасность» → «Восстановление» → «Особые варианты загрузки». Но в нашем сценарии загрузка сломана, поэтому USB — основной путь.

В этой консоли работают bootrec, bcdboot и bcdedit. Учти, что буквы дисков в среде восстановления отличаются от обычных: системный раздел часто получает букву C:, но проверяй по размеру через diskpart.

Как починить загрузчик командами bootrec?

Выполняй по порядку:

bootrec /fixmbr
bootrec /fixboot
bootrec /scanos
bootrec /rebuildbcd

Что делает каждая команда:

  • /fixmbr — перезаписывает главную загрузочную запись. На UEFI-системе на NVRAM она не влияет, но и не вредит.
  • /fixboot — перезаписывает загрузочный сектор системного раздела.
  • /scanos — ищет установленные Windows на всех дисках.
  • /rebuildbcd — собирает BCD-хранилище заново из найденных систем.

Команды выполняй по одной и смотри на вывод. В консоли среды восстановления права администратора уже есть, отдельный запуск от имени администратора не нужен. bootrec /scanos в конце покажет список найденных систем — если Windows не нашлась, проверь, что раздел с ней цел и не зашифрован BitLocker’ом.

Важный момент: на UEFI этих команд часто недостаточно. Они чинят файлы на диске, но не трогают запись в NVRAM. Если после rebuildbcd Windows всё равно не появляется в меню — переходи к bcdboot.

Частая ошибка: bootrec /fixboot отвечает «Отказано в доступе». Тогда сначала прогони chkdsk C: /f, перезагрузись в среду восстановления и повтори. Если не помогло — пропускай bootrec и сразу делай bcdboot.

Как пересоздать UEFI-запись через bcdboot?

bcdboot — главный инструмент для UEFI. Он копирует файлы загрузчика на ESP и создаёт BCD-хранилище. Нужно знать букву раздела с Windows и букву ESP.

В среде восстановления буквы назначаются автоматически, но ESP может остаться без буквы. Назначь её через diskpart:

diskpart
list disk
select disk 0
list partition
select partition 1
assign letter=S
exit

Номер раздела подставляй из вывода list partition — ESP обычно первый раздел размером 100–500 МБ с файловой системой FAT32.

Теперь пересоздай запись:

bcdboot C:\Windows /s S: /f UEFI

Разбор флагов:

  • C:\Windows — каталог установленной Windows.
  • /s S: — ESP, куда копируются файлы загрузчика.
  • /f UEFI — тип прошивки. Без этого флага bcdboot пытается угадать, а на спорных конфигурациях ошибается.

Перед запуском проверь буквы: dir C:\Windows должен показать каталог системы, а dir S:\EFI — содержимое ESP. Успешный вывод bcdboot выглядит так: «Операция успешно завершена». Если вместо этого ошибка — проверь, что раздел S: отформатирован в FAT32 и буква назначена верно.

Если у тебя один EFI-раздел на обе системы — bcdboot допишет файлы Windows рядом с GRUB, ничего не удаляя. Подробнее про такую раскладку — в статье «Один EFI-раздел на две системы».

После bcdboot файлы на месте, но запись в NVRAM может отсутствовать. Её вернёт следующий шаг.

Как вернуть запись Windows в NVRAM через efibootmgr?

Загрузись в Linux (live-USB или установленный Arch) и посмотри текущие записи:

efibootmgr

Если записи Windows Boot Manager нет — создай её:

efibootmgr --create --disk /dev/nvme0n1 --part 1 --label "Windows Boot Manager" --loader "\EFI\Microsoft\Boot\bootmgfw.efi"
  • --disk /dev/nvme0n1 — весь диск, не раздел.
  • --part 1 — номер ESP.
  • --loader — путь к bootmgfw.efi на ESP, с обратными слэшами.

Затем поставь Windows первой в порядке загрузки:

efibootmgr -o 0000,0001

Номера возьми из вывода efibootmgr без аргументов. Порядок и приоритеты записей NVRAM разобраны в статье «Порядок загрузки в NVRAM через efibootmgr».

Проверить пути всех записей можно флагом -v — он покажет полный loader-путь каждой записи. Если запись уже есть, но Windows не стартует, сравни её путь с реальным расположением bootmgfw.efi на ESP. Дубликаты записей убирай через efibootmgr -B с номером записи — но только после того, как рабочая запись подтверждена.

Проверь, что файл \EFI\Microsoft\Boot\bootmgfw.efi реально лежит на ESP. Если его нет — вернись к bcdboot.

Когда нужен bcdedit?

bcdedit правит BCD-хранилище, а не прошивку. Он нужен, когда:

  • BCD на месте, но путь к загрузчику сбит:
bcdedit /set {bootmgr} path \EFI\Microsoft\Boot\bootmgfw.efi
  • Нужно посмотреть записи хранилища:
bcdedit /enum
  • После клонирования диска записи указывают на старые разделы — тогда правят device и osdevice конкретной записи.

В типовом сценарии «Windows пропала после Arch» bcdedit не обязателен: bcdboot создаёт хранилище с нуля.

Чего делать не стоит?

  • Не удаляй каталог \EFI\Microsoft с ESP «для чистоты». Это загрузчик Windows, без него система не стартует. Если уже удалил — bcdboot восстановит.
  • Не форматируй ESP. На нём лежат файлы всех загрузчиков, включая GRUB.
  • Не запускай bcdboot с /f BIOS на UEFI-системе — получишь нерабочую запись.
  • Не жди от bootrec /fixmbr чуда на UEFI: он не трогает NVRAM.
  • Если решил убрать Arch совсем — не удаляй его разделы, пока не восстановил загрузчик Windows. Полный порядок действий — в статье «Как удалить Arch и вернуть Windows».

Как избежать поломки UEFI-записи в будущем?

При установке Arch не форматируй ESP и не удаляй с него каталог \EFI\Microsoft. Установщик Arch допишет свой загрузчик рядом — GRUB или systemd-boot спокойно живут на том же разделе.

После установки проверь порядок загрузки через efibootmgr и убедись, что запись Windows на месте. Если GRUB не видит Windows — настрой os-prober и перегенерируй grub.cfg, а не пересоздавай записи NVRAM вслепую.

Обновляй прошивку материнской платы аккуратно: некоторые прошивки после обновления сбрасывают NVRAM и стирают все записи загрузки, включая Windows. В этом случае процедура из статьи — bcdboot плюс efibootmgr — вернёт всё на место за несколько минут.

Частые вопросы

bootrec /fixboot выдаёт «Отказано в доступе» — что делать?

Сначала chkdsk C: /f, потом повтори. Если ошибка осталась — пропусти bootrec и сразу запусти bcdboot C:\Windows /s S: /f UEFI. Он пересоздаст и файлы, и BCD.

Нужно ли удалять старую запись Windows из NVRAM перед пересозданием?

Нет. Дубликаты записей безвредны, лишние можно убрать позже через efibootmgr -B. Главное — чтобы существовала рабочая запись с правильным путём.

Windows грузится, но сразу уходит в синий экран восстановления — что это?

Повреждено BCD-хранилище. Пересоздай его через bcdboot — это надёжнее, чем bootrec /rebuildbcd.

После всех шагов пишет «No bootable device» — что делать?

Значит, прошивка не находит ни одной записи. Проверь, что ESP смонтирован и файлы на месте, затем создай запись через efibootmgr. Разбор этого сценария — в статье «Пропал пункт загрузки: No bootable device».

Поможет ли переустановка Windows?

Поможет, но это крайняя мера. bcdboot решает проблему за пару минут без переустановки и потери данных.

Полезные ресурсы

Заключение

Windows после установки Arch пропадает из меню загрузки из-за сломанной UEFI-записи, а не из-за потери системы. Из среды восстановления запусти bootrec и bcdboot, из Linux создай запись через efibootmgr — и Windows снова появится в меню. Не трогай \EFI\Microsoft и ESP, и проблема не повторится.



Не получилось? Поможем настроить

Задай вопрос в чате — отвечаем быстро, по делу и без воды.

Читайте также

Комментарии

Загрузка…

Откроется GitHub: создайте новый issue с вашим комментарием (кнопка «Submit new issue»). После отправки обновите эту страницу — комментарий появится ниже.

Telegram Max