Появление на экране черного интерфейса с мигающим курсором и надписью grub rescue> вместо привычного меню загрузки Astra Linux часто становится неприятным сюрпризом для системного администратора или пользователя. Эта ситуация означает, что загрузчик GRUB потерял связь со своими конфигурационными файлами или модулями, расположенными в разделе /boot. Система не может найти путь к ядру и инициировать запуск операционной системы Astra Linux Special Edition или Astra Linux Common Edition (Орёл).
Причины возникновения такой ошибки могут быть самыми разными: от случайного удаления раздела с загрузочными файлами до сбоя файловой системы после некорректного завершения работы. Также проблема часто встречается при обновлении ядра или установке второй операционной системы, которая перезаписывает Master Boot Record (MBR). В этом руководстве мы детально разберем процесс диагностики и ручного восстановления работоспособности дистрибутива без потери данных.
Важно понимать, что режим grub rescue — это не полноценная операционная система, а минималистичная среда с ограниченным набором команд. Здесь недоступны привычные инструменты управления пакетами или графический интерфейс. Все действия необходимо выполнять точно и последовательно, так как одна ошибка в синтаксисе может потребовать перезагрузки и повторения всех манипуляций. Критически важно перед началом работ убедиться, что у вас есть резервная копия важных данных или LiveCD-диск с Astra Linux на случай непредвиденных осложнений.
⚠️ Внимание: Все описанные ниже действия выполняются на свой страх и риск. Неправильное указание разделов или команд может привести к полной неработоспособности системы. Убедитесь, что вы понимаете смысл каждой вводимой команды.
Диагностика структуры разделов в режиме rescue
Первым шагом при попадании в консоль grub rescue> является определение, на каком именно диске и разделе находятся файлы вашей системы. Стандартный набор команд здесь крайне ограничен, но базовые инструменты для навигации доступны. Вам необходимо найти раздел, содержащий директорию /boot/grub. Для начала выведите список всех доступных системе устройств.
Введите команду ls и нажмите Enter. На экране отобразится перечень всех обнаруженных дисков и разделов, например: (hd0) (hd0,msdos1) (hd0,msdos2) (hd1) (hd1,gpt1). Обратите внимание на нотацию: hd0 обозначает первый физический диск, а числа указывают на номер раздела. В зависимости от типа разметки (MBR или GPT), обозначения могут отличаться (msdos или gpt).
Теперь необходимо последовательно проверить содержимое каждого раздела, чтобы найти тот, где лежит загрузчик. Это делается командой ls (hdX,Y)/ (не забудьте слэш в конце). Если раздел существует и файловая система читается, вы увидите список директорий. Ищите раздел, в котором присутствуют папки boot или grub.
- 🔍 Проверка разделов: Используйте команду
lsдля получения списка всех доступных устройств и разделов в системе. - 📂 Поиск содержимого: Команда
ls (hd0,1)/покажет файлы корневого раздела, помогая идентифицировать системный том. - 💾 Идентификация загрузчика: Ищите раздел, содержащий путь
/boot/grub, что указывает на наличие конфигурации GRUB.
Если при попытке обратиться к разделу вы получаете ошибку unknown filesystem, значит, GRUB не может прочитать файловую систему этого раздела, либо это не тот раздел, либо он поврежден. Продолжайте перебор до тех пор, пока не найдете правильный. Обычно в Astra Linux Орёл загрузочные файлы могут находиться либо в отдельном маленьком разделе /boot, либо в корне основного системного раздела.
- MBR (msdos)
- GPT
- Не знаю
- LVM
Поиск конфигурационных файлов и модулей
После того как вы предположительно определили нужный раздел (например, (hd0,msdos1)), необходимо убедиться, что внутри него лежит полная структура загрузчика. Введите команду ls (hd0,msdos1)/boot/grub. Если в ответ вы увидите список файлов, включая i386-pc (для BIOS) или x86_64-efi (для UEFI), а также файл normal.mod, значит, вы на верном пути.
Наличие файла normal.mod критически важно, так как именно он позволяет переключиться из аварийного режима в нормальный режим работы загрузчика. Без этого модуля дальнейшие действия в текущей сессии будут невозможны, и придется использовать LiveCD. Также проверьте наличие файла конфигурации grub.cfg, хотя для временного запуска он может не потребоваться, если мы укажем путь к ядру вручную.
⚠️ Внимание: В Astra Linux Special Edition с повышенными требованиями к безопасности (например, уровень защиты "Орёл") пути к модулям могут быть специфичны. Убедитесь, что архитектура модулей (i386-pc) соответствует архитектуре вашего процессора и режиму загрузки (BIOS/UEFI).
Для точной идентификации версии ядра, которую нужно загружать, можно попытаться посмотреть содержимое папки с ядрами. Обычно они лежат в /boot и имеют имена вида vmlinuz-версия и initrd.img-версия. Если вы не помните точную версию, выберите файл с самым большим номером версии, так как это, как правило, последнее установленное и рабочее ядро системы.
- 📝 Проверка модулей: Убедитесь в наличии файла
normal.modв директории/boot/grubвыбранного раздела. - 🔢 Версия ядра: Определите актуальную версию ядра, посмотрев файлы
vmlinuzв папке/boot. - 🛠️ Совместимость: Проверьте, соответствует ли тип модулей (pc или efi) режиму работы вашей материнской платы.
Ручная загрузка ядра и временный запуск системы
Найдя рабочий раздел и убедившись в целостности файлов, можно переходить к ручной сборке цепочки загрузки. Этот процесс требует ввода четырех ключевых команд, которые укажут загрузчику, где искать ядро, начальный диск и конфигу