Linux (ARM64 / Jetson) 挂载 exFAT 移动硬盘排障与离线安装指南

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 架构,不能跨版本混用:

  1. CPU 架构限制: 米文 / Jetson 等边缘工控机属于 ARM64 (aarch64) 架构,离线安装包文件名结尾必须带有 _arm64.deb(若为 x86 台式机/服务器则需 _amd64.deb)。
  2. Ubuntu 系统版本限制: .deb 动态库依赖于特定版本的 C 运行库(GLIBC)。如将 Ubuntu 22.04 (jammy) 的安装包强行安装在 Ubuntu 20.04 (focal) 上,会导致 GLIBC 版本不匹配报错。
  3. 不同版本的软件包命名差异:
    • Ubuntu 22.04 (Jammy): 挂载驱动为 exfat-fuse,底层依赖为 libfuse2,管理工具为 exfatprogs
    • Ubuntu 20.04 / 18.04: 挂载驱动为 exfat-fuse,管理工具通常为 exfat-utils

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.debexfat-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. 踩坑总结与经验备忘

  1. exfatprogsexfat-fuse 的分工:
    • exfatprogs 仅提供磁盘校验(fsck.exfat)与格式化(mkfs.exfat)工具,不包含挂载驱动。
    • 如果 Linux 内核缺少 exFAT 模块,必须依赖 exfat-fuse 才能进行挂载
  2. dpkg 不会自动下载依赖: dpkg -i 会严格按照依赖关系提示缺失。如果直接安装 exfat-fuse 报错缺少 libfuse2,必须先手动安装 libfuse2
相关推荐
漫谈数据智理1 小时前
主动元数据为何是数据编织的核心——从“连接数据”走向“感知、理解与行动”的 Data Fabric
运维·fabric
数据库小学妹1 小时前
MySQL长事务复盘:Sleep连接、MDL排队与undo滞留
运维·数据库·mysql
云泽8081 小时前
Linux 系统编程实战:从零手写一个高性能终端进度条
linux·运维·服务器
Mapleay2 小时前
设备树/ACPI 与 fwnode 内核基础设施
linux
知产xiao_xin2 小时前
《伯尔尼公约》适用的特殊情形
经验分享·笔记·知识产权
半摆烂日常2 小时前
自建WMS和买成品:三年成本对比
大数据·服务器·数据库·python·深度学习·低代码·numpy
luj_17682 小时前
虚实交融中的真实人物塑造
c语言·开发语言·网络·经验分享·算法
宋军涛2 小时前
Windows 操作系统【任务计划程序】简单使用
服务器·windows
蒸蒸yyyyzwd3 小时前
cpp 选手秋招学习笔记 day27
服务器·c++·面试·八股