Centos系统进入dracut的原因有很多
比如:
系统重要文件丢失
系统配置文件配置错误
服务器迁移到不同虚拟化环境
处理流程
1.挂载系统/root文件到tmp1,编辑grub启动,重新生成启动文件

dracut# mkdir tmp1
dracut# mount /dev/centos/root tmp1
dracut# vi tmp1/etc/defaut/grub
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"
修改为
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rhgb quiet"

查看实际挂载分区情况:

dracut# cat tmp1/etc/fstab
#
# /etc/fstab
# Created by anaconda on Thu Jan  2 21:15:59 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=22747de8-b577-4bbb-9b5e-40c1b8c3c504 /boot                   xfs     defaults        0 0
#/dev/mapper/centos-swap swap                    swap    defaults        0 0

看到如上swap是被注释掉的状态,系统不能启动正式swap分区无法加载引起,
查看uuid对应的盘符

dracut# blkid
/dev/vda1: UUID="22747de8-b577-4bbb-9b5e-40c1b8c3c504" TYPE="xfs"
/dev/vda2: UUID="T7xTcp-ywWd-ciYc-k9mU-Fd3f-TCfe-wgKQgd" TYPE="LVM2_member"

如上看到是/dev/vda1
挂载分区:

dracut# mkdir tmp2
dracut# mount /dev/vda1 tmp2

编辑grub.cfg文件,把和swap相关的都改成root

dracut# vi /tmp2/grub2/grub.cfg

linux16 /vmlinuz-3.10.0-1062.el7.x86_64 root=/dev/mapper/centos-root ro crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=en_US.UTF-8
linux16 /vmlinuz-0-rescue-6f9bcc60986041238dcda79bfef462d5 root=/dev/mapper/centos-root ro crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet
上面的centos/swap 改成 centos/root
linux16 /vmlinuz-3.10.0-1062.el7.x86_64 root=/dev/mapper/centos-root ro crashkernel=auto rd.lvm.lv=centos/root rhgb quiet LANG=en_US.UTF-8
linux16 /vmlinuz-0-rescue-6f9bcc60986041238dcda79bfef462d5 root=/dev/mapper/centos-root ro crashkernel=auto rd.lvm.lv=centos/root rhgb quiet

然后重启就可以正常引导系统了
除了在dracut下编辑进入外,也可以在刚开始进入grub菜单时,编辑修改centos/swap为centos/root
或是通过修复盘引导进入系统后 编辑/grub.cfg文件

最后修改日期: 2022年5月15日

作者

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。