Centos 启动时无法挂载 /sysroot

Centos 启动时无法挂载 /sysroot

每当我尝试启动我的 CentOS 服务器时,它都会以紧急模式启动,并在使用命令挂载分区后:

$ mount -t ext4 --source /dev/sda4 --target /sysroot

服务器启动正常。

我如何永久安装/dev/sda4/sysroot以便不需要一次又一次地安装它?

答案1

Sysroot 在启动过程的早期就被挂载了,所以这个消息往往表明你的 initrd 出现了问题。

这里概述了一个可能的解决方案,它可能对您有用,也可能没用:https://access.redhat.com/solutions/4008331(需要登录)。基本上,它涉及从 initrd 中删除 /usr/sbin 中的挂载程序,然后在紧急模式下重建 initrd,同时将挂载放入 /usr/bin。

rm -f /usr/sbin/mount
dracut -v --install /usr/bin/mount -f /boot/initramfs-<release_version_of_kernel>.el7.x86_64.img <release_version_of_kernel>

然而,也可能存在导致类似症状的其他问题。

我遇到了同样的症状,但始终无法进入紧急模式 shell。在 systemd 调试模式下运行时,我看到一系列错误消息“kmem_realloc 中可能存在内存分配死锁大小 XXXX(模式:06002c0)”。虽然我还没有完全解决这个问题,但乍一看这看起来像是 XFS 文件系统损坏。

在这种特殊情况下,系统没有任何有价值的数据,并且重建是完全自动化的,所以我可能只是重新格式化并重新开始。

答案2

添加要在启动时挂载的文件系统的最佳方法是 /etc/fstab。
有关更多信息,请参阅此链接:fstab(5)

/dev/sda4 /sysroot ext4 默认值 0 2

相关内容