apfs-fuse 安装指北

5 阅读2分钟

FUSE driver for APFS (Apple File System)

项目地址: github.com/sgan81/apfs…

本文以作者在 Ubuntu24 上的操作流程为依据,尽量简化安全的操作流程,保留了原 README 的部分提示原文,更多信息见原项目 README

请在确保一定的 Linux 知识基础、掌握相关权限、网络科学通畅的情况下操作

编译原项目

以 Ubuntu24 为例

准备环境:
sudo apt update
sudo apt install libfuse3-dev bzip2 libbz2-dev cmake gcc git libattr1-dev zlib1g-dev

# Ubuntu 22.04+ 使用 fuse3, 否则为 fuse
sudo apt fuse3

具体以你使用的 Linux 发行版为准(部分极简Linux发行版(如Alpine)的基础gcc包可能未附带g++,需单独安装 g++ 或 gcc-c++ 包补全)

你或许需要一个专门的目录来做这些,而不是让你的 ~ 目录越来越乱

mkdir dev
cd dev

如果目录名与此不同记得根据实际情况替换掉下文的 /dev

克隆原仓库:
git clone https://github.com/sgan81/apfs-fuse.git
cd apfs-fuse
git submodule init
git submodule update

The driver uses Apple's lzfse library and includes it as a submodule.

编译驱动器:
mkdir build
cd build
cmake ..
# ccmake . # Only if you want to change build options 则取消注释
make

Note that the driver uses FUSE 3.0 by default (required on 32-bit systems). If you want do compile using FUSE 2.6, use ccmake . to change the option USE_FUSE3 to OFF.

看到输出 Built target apfsutill 后执行安装

sudo make install
验证是否成功安装
# 查看帮助
apfsutil --help 2>&1 | head -5
apfs-fuse --help 2>&1 | head -5

# 看安装位置
which apfsutil
which apfs-fuse

挂载 APFS 分区

# 1. 找到 APFS 分区
lsblk -f | grep -i apfs
# 或
sudo fdisk -l | grep -i "Apple APFS"

# 2. 创建挂载点 如命名为 mac-drive
mkdir -p ~/mac-drive

# 3. 只读挂载(推荐)"/dev/sdbX"根据实际情况来
sudo apfs-fuse -o allow_other,ro /dev/sdbX ~/mac-drive

# 把 sdbX 换成实际分区,如 sdb2 或 nvme0n1p2

# 4. 访问
ls ~/mac-drive
nautilus ~/mac-drive  # 用文件管理器打开

挂载详细操作参考项目文档,谨慎尝试

命令行卸载

# 标准卸载
sudo umount ~/mac-drive

# 如果 busy(文件管理器没关)
sudo umount -l ~/mac-drive   # 延迟卸载
# 或
sudo fusermount -u ~/mac-drive   # fuse 专用
Unmount a drive 原文

As root:

umount <mount-directory>

As user:

fusermount -u <mount-directory>