Windows не отображается в меню GRUB — как исправить

Если вы недавно настроили мультизагрузку Windows и Linux, возможно, столкнулись с проблемой, которую я встретил сам: Windows не показывается в меню GRUB. Я опишу, как я её решил, какие команды использовал и почему это случилось технически.
В моём случае я установил CachyOS на диск, отдельный от диска с Windows 11. Раньше я уже несколько раз переустанавливал разные дистрибутивы на этом диске, и меню загрузки обычно работало автоматически: пункт Windows появлялся без дополнительных действий. В этот раз потребовались дополнительные шаги.
Если при включении компьютера вы вообще не видите меню загрузки, сначала нужно настроить, чтобы GRUB отображался: проверьте настройки BIOS/UEFI, порядок загрузки и параметр Quiet/Hidden. Эта статья предполагает, что меню GRUB видно, но в нём нет Windows.
Почему Windows не отображается в GRUB
Современные сборки GRUB часто поставляются с отключённым os-prober. Это вспомогательное приложение, которое при генерации конфигурации сканирует разделы в поисках других ОС и автоматически добавляет их в меню. Если os-prober отключён или отсутствует, GRUB не найдёт Windows автоматически.
Причина отключения связана с опасениями по поводу безопасности: при сканировании os-prober монтирует разделы и пытается прочитать их содержимое для выявления установленных ОС. Ряд разработчиков дистрибутивов решил по умолчанию отключить os-prober, чтобы избежать потенциальных векторов атаки или конфликтов с Secure Boot. Даже после исправлений в коде некоторые сборки остались консервативными и не включают его автоматически.
Важно: включать os-prober или нет — вопрос вашей модели угроз. Если вы не уверены в безопасности своей среды (например, используете незнакомое железо в публичной сети или у вас высокий риск атак), подумайте дважды. Если же вы контролируете машину и Secure Boot отключён, многие пользователи спокойно включают os-prober.
Важно: перед любыми изменениями сделайте резервную копию важных данных и, при возможности, снимок (snapshot) или резервную запись загрузочных параметров.
Простой вариант: включить os-prober
Если вы готовы включить os-prober, это обычно делается в конфигурационном файле GRUB по умолчанию, например в /etc/default/grub.
- Откройте файл с правами администратора. Пример с nano:
sudo nano /etc/default/grub- Найдите строку, похожую на
#GRUB_DISABLE_OS_PROBER=falseи раскомментируйте её, удалив символ #, чтобы получилось
GRUB_DISABLE_OS_PROBER=falseЕсли строки нет, можно добавить её в файл.
Сохраните изменения и закройте редактор (в nano: Ctrl+O, Enter, Ctrl+X).
Обновите конфигурацию GRUB (см. раздел ниже о командах для вашей системы).
Дополнительно: если пакет os-prober не установлен, установите его через менеджер пакетов вашего дистрибутива. Примеры:
- Debian/Ubuntu:
sudo apt install os-prober - Arch:
sudo pacman -S os-prober - Fedora:
sudo dnf install os-prober
После установки и включения перегенерируйте конфигурацию GRUB и перезагрузитесь.
Плюсы: быстро и автоматически найдёт Windows и другие ОС. Минусы: потенциальные риски при сканировании разделов и несовместимость с некоторыми реализациями Secure Boot.
Более безопасный вариант: добавить Windows вручную в меню GRUB
Если вы предпочитаете не включать os-prober, можно добавить пункт загрузки Windows вручную в конфиг GRUB. Подход зависит от режима загрузки: UEFI или старый BIOS (Legacy).
Шаг 1 — узнать, где находится EFI-раздел или раздел Windows
Выполните одну из команд, чтобы увидеть таблицу разделов и типы:
sudo fdisk -lили
sudo lsblk -fНайдите раздел с меткой типа “EFI System” или с файловой системой vfat — обычно это EFI-раздел. Устройство будет выглядеть как /dev/nvme0n1p1 или /dev/sda1.
Шаг 2 — узнать UUID раздела (рекомендуется для поиска)
sudo blkid /dev/nvme0n1p1Запишите значение UUID из вывода.

