Черный экран с надписью grub rescue> после перезагрузки — типичный первый контакт пользователя с GRUB, который обычно и вызывает вопрос, что это за программа и почему она блокирует запуск системы. GRUB (Grand Unified Bootloader) — это загрузчик операционной системы, который стартует раньше самой Linux и отвечает за передачу управления ядру. Без него компьютер с установленным дистрибутивом просто не сможет определить, какую систему и откуда загружать.
Разберемся, как устроен этот загрузчик, чем отличаются его версии, почему появляются ошибки и что делать, если меню загрузки пропало. Материал будет полезен как тем, кто только ставит Linux рядом с Windows, так и тем, кто столкнулся с аварийным режимом rescue.
Что такое GRUB и зачем он нужен
GRUB — это программа-загрузчик, разработанная в рамках проекта GNU. Она записывается в специальную область диска (на системах с BIOS — в MBR, главную загрузочную запись; на системах с UEFI — в EFI-раздел) и получает управление сразу после того, как прошивка материнской платы завершает самотестирование оборудования.
Задача загрузчика — найти ядро операционной системы на диске, загрузить его в оперативную память вместе с начальным образом initramfs и передать ему управление. Если на компьютере установлено несколько систем, GRUB показывает меню выбора: Linux в разных вариантах запуска, Windows, режим восстановления и другие пункты.
Фактически это посредник между «железом» и операционной системой. Понимание этой роли объясняет главное: если GRUB поврежден или удален, сама Linux остается целой, но загрузиться она не может — компьютер просто не знает, где ее искать.
Версии GRUB: Legacy и GRUB 2
Существует два поколения загрузчика, которые часто путают. GRUB Legacy (версии 0.9x) — старая ветка, разработка которой давно прекращена. Его конфигурация хранилась в файле menu.lst, а нумерация дисков и разделов начиналась с нуля: hd0,0 означало первый раздел первого диска.
GRUB 2 — актуальная версия, которая используется в подавляющем большинстве современных дистрибутивов: Ubuntu, Debian, Fedora, Linux Mint и других. Здесь конфигурация строится иначе: основной файл grub.cfg генерируется автоматически, а пользовательские настройки вносятся через /etc/default/grub и скрипты в каталоге /etc/grub.d/.
Проверить установленную версию можно командой:
grub-install --version
Если в выводе указана версия 2.x — у вас GRUB 2. Именно про него идет речь дальше, поскольку GRUB Legacy на современных системах практически не встречается.
Как проходит загрузка системы через GRUB
Процесс старта компьютера с GRUB состоит из нескольких этапов, и понимание их помогает при диагностике сбоев:
- 🔌 POST и прошивка. BIOS или UEFI проверяет оборудование и ищет загрузочное устройство согласно приоритету в настройках.
- 💾 Стартовый код загрузчика. На BIOS-системах это образ в MBR, на UEFI — файл grubx64.efi на EFI-разделе.
- 📂 Загрузка ядра GRUB и модулей. Загрузчик получает доступ к файловой системе и читает свой конфигурационный файл.
- 📋 Меню или автозагрузка. Отображается список систем либо после тайм-аута стартует пункт по умолчанию.
- 🐧 Передача управления ядру Linux. GRUB загружает ядро и initramfs, дальше система стартует самостоятельно.
Сбой на любом из этих этапов выглядит по-разному. Например, если поврежден конфигурационный файл, вы увидите приглашение grub>. Если загрузчик не может найти даже собственные модули — появится минимальный режим grub rescue>.
Основные файлы конфигурации
Настройка GRUB 2 устроена многослойно, и это нередко сбивает с толку новичков. Редактировать напрямую файл /boot/grub/grub.cfg нельзя — он перезаписывается при каждом обновлении ядра или запуске утилиты генерации конфигурации.
| Файл или каталог | Назначение | Можно ли редактировать |
|---|---|---|
/boot/grub/grub.cfg | Итоговая конфигурация меню загрузки | Нет, генерируется автоматически |
/etc/default/grub | Основные параметры: тайм-аут, пункт по умолчанию, параметры ядра | Да, это главный файл настроек |
/etc/grub.d/ | Скрипты, формирующие пункты меню | Да, опытным пользователям |
/boot/efi/EFI/... | Загрузочные файлы на системах с UEFI | Только через специальные утилиты |
Типичная задача — изменить время ожидания в меню или систему, загружаемую по умолчанию. Для этого откройте /etc/default/grub с правами администратора и поменяйте, например, значение GRUB_TIMEOUT (в секундах) или GRUB_DEFAULT. После любых правок обязательно примените изменения:
sudo update-grub
В дистрибутивах семейства Fedora и RHEL вместо этой команды используется grub2-mkconfig с указанием пути к файлу конфигурации — точный синтаксис стоит сверить с документацией вашего дистрибутива, так как расположение файлов может отличаться.
Частые ошибки GRUB и их причины
Обращения по теме GRUB чаще всего связаны не с настройкой, а со сбоями. Вот типичные сценарии:
- ⚠️ error: no such partition, grub rescue — возможная причина в том, что раздел с файлами загрузчика был удален, переименован или изменилась разметка диска (например, после работы менеджера разделов).
- 🪟 Пропало меню GRUB после установки Windows — установщик Windows перезаписал загрузочную область, и компьютер теперь стартует сразу в Windows.
- ⏱️ Меню не появляется вообще — если установлена одна система, многие дистрибутивы скрывают меню и грузятся сразу; это не ошибка.
- 🔄 После обновления ядра система не стартует — возможно, новый пункт меню сформировался некорректно, но предыдущее ядро обычно доступно в разделе «Дополнительные параметры».
⚠️ Внимание: не переустанавливайте систему при виде приглашения grub rescue. Данные на диске в этой ситуации, как правило, целы — поврежден лишь загрузчик, который можно восстановить за несколько команд.
Восстановление GRUB: общий порядок действий
Универсальный безопасный способ вернуть загрузчик — загрузиться с Live-USB вашего дистрибутива и переустановить GRUB из живой системы. Точные команды и точки монтирования зависят от разметки диска и режима (BIOS или UEFI), поэтому сначала определите, на каком разделе находится корень системы, с помощью lsblk или fdisk -l.
☑️ Перед восстановлением GRUB проверьте
Общая логика восстановления на BIOS-системе выглядит так: смонтировать корневой раздел, выполнить chroot в установленную систему и запустить установку загрузчика на диск:
sudo mount /dev/sdXN /mnt
sudo chroot /mnt
grub-install /dev/sdX
update-grub
Здесь sdXN — корневой раздел (например, sda1), а sdX — сам диск целиком. На UEFI-системах процедура отличается: дополнительно монтируется EFI-раздел, а установка выполняется без указания устройства. Если не уверены в разметке — сверьтесь с официальной документацией дистрибутива, ошибка в выборе диска может затронуть другие системы.
⚠️ Внимание: команда grub-install записывает данные в загрузочную область диска. Указав неверный диск (например, sdb вместо sda), вы можете перезаписать загрузчик другого накопителя. Всегда проверяйте разметку через lsblk перед выполнением.
Как отличить режим BIOS от UEFI
В загруженной Linux-системе выполните команду: [ -d /sys/firmware/efi ] && echo UEFI || echo BIOS. Если каталог /sys/firmware/efi существует — система работает в режиме UEFI, иначе — классический BIOS (Legacy). Этот же признак работает и в Live-режиме: важно загрузить флешку в том же режиме, в котором установлена система.
Двойная загрузка: GRUB и Windows
Один из самых массовых сценариев использования GRUB — компьютер с двумя системами. При корректной установке Linux после Windows загрузчик автоматически находит Windows через модуль os-prober и добавляет её в меню отдельным пунктом.
Если пункт Windows не появился, возможные причины: os-prober отключен в настройках (в ряде дистрибутивов его нужно явно разрешить параметром GRUB_DISABLE_OS_PROBER=false в /etc/default/grub), Windows была в спящем режиме с быстрым запуском и её раздел не удалось корректно прочитать, либо системы установлены в разных режимах (одна в UEFI, другая в Legacy) — тогда увидеть обе в одном меню не получится.
Обратная ситуация — установка Windows после Linux — почти всегда затирает GRUB. Лечится это восстановлением загрузчика по инструкции из предыдущего раздела, переустанавливать Linux не нужно.
Часто задаваемые вопросы
GRUB — это вирус или системная программа?
Это легитимная системная программа — официальный загрузчик большинства дистрибутивов Linux. Его появление на экране означает лишь то, что на компьютере установлена (или была установлена) Linux-система.
Можно ли удалить GRUB, если Linux больше не нужна?
Да, но просто удалить разделы Linux недостаточно — загрузчик останется и выдаст ошибку. Нужно восстановить загрузчик Windows: загрузиться с установочного носителя Windows, открыть командную строку в среде восстановления и выполнить bootrec /fixmbr (для BIOS) либо восстановить загрузочные файлы через bcdboot (для UEFI). Только после этого разделы Linux можно удалять.
Чем GRUB отличается от загрузчика Windows?
Загрузчик Windows (Windows Boot Manager) ориентирован преимущественно на системы Microsoft, а GRUB умеет загружать разные операционные системы, включая несколько ядер Linux одновременно, и гибко настраивается. В схеме двойной загрузки обычно используется именно GRUB.
Почему после обновления ядра в меню появилось несколько пунктов?
Это нормальное поведение: GRUB сохраняет пункты для предыдущих версий ядра, чтобы при проблемах с новым вы могли загрузить старое. Старые ядра можно удалить штатным менеджером пакетов дистрибутива, после чего меню обновится автоматически.
Что делать, если grub rescue не принимает команды?
Минимальный режим rescue поддерживает лишь ограниченный набор команд. Надежнее не пытаться «оживить» загрузку из него, а загрузиться с Live-USB и переустановить GRUB по инструкции из раздела о восстановлении — это воспроизводимый и более безопасный путь.