@n1cew0lf
Sysadmin

Kernel panic после перезагрузки — это реанимируется?

Здравствуйте и процветайте.

Возникла следующая проблема:оказалось, что ядро обновляли, но перезагрузку не производили.

Система Oracle Linux 6.7.

Есть два ядра - 2.6.32-504(текущее) и 2.6.32-573.22.1(обновленнное)

[root@cf ~]# uname -a
Linux cf.office.dc 2.6.32-504.el6.x86_64 #1 SMP Tue Oct 14 01:47:47 PDT 2014 x86_64 x86_64 x86_64 GNU/Linux
[root@cf ~]# yum list kernel
Installed Packages
kernel.x86_64 2.6.32-504.el6 @local_ol6_latest
kernel.x86_64 2.6.32-573.22.1.el6 installed

при перезагрузке работающей машины выдалось

Kernel panic - not syncing: VFS: unable to mount root fs on unknown-block(0,0)
Pid: 1, comm: swapper Not tainted 2.6.32-573.22.1.el6.x86_64

Загрузившись с другого ядра(более старого), выяснил. что отсутствует запись об initrd. Создал initramfs dracut'ом, добавил запись в grub:

[root@cf ~]# dracut /boot/initramfs-2.6.32-573.22.1.el6.x86_64.img 2.6.32-573.22.1.el6.x86_64

Запись появилась и распознается, однако при загрузке появляется следующее:

modprobe: FATAL: Could not load /lib/modules/2.6.32-573.22.1.el6.x86_64/modules.deb, no such file or directory.

и последующий kernel panic.

Судя по гуглу - проблема просто в отсутствии перезагрузки - что к моей ситуации не подходит - ибо я в конечном итоге перезагрузился. Что можете подсказать? Удалить обновленное ядро и заново обновить? Есть ли гарантия, что это не повторится?
  • Вопрос задан
  • 433 просмотра
Решения вопроса 1
@n1cew0lf Автор вопроса
Sysadmin
Выяснил в результате.

в образе initrd, созданном dracut'ом действительно отсутствовали необходимые файлы.
Просмотр модулей:

[root@ test] gunzip -c initramfs-2.6.32-573.22.1.el6.x86_64.img | cpio --list | grep dep
[root@ test]

Видим, что модулей действительно нет - удаляем неработающий файлик initramfs и создаем новый, но не dracut'ом, а mkinitrd:

[root@ test]# mkinitrd initramfs-2.6.32-573.22.1.el6.x86_64.img 2.6.32-573.22.1.el6.x86_64
[root@test]# gunzip -c initramfs-2.6.32-573.22.1.el6.x86_64.img | cpio --list | grep dep
lib/modules/2.6.32-573.22.1.el6.x86_64/modules.dep.bin
lib/modules/2.6.32-573.22.1.el6.x86_64/modules.softdep
lib/modules/2.6.32-573.22.1.el6.x86_64/modules.dep
[root@test]#
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы