大学哥手游网:值得大家信赖的游戏下载站!

微信:96kaifa
关注我们
所在位置:首页 > 服务器 > 升级 Linux 内核后如何避免无法启动系统?

升级 Linux 内核后如何避免无法启动系统?

发布时间:2021-05-24 11:41:15来源:大学哥手游网作者:大学哥手游网

RAK部落今天打开电脑发现linux无法正常进入,进入的是initramfs,提示什么built-in shell(ash)。。。顿时懵逼,去百度找了很多的办法比如进入grub menu之后选择第一项然后按e编辑将qiuet splash替换成all_generic_edit然后回车再按b启动linux结果还是不行,最后在公司一位伙伴的帮助下才解决,具体操作内容如下,希望能让遇到此问题的朋友避免。

注意
不建议随意自行升级内核

对于CentOS、OpenSUSE、SLES(SUSE Linux Enterprise Server) 和 Aliyun Linux,升级Linux实例后启动失败,可能是因为升级后的内核对应的initrd文件中没有virtio-blk和xen-blkfront驱动。而Debian和Ubuntu的virtio-blk和 xen-blkfront驱动是内核内置的,所以不存在这个可能性。

什么是initrd文件

initrd(initial ramdisk)是用于载入临时root文件系统到磁盘中的,运行于Linux实例启动阶段。起同样作用的还有initramfs文件,虽然initrd和initramfs是两种不同的操作概念,但这两个文件都活跃在启动实例时挂载root文件系统之前。

如何优化内核并避免启动失败

编辑系统配置文件,若配置文件中缺失下列内容需要您手动加上:

CentOS 6和CentOS 7:执行 vi /etc/dracut.conf.d/virt-drivers.conf,添加 add_drivers+=" xen-blkfront virtio_blk "

CentOS 5:执行 vi /etc/dracut.conf.d/virt-drivers.conf,添加 add_drivers+=" xen-vbd virtio_blk virtio_console "

OpenSUSE/SUSE:

执行 vi /etc/sysconfig/kernel,添加 INITRD_MODULES=" virtio_blk virtio_pci xen-vbd"

执行 vi /etc/dracut.conf,添加 add_drivers+="virtio_blk virtio_pci xen-vbd"

更新内核:

CentOS:执行 yum install kernel

OpenSUSE/SUSE:执行 zypper install kernel-default

执行命令 lsinitrd /boot/initramfs-$(new-kernel-ver).img | grep -E 'virtio|xen' 检查并确认initrd / initramfs文件中已经包含了virtio-blk和xen-blkfront驱动。

必须确认virtio-blk和xen-blkfront驱动在initrd中才可以重启服务器。

看到这,关于“升级 Linux 内核后如何避免无法启动系统?”问题的步骤讲解完毕,希望能够帮到与我同样遇到这类问题的朋友,如果在操作过程中有任何问题请随时下方评论,RAK部落看到会第一时间处理。


我要评价

  • 热门资讯
  • 最新资讯
  • 手游排行榜
  • 手游新品榜