There are questions remain, We'll search for the answers together. But one thing we known for sure,the future is not set!

【原创文章】CENTOS kernel panic无法对未知的块安装根文件系统的解决办法

系统防护 百蔬君 5606℃ 已收录 0评论

今天突然发现维护的linux系统无法访问了,网站打不开,SSH无法登陆,后台面板也没有响应,打开机房的管理后台,reboot服务器,过了一会还是没有反应,有点纳闷,这是商业网站,不敢怠慢,马上开工找问题。

打开机房准备的KVM,KVM是基于jave的远程服务器管理工具。由于是基于java的东东,现在的java使用是相当的严格和麻烦,安全级别只有“高”和“较高”,所以降低安全等级使用浏览器java是不行了,必须把域名加入白名单。

由于从机房的下载的jnlp文件里面的网站端口每次都不一样,所以好一阵子是烦死了,无法下载jnlp文件里面地址的文件,导致KVM无法使用。这里有个小经验。

用记事本打开jnlp文件,里面的地址和端口都是明文来的。

http://108.170.22.66:25750加入“例外站点”列表就好了。

用KVM链接上服务器,reboot,查看服务器情况,出现了如下错误

kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
Pid:1, comm:swapper not tainted 2.6.32-696.6.3.e16.x86_64 #1

看到这个“2.6.32-696.6.3.e16.x86”错误,突然我想起了什么,昨天执行过yum update,安装过新的内核,今天就加载新的内核了,难怪错误,找到了原因就好办了。重新reboot,重启之后按KVM虚拟键盘的ESC键,一会就出现了可供启动的3个内核版本的选择,选择老的内核启动,顺利进入系统。

那么下次怎么办呢,总是这样手动肯定不是办法,我们要修改/boot/grub/grub.conf文件。
从SSH登陆系统后,执行vim /boot/grub/grub.conf

grub.conf的内容如下

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/mapper/syswoZn-root
#          initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=2
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.32-696.6.3.el6.x86_64)
        root (hd0,0)
        kernel /vmlinuz-2.6.32-696.6.3.el6.x86_64 ro root=/dev/mapper/syswoZn-root rd_NO_LUKS pcie_aspm=off LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=us rd_LVM_LV=syswoZn/root rd_NO_DM rhgb quiet pcie_aspm=off
title CentOS (2.6.32-696.3.2.el6.x86_64)
        root (hd0,0)
        kernel /vmlinuz-2.6.32-696.3.2.el6.x86_64 ro root=/dev/mapper/syswoZn-root rd_NO_LUKS pcie_aspm=off LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=us rd_LVM_LV=syswoZn/root rd_NO_DM rhgb quiet pcie_aspm=off
        initrd /initramfs-2.6.32-696.3.2.el6.x86_64.img
title CentOS 6 (2.6.32-696.el6.x86_64)
        root (hd0,0)
        kernel /vmlinuz-2.6.32-696.el6.x86_64 ro root=/dev/mapper/syswoZn-root rd_NO_LUKS pcie_aspm=off LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=us rd_LVM_LV=syswoZn/root rd_NO_DM rhgb quiet pcie_aspm=off
        initrd /initramfs-2.6.32-696.el6.x86_64.img

可以看到有3个内核版本,两个为CentOS (2.6.32-696.6.3.el6.x86_64),另外一个为 CentOS 6 (2.6.32-696.el6.x86_64),他们的序号从0开始,分别为0,1,2.

那么把default参数的值修改为2就好了,成功搞定。

转载请注明:百蔬君 » 【原创文章】CENTOS kernel panic无法对未知的块安装根文件系统的解决办法

喜欢 (2)or分享 (0)
发表我的评论
取消评论

请证明您不是机器人(^v^):

表情