我如何知道我的内核是否支持 ExFAT?

我如何知道我的内核是否支持 ExFAT?

我想知道我安装的 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的支持与内核的联系并不紧密,而且这种支持出现得比较早。它与模块不同。

相关内容