Шаг 3 — редактировать файл с пользовательскими записями GRUB
Откройте файл /etc/grub.d/40_custom:
sudo nano /etc/grub.d/40_customДобавьте один из двух примеров в зависимости от режима загрузки.
Пример для UEFI (chainloader на bootmgfw.efi):
menuentry 'Windows 10/11 (UEFI)' --class windows --class os {
insmod part_gpt
insmod fat
search --no-floppy --fs-uuid --set=root YOUR-WINDOWS-EFI-PARTITION-UUID
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}Замените YOUR-WINDOWS-EFI-PARTITION-UUID на UUID, полученный ранее.
Пример для Legacy/BIOS или если установка Windows использует NTLDR (редко для новых систем):
menuentry 'Windows (BIOS)' --class windows --class os {
insmod ntfs
search --no-floppy --set=root --fs-uuid YOUR-WINDOWS-PARTITION-UUID
ntldr /bootmgr
}Примечание: большинство современных установок Windows на UEFI используют bootmgfw.efi; для таких систем используйте первый пример.
Шаг 4 — сохранить, обновить GRUB и перезагрузиться.
Преимущество ручного метода: вы контролируете, какие записи попадают в меню, и не запускаете автоматический скан разделов. Недостаток: при смене расположения EFI-файлов или при переустановке Windows запись может потребоваться обновить вручную.
Как обновить конфигурацию GRUB
После любых изменений в /etc/default/grub, /etc/grub.d/* или установке/удалении os-prober нужно регенерировать итоговый файл конфигурации.
Попробуйте сначала распространённую удобную команду (есть у многих дистрибутивов):
sudo update-grubЕсли такой алиас отсутствует, выполните явную генерацию конфигурации. Обычная команда выглядит так:
sudo grub-mkconfig -o /boot/grub/grub.cfgНекоторые дистрибутивы хранят grub.cfg в других местах (например, /boot/grub2/grub.cfg на некоторых системах). Если вы не уверены, посмотрите документацию вашего дистрибутива или вывод man grub-mkconfig.
После успешной генерации перезагрузите систему и проверьте меню GRUB.
Когда ручные изменения могут не сработать
- Раздел Windows зашифрован BitLocker. В этом случае GRUB не сможет читать содержимое раздела, и автоматическое обнаружение/монтирование не сработает до расшифровки.
- Включён Fast Startup в Windows или гибернация. Windows оставляет файловую систему в состоянии, которое мешает монтированию; это также может усложнить обнаружение.
- Secure Boot может блокировать не подписанные модули или загрузчики. Если Secure Boot включён, осмотрите логи и политику вашей системы.
- Необычная разметка диска или нестандартный путь к
bootmgfw.efi.
Рассмотрите замену GRUB
Если вы хотите избежать сложностей и уязвимостей, связанных с os-prober и GRUB, рассмотрите альтернативы:
systemd-boot— простой загрузчик для UEFI, дружелюбен к конфигурации, но не поддерживает Legacy BIOS.rEFInd— автоматический сканер EFI, удобный графический интерфейс и хорошая поддержка macOS-подобного поведения.Clover— используется в Hackintosh-сообществах; поддерживает UEFI и BIOS, но ориентирован на особые сценарии.
Переход на другой загрузчик требует планирования: резервное копирование, проверка совместимости с Secure Boot и создание рабочей записи восстановления.
Мини-методология: пошаговая проверка (быстрый SOP)
- Проверьте, виден ли GRUB при загрузке (BIOS/UEFI settings).
- Определите режим загрузки Windows: UEFI или Legacy (
sudo fdisk -l,lsblk -f). - Попробуйте включить
os-proberи установить пакет при необходимости. - Если не хотите включать
os-prober, найдите EFI-раздел и добавьте запись в/etc/grub.d/40_custom. - Сгенерируйте
grub.cfgкомандойgrub-mkconfig -o /boot/grub/grub.cfgилиupdate-grubи перезагрузитесь. - Тестируйте загрузку Windows и Linux.
Чек-листы по ролям
Пользователь (настольный ПК):
- Снять важные файлы с Windows (резервная копия).
- Выключить Fast Startup и гибернацию в Windows.
- Отключить Secure Boot, если планируете включать
os-proberи не хотите решать подпись модулей. - Включить
os-proberили добавить запись вручную.
Системный администратор / опытный пользователь:
- Проверить вывод
blkid,lsblk -fи наличиеbootmgfw.efiв EFI-разделе. - Добавить безопасную ручную запись в
/etc/grub.d/40_customдля UEFI. - Настроить мониторинг/бэкап конфигурации загрузчика, хранить копии
grub.cfgи40_custom.
Критерии приёмки
- При выборе записи Windows в GRUB система успешно загружает Windows в рабочее состояние.
- GRUB содержит запись с корректным UUID или корректным
chainloaderнаbootmgfw.efi. - Изменения обратимы: можно восстановить предыдущую конфигурацию при откате.
Совместимость и тонкости миграции
- UEFI vs Legacy: современные Windows используют UEFI; для них важен EFI-раздел с
bootmgfw.efi. - BitLocker и шифрование: если раздел зашифрован, никакое монтирование без ключа не даст результатов.
- Secure Boot: может потребоваться подпись загрузчика или отключение Secure Boot для применения некоторых изменений.
Модель принятия решения
flowchart TD
A[Windows не в GRUB] --> B{Visible GRUB?}
B -- Нет --> C[Исправить настройки BIOS/UEFI]
B -- Да --> D{Хотите авто-сканирование?}
D -- Да --> E[Включить os-prober и обновить GRUB]
D -- Нет --> F[Добавить запись Windows вручную в 40_custom]
E --> G[Перезагрузить и проверить]
F --> GКраткий глоссарий
- GRUB — загрузчик, управляющий выбором ОС при старте.
- os-prober — утилита для автоматического поиска других ОС на дисках.
- EFI/UEFI — интерфейс прошивки современного типа для загрузки ОС.
- UUID — уникальный идентификатор раздела, используется для однозначного поиска.
- BitLocker — механизм шифрования диска в Windows.
Часто задаваемые вопросы
Q: Стоит ли включать os-prober?
A: Если вы доверяете среде и хотите автоматическое обнаружение ОС, да; если у вас строгие требования по безопасности, рассмотрите ручную запись или альтернативный загрузчик.
Q: Какая команда обновляет GRUB?
A: Попробуйте сначала sudo update-grub. Если такой команды нет, используйте sudo grub-mkconfig -o /boot/grub/grub.cfg и проверьте путь grub.cfg в документации дистрибутива.
Q: Как понять, используется ли UEFI?
A: Команда lsblk -f покажет раздел типа “EFI System”; наличие /sys/firmware/efi указывает на загрузку в UEFI-режиме.
Итог: чаще всего проблема решается включением os-prober и обновлением конфигурации GRUB. Если вы не хотите включать os-prober, добавление корректной записи в /etc/grub.d/40_custom (особенно для UEFI) решит задачу. Всегда делайте резервные копии и учитывайте такие факторы, как BitLocker и Secure Boot.
Похожие материалы
RDP: полный гид по настройке и безопасности
Android как клавиатура и трекпад для Windows
Советы и приёмы для работы с PDF
Calibration в Lightroom Classic: как и когда использовать
Отключить Siri Suggestions на iPhone