В данной статье расскажем как исправить ошибки загрузки ОС Astra Linux. Ошибки могут быть следующими:

«Loading Linux 5.12.0-50-generic …
error: file `/boot/vmlinuz-5.12.0-50-generic’ not found.
error: you need to load the kernel first.
Press any key to continue…»

«error: ELF header smaller than expected»

«error: mismatched names.»

Введение в GRUB, проверка исходных настроек.

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

Давайте познакомимся с командами Grub.
1. Введите ls , чтобы вывести список всех разделов, которые видит GRUB:

grub > ls
(hd0) (hd0,gpt2) (hd0,gpt1)

2. Используйте ls команду, чтобы увидеть, какие файлы находятся в вашей системе:

grub > ls (hd0,1)/
lost+found/ bin/ boot/ cdrom/ dev/ etc/ home/  lib/
lib64/ media/ mnt/ opt/ proc/ root/ run/ sbin/ 
srv/ sys/ tmp/ usr/ var/ vmlinuz vmlinuz.old 
initrd.img initrd.img.old

3. Мы определили корневую файловую систему. Дополнительно вы можете прочитать любой файл в операционной системе с помощью команды cat:

grub rescue> grub Rescue> cat (hd0,1)/etc/astra/build_version
Astra Linux 1.7.4

4. С помощью команды ls увидим вывод директории boot:

grub > ls(hd0,gpt1) /boot
./ ../ efi/ config-5.15.0-70-generic grub/ config ... initrd.img-5.15.0-70-generic vmlinuz-5.15.0-70-generic ...

Загрузка Linux из grub в рабочем режиме.

Далее разберемся как установить загрузочные файлы и загрузить систему из  режима grub>. Благодаря выполнению  ls команды мы знаем, что на сервере существует корневая файловая система Linux  (hd0,1).

  1. Запустите эти команды, используя собственный корневой раздел, ядро ​​и образ initrd:
grub >  set root=(hd0,1)
grub >  linux /boot/vmlinuz-5.15.0-70-generic root=/dev/sda1
grub > initrd /boot/initrd.img-5.15.0-70-generic
grub > boot

Первая строка grub > set root=(hd0,1) задает раздел, в котором находится корневая файловая система.

Вторая строка grub > linux /boot/vmlinuz-5.15.0-70-generic root=/dev/sda1 сообщает GRUB расположение ядра, которое вы хотите использовать. Как узнать правильный раздел sda или sdb? hd0,1 = /dev/sda1. hd1,1 = /dev/sdb1, hd3,2 = /dev/sdd2. 

Третья строка grub > initrd /boot/initrd.img-5.15.0-70-generic задает  initrd файл, который должен иметь тот же номер версии, что и ядро.

Четвертая строка загружает вашу систему.

2. Теперь мы можем загрузиться с grub> следующим образом:

grub> set root=(hd0,1)
grub> linux /vmlinuz root=/dev/sda1
grub> initrd /initrd.img
grub> boot

Загрузка Linux из Grub Rеscue  (в режиме восстановления).

Если вы находитесь в аварийной оболочке GRUB — GRUB Rescue,то команды будут другими, и вам придется загрузить модули normal.mod и linux.mod :

grub rescue> set prefix=(hd0,1)/boot/grub
grub rescue> set root=(hd0,1)
grub rescue> insmod normal
grub rescue> normal
grub rescue> insmod linux
grub rescue> linux /boot/vmlinuz-5.15.0-70-generic root=/dev/sda1
grub rescue> initrd /boot/initrd.img-5.15.0-70-generic
grub rescue> boot

После ввода команды boot вы сможете снова загрузиться в ОС, но для того, что бы после перезагрузки системы все снова запустилось, вам нужно из ОС Astra Linux переустановить GRUB через fly-терминал.

Завершаем восстановление системы Astra Linux . Установка и обновление GRUB.

  1. Вводим следующую команду для обновления:
# sudo update-grub
Generating grub configuration file ...
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Found linux image: /boot/vmlinuz-5.15.0-70-generic
Found initrd image: /boot/initrd.img-5.15.0-70-generic
...
done

2. Далее, после обновления, выполним установку Grub на загрузочный сектор жесткого диска:

# sudo grub-install /dev/sda
Выполняется установка для платформы x86_64-efi.
Установка завершена. Ошибок нет.

При запуске grub-install помните, что вы устанавливаете его в загрузочный сектор вашего жесткого диска /dev/sda, а не в раздел, поэтому НЕ ИСПОЛЬЗУЙТЕ номер раздела, например /dev/sda1.

3. Не забываем записать конфиг в соответствующую директорию:

sudo grub-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file...
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Found linux image: /boot/vmlinuz-5.15.0-70-generic
Found initrd image: /boot/initrd.img-5.15.0-70-generic
...
done

После данной процедуры вы можете перезапустить Astra Linux и ошибка не повторится.

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.