Появление командной строки grub rescue вместо привычного графического интерфейса Astra Linux — это критическая ситуация, которая парализует работу сервера или рабочей станции. Обычно это происходит после неудачного обновления ядра, сбоя файловой системы или случайного удаления загрузочных файлов в разделе /boot. В этот момент операционная система Astra Linux не может найти свои конфигурационные файлы и переходит в аварийный режим ожидания команд.

Не стоит паниковать, так как данные на дисках, как правило, остаются целыми, а проблема кроется исключительно в механизме инициализации. Ваша задача сейчас — вручную указать загрузчику путь к ядру или восстановить поврежденный конфигурационный файл grub.cfg. Для успешного решения проблемы вам потребуется понимание структуры разделов диска и базовые знания командной строки Linux.

В этой статье мы разберем алгоритм действий от диагностики до полного восстановления работоспособности системы. Мы рассмотрим как ручное исправление загрузчика, так и использование специализированных утилит для автоматического поиска потерянных конфигураций. Ключевым моментом является точное определение номера раздела, где смонтирована корневая файловая система Astra Linux.

Диагностика структуры разделов в аварийном режиме

Первым шагом при попадании в оболочку grub rescue> является анализ текущей ситуации. Загрузчик не знает, где искать файлы, поэтому вам нужно самостоятельно исследовать доступные диски и разделы. Команда ls выведет список всех обнаруженных устройств, что станет отправной точкой для дальнейших действий.

Введите команду ls и внимательно изучите вывод. Вы увидите перечень вроде (hd0) (hd0,msdos1) (hd0,msdos2). Здесь hd0 обозначает первый физический диск, а числа в скобках — номера разделов. Важно понимать, что нумерация в GRUB начинается с нуля, в отличие от нумерации разделов в Linux, которая часто начинается с единицы.

  • 🔍 Используйте команду ls (hd0,1)/ (не забывая про слэш в конце), чтобы проверить содержимое раздела.
  • 💾 Ищите характерные директории Linux, такие как boot, etc или usr.
  • ⚙️ Если вы видите папку grub внутри раздела, это верный признак того, что вы на правильном пути.

Цель этапа — найти раздел, содержащий папку /boot/grub или просто /grub, где лежат модули и конфигурация. Если вы ошибетесь с разделом, команда ls выдаст ошибку или покажет файловую систему Windows (NTFS), что нам не подходит. Убедитесь, что вы идентифицировали именно системный раздел Astra Linux.

📊 Какой тип диска установлен в вашей системе?
  • HDD SATA
  • SSD SATA
  • NVMe M.2
  • RAID массив

Ручная загрузка ядра и временный запуск системы

После того как вы определили правильный раздел, например (hd0,msdos1), необходимо задать его загрузчику как корневой. Это делается командой set root. Без этого шага GRUB не будет знать, откуда считывать модули для запуска ядра.

Выполните последовательность команд, подставив ваш номер раздела. Сначала устанавливаем корень, затем указываем путь к модулю normal, который позволяет загрузить полноценное меню или консоль. Если путь к ядру отличается от стандартного, его нужно будет скорректировать.

set root=(hd0,msdos1)

set prefix=(hd0,msdos1)/boot/grub

insmod normal

normal

Если команды выполнены верно, система попытается загрузить меню GRUB или сразу запустит Astra Linux. В некоторых случаях может потребоваться ручное указание пути к ядру (linux) и образу начальной памяти (initrd), если автоматическая загрузка не сработает. Это более сложный сценарий, требующий знания точной версии ядра.

Использование LiveCD для глубокого восстановления

Если ручные манипуляции в grub rescue не принесли результата, самым надежным способом остается использование загрузочного носителя с дистрибутивом Astra Linux или любым другим Linux (например, SystemRescue). Загрузившись с флешки, вы получаете полный доступ к файловой системе и инструментам восстановления.

После запуска Live-системы откройте терминал и выполните команду lsblk или fdisk -l, чтобы найти свой системный раздел. Допустим, это /dev/sda1. Вам необходимо смонтировать его в каталог /mnt и, при наличии отдельного раздела /boot, смонтировать и его.

  • 📀 Смонтируйте корневой раздел: mount /dev/sda1 /mnt.
  • 📂 Если есть отдельный boot, смонтируйте его: mount /dev/sda2 /mnt/boot.
  • 🔗 Для работы с EFI-системами не забудьте смонтировать EFI-раздел в /mnt/boot/efi.

Далее необходимо использовать утилиту chroot, чтобы "перенестись" из Live-окружения в вашу установленную систему. Это позволит выполнять команды так, как если бы система была загружена нормально. Мы выполним команды обновления конфигурации GRUB и переустановки загрузчика в MBR или EFI.

