Переустановка grub astra linux

РЕШЕНО! После установки оперативного обновления 9 на обновление 6 слетел GRUB на сервере с dmraid

Здравствуйте.
После обновления Astra Linux Special Edition 1.6 с обновления 6 до оперативного обновления 9 на сервере, после перезагрузки системы слетел GRUB: symbol ‘grub_calloc’ not found. И строка grub rescue. Загрузка в режиме EFI.
У сервера был настроен дисковый массив на dmraid, в fstab был прописан корневой раздел по идентификатору массива (UUID). При загрузке дистрибутива с DVD в режиме восстановления массив не видится потому как в ALSE, как я понял, нет нормальных драйверов для RAID.
Посоветуйте что можно сделать в данном случае, чтобы починить загрузку?
Спасибо.

YNA

New member

Мне вот такой способ всегда помогал. Попробуйте, терять то нечего.
https://forum.astralinux.ru/threads/3324/post-16666

Jbanchic

New member

Мне вот такой способ всегда помогал. Попробуйте, терять то нечего.
https://forum.astralinux.ru/threads/3324/post-16666

Спасибо за ответ. Проблема в том, что из-за dmraid в системе нет дисков sda. Если б можно было как-то увидеть массив на dmraid — поправить GRUB можно было бы без особых усилий.

YNA

New member

При чём здесь sda? Это просто пример подвернулся. Вы вообще пробовали? Мне тоже интересно.
Там был пример с новым железом и Астра как то спасовала. После восстановления загрузчика смогла загрузиться. Мне эта утилита помогала не только линуксовые загрузчики восстанавливать, но и виндовые (Win 10) после падения линукс-систем и ихнего Граба.

oko

New member

to Jbanchic
Правильно понимаю, что у вас на руках только DVD-диск с ALSE (базовый, без обновлений) и проблемный сервер, на который кто-то ранее установил пакеты поддержки dmraid? Если так, то пробуйте аналогично вот этому.

to YNA
Никакая утилита не поможет, если ОС, под которой загрузились, не видит накопителей с установленной ОС. Поэтому да, дело как раз в поддержке блочных устройств (те же /dev/sda в обычном случае SATA-дисков или /dev/dm в случае dmraid).

Jbanchic

New member

Правильно понимаю, что у вас на руках только DVD-диск с ALSE (базовый, без обновлений) и проблемный сервер, на который кто-то ранее установил пакеты поддержки dmraid? Если так, то пробуйте аналогично вот этому.

Сервер был установлен с базового диска по вами указанной инструкции с подсовыванием модулей dmraid для того, чтобы система увидела массив и прекрасно работала и грузилась. На нее успешно было накатано оперативное обновление 6. После накатывания последнего оперативного обновления 9, который кстати установился без проблем, после перезагрузки сломался GRUB. На текущий момент времени при старте появляется grub rescue и вышеуказанная ошибка. Для того, чтобы починить GRUB, как я понимаю, нужно подцепить дисковый массив, который голым дистрибом ALSE в режиме восстановления не видится на моменте подключения корневого каталога. Поэтому и задаю вопрос здесь.

Читайте также:  Linux вывод всех папок

P.S.: Особенность dmraid в том, что в fstab сам массив прописан был по UUID. И, как я понимаю, там есть свои особенности. Для того, чтобы подцепить массив по UUID и примонтировать его куда-либо для починки GRUB что нужно сделать?

oko

New member

to Jbanchic
Никогда не пользовался ALSE в режиме восстановления.
В Grub rescue команда ls тоже ничего не показывает?
Остается вариант грузануться с LiveCD с поддержкой dmraid, выполнить chroot в /boot-раздел или корневой (если /boot там) и оттуда восстановить grub через update-grub. Сам подобным не занимался на ALSE с учетом обязаловки паролей на grub и невозможности корректно использовать root (придется chroot выполнять под уч.запись sudo-пользователя, устанавливавшего систему). Поэтому что-то более детальное посоветовать не могу.

oko

New member

to Jbanchic
Кстати, да, можно и дистриб ALSE использовать. Выполнить как по инструкции dmraid=true, чтобы ALSE его увидела. Далее CTRL+ALT+F2, chroot, установить пакеты поддержки dmraid и обновить GRUB. И, не возвращаясь в графику, ребутнуть сервер. По-идее должно помочь.

