Linux启动失败进入dracut 紧急模式处理思路

博客描述了一次云主机启动时遇到的dracut紧急模式问题,由于找不到磁盘分区和grub2引导文件,导致无法加载kernel。解决方案包括检查/dev目录下的引导设备,挂载OS镜像修复引导文件,重新生成grub.cfg,以及考虑虚拟机迁移可能涉及的磁盘类型问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、问题描述

续接上一篇ping故障文档,后来没有找到问题原因,时间不的情况下,重新用虚拟主机的镜像重新部署了云主机实例,但启动后报如下错误,进入dracut 紧急模式,如下所示:
在这里插入图片描述

二、分析处理

1、如图中报错,系统启动因找到/dec/sdf1磁盘分区,找不到grub2目录 /boot/grub2, 也就无法加载kernel,提取initramfs镜像中的FS和硬件驱动。损坏了,就无法引导系统导致触发出现dracut-initqueue引导丢失进入dracut界面。dracut是一个事件驱动initramfs架构。dracut(工具)通过从一个已经安装的系统复制工具和文件来创建一个initramfs镜像并且将它和dracut框架结合,通常可以在/usr/lib/dracut/modules.d找到。initramfs的基本目标是使得rootfs可以挂载以便我们能够转换到真实的rootfs。这个initramfs包含了所有的驱动,而且替代脚本硬编码完成不同的工作,dracut的initramfs基于udev来创建动态链接到设备节点,并且只在rootfs设备节点出现时创建,挂载并切换根目录。initramfs已尽可能小,以可5s左右即可快速启动。更多单击参看。dracut 用于制作initrd启动镜像文件, dracut-network会为镜像内添加nfs等网络支持。
在这里插入图片描述

如上图所示,我们切到/dev目录,查看引导的设备

2)挂载OS 镜像,修复引导文件,即重新生成引导文件

rm -rf /boot/grub2/grub.cfg //重启系统,会进入grub命令行
chroot /mnt/sysimage
grub2-mkconfig -o /boot/grub2/grub.cfg
reboot
尝试单用户失败,挂pe查看boot下grub2引导文件配置异常,修改启动grub文件的引导设备/磁盘为/dev/vda1,注销ubuntu启动项。
在这里插入图片描述

3)reboot,重新生成初始化镜像
在这里插入图片描述

注:如果是虚拟机,迁移过来注意磁盘类型,可在类似vmware workstation中修改驱动器类型尝试。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

羌俊恩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值