现象描述
执行命令或系统启动的过程中,出现 VFS: Unable to mount root fs on unknown-block 或者 error:file '/boot/initramfs-`uname -r`.img' not found 等报错信息。
可能原因
1. 系统启动失败,输出 VFS: Unable to mount root fs on unknown-block 可能是 initramfs 或 initrd 有问题,需要重新生成 initramfs 或 initrd。如下图所示:
2. 系统启动失败,输出 error:file '/boot/initramfs-`uname -r`.img' not found 可能是 /boot 目录下缺少 initramfs/initrd 文件。如下图所示:
上面两种情况,都会导致系统无法正常启动。您可以参见 故障处理,检查并重新生成 initramfs/initrd。 故障处理
2. 执行其中的 mount 及 chroot 等命令。
mkdir -p /mnt/vm1
mount /dev/vda1 /mnt/vm1
mount -o bind /dev /mnt/vm1/dev
mount -o bind /dev/pts /mnt/vm1/dev/pts
mount -o bind /proc /mnt/vm1/proc
mount -o bind /run /mnt/vm1/run
mount -o bind /sys /mnt/vm1/sys
chroot /mnt/vm1 /bin/bash
3. 执行以下命令,重新生成 initramfs/initrd。
如果您遇到域名解析失败的问题,可以在 /etc/hosts 中配置 169.254.0.3 mirrors.tencentyun.com 用于解析软件源,添加后的内容如下图所示。
输出如下,表示 initramfs 或 initrd 新建成功。