Kernel Panic!
Паника в селе - дед взбесилсяВилами колет всех, кого видит Шум, гам, лают собаки Бегают люди, хлопают ставни, Бабы визжат. (вместо эпиграфа)
После очередного обновления системы упало устаревшее ядро, и подарило мне пару утомительных деньков.
Максимум, чего я мог добиться в первый день, это вываливание в шелл GRUB RESCUE, где вообще ничего нельзя было сделать, а сообщения об ошибках в гугле выдавали мне массу бесполезной выдачи: До сих пор в душе не знаю, что это за переменная упоминается в error: symbol `grub_real_boot_time` not found.
Единственный способ восстановления системы в данном случае - загрузиться с liveCD\флешки с живым линуксом и попытаться через консоль завести систему через её manjaro-chroot.
Перехожу из загрузочной системы на флешке в шелл неисправной. 1й параметр - путь к корню системы, 2й - выбранный шелл: manjaro-chroot /run/media/manjaro/root /bin/bash
Монтирую в корень все дополнительные разделы: mount /dev/sda2 /boot mount /dev/sda4 /home УБЕЖДАЮСЬ, что на всех разделах достаточно свободного места для завершения обновлений, и они примонтированны и исправны. Теперь ещё раз обновляю систему в профилактических целях: pacman -Syyuu Пересоздаю образ первичного линукса для загрузки системы - initramfs
mkinitcpio -p mkinitcpio -p linux61 # указывать с версией ядра, либо не указывать вовсе
На сообщения вроде "==> WARNING: Possibly missing firmware for module:" можно положить.
После устанавливаю grub, явно указыя цель, т.к. я оперирую из-под chroot: grub-install --target=i386-pc /dev/sda
Теперь конфигурирование grub2: grub-mkconfig -o /boot/grub/grub.cfg
Казалсоь бы всё... Но только на следующий день с помощью форума я понял, что моя проблема - устаревшее ядро, которое не понимает дивных изменений в формате сжатия образа. Или ещё в какой фигне, пейсатели коей положили болт на совместимость со старыми ядрами и уронили мою систему, соевые они куколды.
Надо просто установить пакет с подходящей версией ядра посвежее. Смотрю на нетбуке с manjaro, какие там есть ядра, и выбираю 61 LTS.
Установка сама вызывает mkinitcpio и пересоздаёт загрузочный образ. Вот после этого в меню загрузки grub2 появилось подменю с выбором версий ядер, я выбрал новое, и оно успешно загрузилось. Мои эмоции были радостными и бурными.
ВСЁ!
Полезные заметки.
Если grub-install /dev/sda ругается cannot find EFI directory, то скорее всего в системе нет никакой UEFI загрузки. Если есть, то явно указать каталог:
grub-install --efi-directory=[efi dir] grub-mkconfig -o /boot/grub/grub.cfg
или так: mount -t efivarfs efivarfs /sys/firmware/efi/efivars
grub-install --target=x86_64-efi --efi-directory=/boot/efi
«grub rescue» ничего не умеет, кроме как сказать «караул!» (с)
Ссылки.
В который раз хочу лучше освоить grub rescue, но в процессе
восстановления и диагностики он почти бесполезен, а потом становится
лень этим заниматься. Оставлю конспект ссылок по нему:
Прочие ссылки:
|