Jbanchic

New member

Никогда не пользовался ALSE в режиме восстановления.
В Grub rescue команда ls тоже ничего не показывает?

Показывает. Два диска с тремя разделами на каждом. Ну оно и понятно — в RAID зеркало.
hd0 (hd0.gpt3) (hd0.gpt2) (hd0.gpt1) hd1 (hd1.gpt3) (hd1.gpt2) (hd1.gpt1)

Остается вариант грузануться с LiveCD с поддержкой dmraid, выполнить chroot в /boot-раздел или корневой (если /boot там) и оттуда восстановить grub через update-grub

oko

New member

to Jbanchic
Значит, поддержка dmraid не слетела. Тогда без LiveCD (чисто из grub rescue) можете сделать то же самое — ищите hd с /boot, чрутьтесь в него и далее по тексту.

Jbanchic

New member

to Jbanchic
Значит, поддержка dmraid не слетела. Тогда без LiveCD (чисто из grub rescue) можете сделать то же самое — ищите hd с /boot, чрутьтесь в него и далее по тексту.

Если можно поподробнее. из grub rescue. Какие команды доступны и какие нужно запустить из rescue? Насколько я знаю, в этом режиме доступны всего 4 команды: ls, set, unset, insmod.
По разделам: gpt3 -скорее всего раздел EFI, gpt2 — /, gpt1 — swap.

oko

New member

to Jbanchic
Не знаю, актуально ли еще, но вот тут испчерпывающе расписаны возможные варианты.
Вообще, у вас, конечно, комбо: dmraid + efi. Imho, в подавляющем большинстве случаев любого сервера и GPT (и, следовательно, EFI) не требуется, и аппаратный (и тем более фейковый) RAID проще заменить программным на базе mdadm. Если речь не идет о каких-нибудь сверхнагруженных системах и обязательном требовании BBU и доп.кэширования.

Читайте также:  Manjaro linux драйвер wifi

mister

New member

Jbanchic

New member

Похоже надо трясти техподдержку Астры. Похоже это реально проблема для тех, у кого есть RAID-массивы.

Jbanchic

New member

Проблема с dmraid решена.
Долгое время не было возможности исправить ситуацию из-за того, что загруженная система не распознавала разделы массива, видела только сам массив без разделов. Не помог ни оригинальный дистрибутив ALSE, ни более новый ALCE.
В итоге загрузчик починен. Помог Linux Mint 20.2 Cinnamon загрузочный диск с офсайта. Все три раздела (EFI, root, swap) система увидела без добавления инструкции dmraid=true.
Решение:
1. Создается каталог, к примеру /mnt/1
2. Монтируется корневой каталог (в моем случае /dev/mapper/isw_xxxxx_xxxp2) в /mnt/1
3. mount -o bind /proc /mnt/1/proc
mount -o bind /sys /mnt/1/sys
mount -o bind /dev /mnt/1/dev
4. chroot /mnt/1
5. Если у вас UEFI загрузка, то дополнительно монтируется раздел с EFI (в моем случае /dev/mapper/isw_xxxxx_xxxp1) в раздел, в который он должен монтироваться в /etc/fstab (после chroot он легко смотрится cat /etc/fstab) (в моем случае в /boot/efi)
6. grub-install
7. update-grub

Загрузчик починен, система грузится.

P.S.:Единственное добавлю, что в некоторых случаях, если используется UEFI, в BIOS может появиться другой починенный раздел загрузки и сохранится старый, который не грузит grub. Лишний можно (да и нужно) удалить в BIOS.

roshchindmitriy

New member

1. Ошибка error symbol: `grub_calloc` not found на дисках с UEFI.
2. Загрузиться в AstraLinux Orel 2.13.1 livecd или Linux Mint 20.2 livecd.
3. Список дисков:
# lsblk
4. Монтируем корневой раздел:
# sudo mount /dev/sda2 /mnt/
5. efi:
# sudo mount /dev/sda1 /mnt/boot/efi/
7. # sudo mount -o bind /sys/ /mnt/sys/
# sudo mount -o bind /proc/ /mnt/proc/
# sudo mount -o bind /dev/ /mnt/dev/
8. # sudo chroot /mnt/
9. # grub-install
10. # update-grub
11. Перезагрузка.

roshchindmitriy

New member

