Гид по технологиям

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

7 min read Linux Обновлено 19 Dec 2025
Windows не видно в GRUB — что делать
Windows не видно в GRUB — что делать

Загрузчик GRUB2 на экране ноутбука; вариант Ubuntu отображается в меню

Если вы недавно настроили мультизагрузку 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.

  1. Откройте файл с правами администратора. Пример с nano:
sudo nano /etc/default/grub
  1. Найдите строку, похожую на
#GRUB_DISABLE_OS_PROBER=false

и раскомментируйте её, удалив символ #, чтобы получилось

GRUB_DISABLE_OS_PROBER=false

Если строки нет, можно добавить её в файл.

  1. Сохраните изменения и закройте редактор (в nano: Ctrl+O, Enter, Ctrl+X).

  2. Обновите конфигурацию 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 из вывода.

UUID EFI-раздела Windows, показанный командой blkid

Шаг 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)

  1. Проверьте, виден ли GRUB при загрузке (BIOS/UEFI settings).
  2. Определите режим загрузки Windows: UEFI или Legacy (sudo fdisk -l, lsblk -f).
  3. Попробуйте включить os-prober и установить пакет при необходимости.
  4. Если не хотите включать os-prober, найдите EFI-раздел и добавьте запись в /etc/grub.d/40_custom.
  5. Сгенерируйте grub.cfg командой grub-mkconfig -o /boot/grub/grub.cfg или update-grub и перезагрузитесь.
  6. Тестируйте загрузку 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.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство