centos7开机进入dracut具体的解决方案步骤
-
首先可以尝试使用rescue模式进入系统,以便进行进一步操作。进入rescue模式的方法可以参考CentOS官方文档或者相关教程。
-
在rescue模式下,可以使用以下命令查看当前系统的分区情况:
fdisk -l找到需要修复的分区,比如/dev/sda1。
-
使用以下命令挂载需要修复的分区:
mount /dev/sda1 /mnt如果分区是加密的,还需要使用以下命令先解密:
cryptsetup luksOpen /dev/sda1 encrypted mount /dev/mapper/encrypted /mnt -
进入/mnt目录,使用以下命令查看当前的initramfs镜像:
ls initramfs*如果有多个initramfs镜像,可以选择最新的一个。
-
解压当前的initramfs镜像:
mkdir initramfs cd initramfs gzip -dc ../initramfs-xxx.img | cpio -idmv -
进入initramfs目录,使用以下命令查看当前的驱动模块:
ls -lR lib/modules找到缺失的驱动模块,比如nvme模块。
-
将缺失的驱动模块复制到initramfs目录中:
cp -a /lib/modules/xxx/modules.xxx /mnt/initramfs/lib/modules/xxx/其中,xxx为缺失的驱动模块版本号。
-
重新打包initramfs镜像:
find . | cpio -o -H newc | gzip -9 > ../new-initramfs-xxx.img -
将新的initramfs镜像复制到/boot目录下并修改grub.cfg文件:
cp ../new-initramfs-xxx.img /boot/ vi /boot/grub2/grub.cfg在文件中找到类似如下的行:
linux16 /vmlinuz-xxx root=/dev/sda1 ro ... initrd16 /initramfs-xxx.img将initramfs-xxx.img改为new-initramfs-xxx.img。
-
重新启动系统,应该可以正常进入了
原文地址: https://www.cveoy.top/t/topic/eCo0 著作权归作者所有。请勿转载和采集!