1、报错照片
报错照片如图1.1所示
2、快速通道
经过排查,发现既不是fstab写错(UUID正确且对应),也不是跟分区文件系统损坏造成的(使用fsck -f /dev/跟分区 检查修复没有检查出问题),确定我遇到的问题是initramfs.img损坏造成的(偶然发现grub高级选项里面的fallback initram)。所以解决方法:进入LiveCD挂载要修复的系统以及boot分区,然后将initramfs.img给删掉,重新用pacman安装linux包(参考archlinux安装过程)。
3、问题分析
一般出现开机挂载分区出错,有可能有这几种原因以及解决方法:
- 要挂载的分区文件系统有问题,
fsck -f /dev/相应分区
检查并修复即可 - fstab有错,有可能是UUID不存在或者有变更,
lsblk -o +UUID
查看一下UUID并修正fstab即可,或者genfstab重新生成一下fstab(参考ArchLinux安装过程) - initramfs初始化文件系统有问题,有可能是initramfs.img损坏(在linux包里面,删掉重新安装linux包即可)或者grub传给initramfs的root不正确(在grub按e编辑可以查看到grub的启动参数,其中linux语句有一个参数指定了root分区)
4、总结
随手记一次同学遇到的问题。
挂载分区的地方除了fstab还有grub启动参数给initramfs指定的root分区。
5、疑问
grub加什么启动参数的时候可以不进入系统,停留在initrd预启动系统里面,在那里似乎可以进行一些调试,之前有个大佬操作过,但是我没记住