系统在启动过程中报错,并显示以下消息:
Oct 28 16:00:47 yunweixia.com systemd[1]: Mounting /sysroot... Oct 28 16:00:47 yunweixia.com mount[482]: mount: unknown filesystem type 'xfs' Oct 28 16:00:47 yunweixia.com systemd[1]: sysroot.mount mount process exited, code=exited status=32 Oct 28 16:00:47 yunweixia.com systemd[1]: Failed to mount /sysroot
这是xfs文件系统挂载失败后的状况,先检查xfs所需的内核文件。
[root@yunweixia.com ~]# grep xfs /lib/modules/$(uname -r)/modules.dep kernel/fs/xfs/xfs.ko.xz: kernel/lib/libcrc32c.ko.xz
检查xfs模块是否已加载到当前initramfs中。正常情况仅当“/或/usr”文件系统是xfs类型时才会加载。否则xfs模块不应位于initramfs中。
[root@yunweixia.com ~]# lsinitrd | grep xfs drwxr-xr-x 2 root root 0 Apr 15 10:45 usr/lib/modules/3.10.0-1160.el7.x86_64/kernel/fs/xfs -rw-r--r-- 1 root root 335852 Aug 18 2020 usr/lib/modules/3.10.0-1160.el7.x86_64/kernel/fs/xfs/xfs.ko.xz -rwxr-xr-x 1 root root 433 May 26 2020 usr/sbin/fsck.xfs -rwxr-xr-x 1 root root 590160 May 26 2020 usr/sbin/xfs_db -rwxr-xr-x 1 root root 747 May 26 2020 usr/sbin/xfs_metadump -rwxr-xr-x 1 root root 576720 May 26 2020 usr/sbin/xfs_repair
检查filesystems模块的配置,如果存在下面的选项会导致模块不会被加载:
# cat /etc/modprobe.d/filesystems.conf | grep xfs install xfs /bin/true
扩展阅读
`/etc/modprobe.d/filesystems.conf`文件中的`install xfs /bin/true`参数是一个内核模块配置,该行的作用是告诉内核不要自动加载XFS模块,而是使用`/bin/true`命令来代替,使模块无法正常运行。
当然,如果您希望彻底禁用XFS模块,可以将其添加到黑名单中。您可以使用以下命令将 `install xfs /bin/true` 添加到黑名单:
``` echo "blacklist xfs" | sudo tee -a /etc/modprobe.d/blacklist.conf ```
解决方案
本次故障的解决方案是注释 modprobe 配置文件中的以下条目。
$ cat /etc/modprobe.d/filesystems.conf | grep xfs #install xfs /bin/true
原创文章,作者:运维侠,如若转载,请注明出处:https://www.yunweixia.com/solutions/unknown-filesystem-type-xfs-solution-guide.html