今天,我在 Raspberry PI 上安装了 Ubuntu 20.04(GNU/Linux 5.4.0-1008-raspi aarch64)的全新副本,我知道 5.4 内核应该支持 exFAT,但每当我尝试安装外部驱动器时,都会收到错误
$ sudo mount -t exfat /etc/sda1 /media/wd
mount: /media/wd: unknown filesystem type 'exfat'.
下面是输出cat /proc/filesystems
nodev sysfs
nodev tmpfs
nodev bdev
nodev proc
nodev cgroup
nodev cgroup2
nodev cpuset
nodev devtmpfs
nodev configfs
nodev debugfs
nodev tracefs
nodev securityfs
nodev sockfs
nodev bpf
nodev pipefs
nodev ramfs
nodev devpts
ext3
ext2
ext4
squashfs
vfat
nodev ecryptfs
fuseblk
nodev fuse
nodev fusectl
nodev mqueue
nodev pstore
btrfs
nodev autofs
您是否需要额外执行什么操作来启用对 exFAT 的支持?
谢谢
答案1
在早期版本中安装了保险丝驱动程序,然后升级到 20.04 并删除保险丝驱动程序后,我遇到了同样的问题cat /proc/filesystems | grep fat
。不显示 exfat。
我使用以下命令重新安装了 20.04 附带的内核模块:
sudo modprobe -v exfat
cat /proc/filesystems | grep fat
现在显示 exfat。然后为了让它在重启后继续存在,我添加了 exfat 到/etc/modules-load.d/modules.conf
答案2
您可以尝试以下方法。由于GNU/Linux 5.4.0-1008-raspi aarch64
内核似乎没有内置对 exFAT 的支持,因此您可以添加它。从https://www.techrepublic.com/article/try-out-this-new-linux-exfat-kernel-module-for-improved-performance/您可以按照步骤下载并安装内核的exFAT支持。
git
如果未安装则安装:
sudo apt install git
您可能还需要 build-essential 包:
sudo apt install build-essential
接下来,下载 exfat-linux:
git clone https://github.com/arter97/exfat-linux
进入新创建的文件夹,应该是cd exfat-linux
然后运行以下命令来安装内核模块并使其处于活动状态:
make
sudo make install
sudo modprobe exfat
现在,当您运行时,cat /proc/filesystems
您应该看到exfat
列表底部。
答案3
这是我在 amd64 Ubuntu 20.04 上找到的修复方法。
如果您安装了 exfat-fuse,则会首先调用 fuse 支持。
- 我将 /sbin/mount.exfat.fuse 重命名为 /sbin/mount.exfat.fuse-save
- 我将 /sbin/mount.exfat-save 重命名为 /sbin/mount.exfat-save (这样如果我搞砸了,我可以恢复它们)
- 我检查了 exfat.ko 是否存在于 /lib/modules/5.4.0-29-generic/kernel/drivers/staging/
- 我修改了 exfat.ko(我发现在重命名上述挂载命令后没有必要这样做)。
- 我调用 /bin/mount 来添加外部驱动器并且它已安装。
- 我调用了 umount 来删除已挂载的文件系统。
- 我 rmmod 了 exfat.ko 并检查它无需强制 insmod 就能正常工作。
- 我删除了 exfat-fuse 并删除了上面两个已保存的重命名挂载文件,因为它们在系统挂载命令之前被调用。
希望这对一些人有所帮助。我认为这些就是所有故障排除步骤。
Ubuntu 应该将其放入发行说明中,以便其他人不会首先加载旧的 fuse-mount 版本。
答案4
对于我来说,我必须跑步sudo apt install exfat-utils
才能让它不再变灰。