Linux (ARM64 / Jetson) 挂载 exFAT 移动硬盘排障与离线安装指南
1. 故障现象与原因分析
- 故障现象: 图形界面挂载外接移动硬盘时弹出报错
Error mounting /dev/sda1: unknown filesystem type 'exfat';终端执行mount提示mount: unknown filesystem type 'exfat'。 - 根源分析: 当前 Linux 内核(如 Tegra/Jetson 平台定制内核)未编译或未加载
exfat驱动模块,且系统内缺少 FUSE 用户态挂载工具(exfat-fuse)及底层依赖库(libfuse2)。
2. 关键兼容性说明(版本与架构约束)
离线安装 .deb 包时,必须严格匹配系统版本与 CPU 架构,不能跨版本混用:
- CPU 架构限制: 米文 / Jetson 等边缘工控机属于 ARM64 (
aarch64) 架构,离线安装包文件名结尾必须带有_arm64.deb(若为 x86 台式机/服务器则需_amd64.deb)。 - Ubuntu 系统版本限制:
.deb动态库依赖于特定版本的 C 运行库(GLIBC)。如将 Ubuntu 22.04 (jammy) 的安装包强行安装在 Ubuntu 20.04 (focal) 上,会导致GLIBC版本不匹配报错。 - 不同版本的软件包命名差异:
- Ubuntu 22.04 (Jammy): 挂载驱动为
exfat-fuse,底层依赖为libfuse2,管理工具为exfatprogs。 - Ubuntu 20.04 / 18.04: 挂载驱动为
exfat-fuse,管理工具通常为exfat-utils。
- Ubuntu 22.04 (Jammy): 挂载驱动为
3. 完整离线下载链接列表 (以 Ubuntu 22.04 ARM64 为例)
当设备因内网防火墙拦截 HTTP 80 端口导致 apt update 失败时,需使用能上网的电脑/手机直接点击或复制以下完整直链下载:
包 1:底层依赖 libfuse2
- 中科大源 (USTC):
[https://mirrors.ustc.edu.cn/ubuntu-ports/pool/main/f/fuse/libfuse2_2.9.9-5ubuntu3_arm64.deb](https://mirrors.ustc.edu.cn/ubuntu-ports/pool/main/f/fuse/libfuse2_2.9.9-5ubuntu3_arm64.deb) - 清华源 (Tsinghua):
[https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/pool/main/f/fuse/libfuse2_2.9.9-5ubuntu3_arm64.deb](https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/pool/main/f/fuse/libfuse2_2.9.9-5ubuntu3_arm64.deb) - Ubuntu 官方源:
[http://ports.ubuntu.com/ubuntu-ports/pool/main/f/fuse/libfuse2_2.9.9-5ubuntu3_arm64.deb](http://ports.ubuntu.com/ubuntu-ports/pool/main/f/fuse/libfuse2_2.9.9-5ubuntu3_arm64.deb)
包 2:挂载驱动 exfat-fuse
- 中科大源 (USTC):
[https://mirrors.ustc.edu.cn/ubuntu-ports/pool/universe/f/fuse-exfat/exfat-fuse_1.3.0+git20220115-2_arm64.deb](https://mirrors.ustc.edu.cn/ubuntu-ports/pool/universe/f/fuse-exfat/exfat-fuse_1.3.0+git20220115-2_arm64.deb) - 清华源 (Tsinghua):
[https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/pool/universe/f/fuse-exfat/exfat-fuse_1.3.0+git20220115-2_arm64.deb](https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/pool/universe/f/fuse-exfat/exfat-fuse_1.3.0+git20220115-2_arm64.deb) - Ubuntu 官方源:
[http://ports.ubuntu.com/ubuntu-ports/pool/universe/f/fuse-exfat/exfat-fuse_1.3.0+git20220115-2_arm64.deb](http://ports.ubuntu.com/ubuntu-ports/pool/universe/f/fuse-exfat/exfat-fuse_1.3.0+git20220115-2_arm64.deb)
其他系统版本的包查找地址: 访问 Ubuntu Packages 官方检索页,选择对应的 Ubuntu 版本代号(如
focal/jammy/noble),搜索exfat-fuse并选择arm64架构即可获取当期有效直链。
4. 离线安装与挂载 SOP 步骤
第一步:准备安装包
将下载好的 libfuse2_xxx_arm64.deb 与 exfat-fuse_xxx_arm64.deb 文件拷贝至 U 盘,并传入工控机本地目录。
第二步:按顺序安装(解决依赖问题)
在 .deb 所在目录下打开终端,依次运行:
Bash
# 1. 优先安装底层依赖库 libfuse2
sudo dpkg -i libfuse2_*.deb
# 2. 安装 exfat-fuse 挂载驱动包
sudo dpkg -i exfat-fuse_*.deb
# 3. 修复并完成软件包配置
sudo dpkg --configure -a
第三步:挂载硬盘
离线包安装完成后,可重新插拔移动硬盘(图形界面会自动挂载),或执行手动挂载:
bash
# 创建挂载点
sudo mkdir -p /media/autocity/T9
# 使用 exfat-fuse 驱动手动挂载
sudo mount -t exfat-fuse /dev/sda1 /media/autocity/T9
5. 踩坑总结与经验备忘
exfatprogs与exfat-fuse的分工:exfatprogs仅提供磁盘校验(fsck.exfat)与格式化(mkfs.exfat)工具,不包含挂载驱动。- 如果 Linux 内核缺少 exFAT 模块,必须依赖
exfat-fuse才能进行挂载。
dpkg不会自动下载依赖:dpkg -i会严格按照依赖关系提示缺失。如果直接安装exfat-fuse报错缺少libfuse2,必须先手动安装libfuse2。