在某些情况下,Linux系统可能因为以下原因导致无法正常。
- initramfs损坏或配置错误
- 内核升级后未正确生成 initramfs
- 系统无法进入正常的启动流程(如卡在dracut命令行、或提示Cannot find root device、或卡在Loding initial ramdisk ...)
我这里以RHEL系列发行版为例,通过光盘方式修复,理论适用于所有RHEL发行版.
1、挂载光盘
挂载光盘,将其设置为第一启动项,加电开机
2、进入救援模式
选择光盘中Troubleshooting→Rescue a XXX system,注意这里的XXX随着发行版不同,名称也不相同。
3、Continue
输入1继续,回车进入shell

4、挂载根分区
如果不知道根分区Device的话,可通过fdisk命令查看,我这里根分区是/dev/vda2
| 1 2 | mkdir /mnt/sysroot mount /dev/vda2 /mnt/sysroot | 
5、进入chroot环境
将宿主系统(Live CD/USB)的虚拟文件系统挂载到目标系统(被修复的系统)的对应目录。
| 1 2 3 4 | mount --bind /dev /mnt/sysroot/dev mount --bind /proc /mnt/sysroot/proc mount --bind /sys /mnt/sysroot/sys chroot /mnt/sysroot /bin/bash | 
6、检查内核版本
确保当前的内核版本与重建的initramfs匹配
| 1 2 | uname -r ls /boot | 
7、重建initramfs
| 1 | dracut --force | 
8、更新GRUB(可选)
如果initramfs重建后仍然无法启动,可能需要更新GRUB。
| 1 | grub2-mkconfig -o /boot/grub2/grub.cfg | 
9、同步退出重启
| 1 2 3 | sync exit reboot | 
原文链接:dracut重建initramfs修复Linux系统,转载请注明来源!
 