Исправить GRUB UNKNOWN ERROR:
1. Список доступных разделов:
# ls
2. Просмотреть содержимое каждого раздела:
# ls (hd0,3)/
Если вы увидели папку boot, значит это наш раздел.
3. # set root=(hd0,3)
# set prex=(hd0,3)/boot/grub
4. # insmod normal
# normal

Если загрузились с текущего диска:

1. Устанавливаем GRUB на диск /dev/sda:
# sudo grub-install
2. # sudo update-grub
3. Перезагрузка.

Источник

unixforum.org

grub rescue: AstraLinux, SSD или моя неграмотность? (после обновления не работает grub, не могу восстановить)

grub rescue: AstraLinux, SSD или моя неграмотность?

Сообщение entada » 24.06.2023 00:57

Пожалуйста, подскажите, что я делаю не так.

После обновления Astra Linux CE 2.12.45 не работает загрузчик — говорит

error: symbol `grub_is_lockdown' not found

И показывает приглашение grub rescue.

set prefix=(hd0,gpt2)/boot/grub/ set root=(hd0,gpt2)/boot/grub/ insmod ext2 insmod normal normal 

и система после загрузки и автологина выглядит как обычно (но, как выяснилось позже, почему-то отказывается принимать мой пароль. Upd: после sudo passwd ⟨имярек⟩ и перезагрузки вроде бы снова принимает).

Читайте также:  Обновление simply linux через терминал

Но вот восстановление нормальной загрузки по этой инструкции мне не удалось.
Для sudo grub-install /dev/sd_ у меня нет /dev/sd_. Есть /dev/nvme0, /dev/nvme0n1 и /dev/nvme0n1p1 . /dev/nvme0n1p5.

sudo grub-install /dev/nvme0n1 (или /dev/nvme0) sudo update-grub

отрабатывают вроде бы без ошибок, но после перезагрузки опять вижу grub rescue.

Это я что-то не так делаю, что-то не то с дистрибутивом AstraLinux или мне надо сдавать на проверку физического состояния SSD с оным AstraLinuxʼом?

Re: grub rescue: AstraLinux, SSD или моя неграмотность?

Сообщение UnixNoob » 25.06.2023 00:37

Вот тут два варианта с инструкцией, на выбор, в них не требуется указывать куда именно вы ставите grub:

Если у вас UEFI:

1. Загрузиться в AstraLinux Orel 2.13.1 livecd или Linux Mint 20.2 livecd
2. Список дисков:

Если хотите, используя grub-rescue:

1. Список доступных разделов:

Для sudo grub-install /dev/sd_ у меня нет /dev/sd_. Есть /dev/nvme0, /dev/nvme0n1 и /dev/nvme0n1p1 . /dev/nvme0n1p5.

Это зависит от типа диска, установленного у вас. Если hdd или ssd, то они указываются как /dev/sdX, а если у вас nvme диск, формата М2, то они обозначаются как nvme0n1, а их разделы как nvme0n1pX

«Однажды один очень мудрый человек… ничего не сказал. Времена были опасные, да и собеседники ненадёжные»

Re: grub rescue: AstraLinux, SSD или моя неграмотность?

Сообщение entada » 25.06.2023 11:35

Вот тут два варианта с инструкцией, на выбор, в них не требуется указывать куда именно вы ставите grub

Попробую и эту инструкцию, если неисправность SSD не подтвердится, а проблемы с загрузкой сохранятся.

Это зависит от типа диска, установленного у вас. Если hdd или ssd, то они указываются как /dev/sdX, а если у вас nvme диск, формата М2, то они обозначаются как nvme0n1, а их разделы как nvme0n1pX

Вот мне тоже показалось, что если, согласно mount, корень, который обычно /dev/sda2 — это /dev/nvme0n1p2, то устройство, аналогичное /dev/sda — это /dev/nvme0n1.
Но — не срослось.

Так что почти только что — мои нервы всё же не выдержали, и данные с SSD были зарезервированы, а сам он оттащен в ремонт для взвешивания и измерения, дабы уж точно исключить физическую неисправность.

Тем более что по размышлении вспомнилось, что именно с этой рабочей станцией ранее случилось несколько конфузов, списанных на мою неизбывную чайниковость, отличие Astra Linux от привычного Debian Stable и положение звёзд Сад-ад-Забих.

Источник

Оцените статью
Adblock
detector