我想知道我安装的 Linux 发行版的内核是否会读取某些 ExFAT 格式的 SD 卡(或随身碟、USB 硬盘...等)。
我知道,自 2013 年左右以来,大多数内核都包含此功能,但我认为会有一些标志会报告它,并且只要我使用不同的发行版,在我看来更容易检查是否有标记比下载并安装完整的 Linux 发行版并插入 SD 卡。
此外,有时 ExFAT SD 卡无法正确读取,了解问题是否来自内核会很有用。
有没有旗帜或简单/快速的命令行方法来了解我的内核是否支持ExFAT 文件系统?
答案1
检查是否存在fuse-exfat RPM。
rpm -q fuse-exfat
fuse-exfat-1.1.0-1.fc22.x86_64
但它不会出现在/proc/filesystems
下面的示例中。微软持有的各种专利提出了将其集成到内核中的问题。
grep -i exfat /proc/filesystems
(no output)
这是手册页的顶部,以防有用。
man mount.exfat
EXFAT-FUSE(8) System Manager's Manual EXFAT-FUSE(8)
NAME
mount.exfat-fuse - mount an exFAT file system
SYNOPSIS
mount.exfat-fuse [ -d ] [ -n ] [ -o options ] [ -V ] [ -v ] device dir
DESCRIPTION
mount.exfat-fuse is a free exFAT file system implementation with write
support.
答案2
使用以下命令检查支持的文件系统:
cat /proc/filesystems
如果你在那里找到 exFAT 它支持它。
exFAT 模块也适用于 3.8.11 和 3.9 内核。
答案3
如在我可以列出正在运行的内核可以支持的文件系统吗?,其支持已经加载到运行(或编译)的文件系统可以在 中看到/proc/filesystems
。可加载的模块可在 下找到/lib/modules/
。查看任一位置是否存在 exfat:
fgrep -i exfat /proc/filesystems
find /lib/modules/ -iname '*exfat*'
exfat 模块是一种“本机”支持。它出现在 Linux 版本的历史中较晚。
通过FUSE的支持与内核的联系并不紧密,而且这种支持出现得比较早。它与模块不同。