前两天工作中遇到一个问题,系统无法启动,进入到emergency mode(紧急模式),显示无法找到lv_swap


最开始想到的解决办法是将系统挂载上,然后将/etc/fstab中关于swap的挂载注释(之前对于处理更换硬盘后,硬盘未格式化,无法挂载时就是用的此种方法)


重启系统发现无效,同样的问题,依旧在寻找这个lv_swap
经过再次排查,发现在系统安装时grub参数上就加上了对lv_swap的检查

删除swap相关内容

生成配置文件(执行这一步操作需要先退出chroot)

执行如下命令
sh-5.1# exit
dracut:/# mount --bind /dev /sysroot/dev
dracut:/# mount --bind /proc /sysroot/proc
dracut:/# mount --bind /sys /sysroot/sys
dracut:/# mount --bind /dev /sysroot/dev
dracut:/# chroot /sysroot
sh-5.1# grub2-mkconfig -o /boot/grub2/grub.cfg

重启服务器,正常进系统
但是,在一些高版本的系统中,修改/etc/defaule/grub是无效的,修改完后,启动菜单仍然使用的原来的参数
需要修改/boot/loader下的文件
cat /boot/loader/entries/068e71c00c02478ea8d2fc5a1e6ff66d-$(uname -r).conf

将swap相关检查删除,修改后的内容如下

然后直接重启就可以了