我想在发生错误时读取另一个内核

时间:2017-10-18 02:03:32

标签: linux grub panic grub2

在读取内核时,我想在发生错误时读取另一个内核。 因为ssh远程在内核编译。 grub选项有可能吗?

title CentOS (3.13.6)
        root (hd0,0)
        kernel /vmlinuz-3.13.6 ro root=/dev/mapper/vg_sizone-lv_root rd_NO_LUKS rd 
_LVM_LV=vg_sizone/lv_root rd_NO_MD crashkernel=auto LANG=ko_KR.UTF-8  KEYBOARDTYPE 
=pc KEYTABLE=ko rd_LVM_LV=vg_sizone/lv_swap rd_NO_DM rhgb quiet
        initrd /initramfs-3.13.6.img
title CentOS (2.6.32-642.6.1.el6.x86_64)
        root (hd0,0)
        kernel /vmlinuz-2.6.32-642.6.1.el6.x86_64 ro root=/dev/mapper/vg_sizone-lv 
_root rd_NO_LUKS rd_LVM_LV=vg_sizone/lv_root rd_NO_MD crashkernel=auto LANG=ko_KR. 
UTF-8  KEYBOARDTYPE=pc KEYTABLE=ko rd_LVM_LV=vg_sizone/lv_swap rd_NO_DM rhgb quiet
        initrd /initramfs-2.6.32-642.6.1.el6.x86_64.img

如果3.13.6内核恐慌。我想要启动2.6.32

3 个答案:

答案 0 :(得分:1)

在所有场景中都无法实现;但是,如果你想为你的服务器测试一个新的内核,如果不能正常工作则回到旧的内核,你可以得到。

我假设您现在使用旧内核启动并想要测试新编译的内核 一旦为新内核创建了一个菜单项,请确保将'panic=N'添加到内核命令行参数;这将确保在内核崩溃的N秒(如果N大于零)之后重新启动。

然后,

将当前启动的内核设置为默认值:

# grub-set-default <current kernel menuentry number>
# grub-reboot <new kernel menuentry number>

请注意,菜单条目编号从0开始。 然后,重启系统。

# reboot

这将启动到新编译的内核并重新启动到旧内核,以防出现内核崩溃。

答案 1 :(得分:-1)

总的来说,如果你想引导一个新的linux,应该引起内核映像,ramdisk和linux驱动程序的注意。

我的grub配置中没有发现任何问题,为什么不尝试?

答案 2 :(得分:-2)

在前面添加一行:

默认= 1

如果默认= 0,则启动3.13.6