☑️ Подготовка к восстановлению через chroot

Выполнено: 0 / 5

Автоматическое восстановление с помощью Boot-Repair

Для пользователей, не желающих углубляться в ручной поиск путей и модулей, существует отличная утилита Boot-Repair. Она автоматически сканирует диски, находит установленные операционные системы и перезаписывает загрузчик с правильными параметрами. Это часто решает проблему grub rescue за пару кликов.

В среде LiveCD Astra Linux (или Ubuntu-based дистрибутивах) можно добавить репозиторий утилиты и установить ее. После запуска программа предложит рекомендуемый ремонт, который пересоберет конфигурационный файл grub.cfg и установит загрузчик в нужную область диска.

Параметр Описание Рекомендуемое значение
Где установить GRUB Устройство для записи загрузчика /dev/sda (весь диск)
Раздел /boot Путь к файлам ядра Определяется автоматически
ОС для добавления Соседние системы в меню Все найденные
Reinstall GRUB Переустановка загрузчика Включено

Использование автоматических средств значительно снижает риск человеческой ошибки, особенно если вы не уверены в структуре разделов. Однако, если автоматика не справляется, это может указывать на более серьезные повреждения файловой системы или таблицы разделов.

⚠️ Внимание: При использовании Boot-Repair или ручной переустановке убедитесь, что вы выбираете правильный диск для записи загрузчика. Запись на диск с данными (/dev/sdb вместо /dev/sda) может привести к потере информации на нем.

Особенности восстановления в системах с UEFI и Secure Boot

Современные компьютеры и серверы часто используют интерфейс UEFI вместо классического BIOS. В этом случае процесс восстановления отличается тем, что загрузчик хранится не в MBR, а в специальном скрытом разделе FAT32 (EFI System Partition). Ошибки здесь часто связаны с изменением порядка загрузки или повреждением файлов .efi.

При работе с UEFI критически важно правильно смонтировать EFI-раздел при использовании chroot. Обычно он находится по пути /boot/efi внутри смонтированной системы. Если этот раздел не смонтирован, команда grub-install не сможет обновить файлы загрузчика, и ошибка grub rescue сохранится после перезагрузки.

Также стоит обратить внимание на настройку Secure Boot. В некоторых конфигурациях Astra Linux (особенно специальных выпусков) могут использоваться собственные ключи подписи. Если в BIOS сброшены настройки или изменен порядок приоритетов, система может отказываться загружать даже исправный GRUB.

Профилактика и создание резервных копий загрузчика

Чтобы ситуация с grub rescue не застала вас врасплох в будущем, рекомендуется регулярно создавать резервные копии загрузочной области. Это особенно актуально перед крупными обновлениями системы или изменением разметки диска. Восстановление из бэкапа занимает секунды.

Вы можете сохранить MBR (первые 512 байт диска) или весь сектор загрузчика в файл. Хранить этот файл следует на внешнем носителе или в сетевом хранилище. В случае проблем достаточно будет восстановить эти байты обратно на диск.

dd if=/dev/sda of=/backup/mbr_sda.img bs=512 count=1

Кроме того, следите за свободным местом в разделе /boot. Часто ошибка возникает из-за того, что при обновлении ядра старые файлы не удаляются, место заканчивается, и новый образ ядра не записывается корректно. Регулярная очистка старых ядер через пакетный менеджер apt предотвратит эту проблему.

Часто задаваемые вопросы (FAQ)

Можно ли восстановить Astra Linux без LiveCD, только через grub rescue?

Да, это возможно, если вы точно знаете структуру разделов и пути к файлам. Вам нужно вручную задать set root и set prefix, затем загрузить модуль normal. Однако этот способ требует высокой квалификации и не гарантирует успех при повреждении файлов.

Почему после обновления Windows пропала загрузка Astra Linux?

Установщик Windows часто перезаписывает главную загрузочную запись (MBR) или EFI-раздел своими данными, игнорируя другие ОС. Для решения нужно просто переустановить GRUB, используя LiveCD и команду grub-install.

Какая команда нужна для просмотра файлов в grub rescue?

Используйте команду ls (hdX,Y)/ с обязательным слэшем в конце. Она покажет содержимое раздела. Также полезна команда cat для просмотра содержимого текстовых файлов, если путь известен.

Что делать, если команда insmod normal не выполняется?

Это означает, что загрузчик не может найти модуль по указанному пути. Проверьте правильность указания префикса (set prefix) и корня (set root). Возможно, файлы GRUB повреждены или удалены, и потребуется переустановка системы или загрузчика через LiveCD.