可执行cat /proc/filesystems查看内核编译时支持的全部文件系统,其中不带nodev的为可用于磁盘分区的真实文件系统;再用lsmod | grep -e '^(ext|ntfs|xfs|btrfs|f2fs|vfat)'检查已加载模块,并通过find /lib/modules/$(uname -r) -name "*.ko*" | grep -i "ntfs\|btrfs\|f2fs"确认模块是否存在。

银河麒麟系统需要确认当前内核支持哪些文件系统,以便挂载U盘、NAS存储或调试新设备驱动,不能只依赖已挂载的文件系统列表。
查看内核编译时支持的文件系统
执行命令:cat /proc/filesystems
该命令输出的是内核在编译阶段静态启用或作为模块可加载的所有文件系统类型,包括 ext4、xfs、vfat、ntfs、btrfs 等。每行开头带 nodev 的表示无设备节点的伪文件系统(如 proc、sysfs),可忽略;不带 nodev 的才是可用于磁盘分区的真实文件系统。
注意:若某文件系统未出现在此列表中,说明内核根本不认识它,后续即使安装用户态工具(如 ntfs-3g)也无法通过 mount -t 直接调用内核驱动挂载。
检查已加载的文件系统模块
运行:lsmod | grep -E '^(ext|ntfs|xfs|btrfs|f2fs|vfat)'
这一步筛选出当前已载入内存的文件系统内核模块。比如看到 ext4 模块被列出,说明该驱动已激活,能立即挂载 ext4 分区;若只看到 vfat 但没看到 ntfs,而你又需要读取 NTFS 移动硬盘,则需先 modprobe ntfs 或确认是否安装了 kernel-modules-extra 包。
【关键前提】 此方法仅反映当前运行状态,重启后未设置自动加载的模块会消失——要永久生效,得把模块名写入 /etc/modules 或创建 /etc/modules-load.d/xxx.conf。
验证特定文件系统是否可挂载
方法一:尝试用 mount 命令触发模块自动加载
执行:sudo mount -t xfs /dev/zero /mnt 2>/dev/null || echo "xfs not available"
该操作不会真正挂载,因 /dev/zero 不是合法 xfs 设备,但会强制内核尝试加载 xfs 模块。若终端无报错且返回非零退出码,通常意味着模块加载失败或未编译进内核。
方法二:直接查询模块是否存在但未加载
输入:find /lib/modules/$(uname -r) -name "*.ko*" | grep -i "ntfs\|btrfs\|f2fs"
这条命令扫描当前内核版本对应的所有模块文件。如果找到 btrfs.ko.xz 却没出现在 lsmod 结果里,说明模块存在但尚未加载,可手动执行 sudo modprobe btrfs 启用。











