APFS-FUSE 使用教程
apfs-fuseFUSE driver for APFS (Apple File System)项目地址:https://gitcode.com/gh_mirrors/ap/apfs-fuse
项目介绍
APFS-FUSE 是一个用于 APFS(Apple File System)的 FUSE 驱动程序,允许在 Linux 系统上挂载和访问 APFS 格式的设备。该项目支持读取 macOS 10.13 及以上版本的 APFS 卷,包括区分大小写和不区分大小写的卷,以及 iOS 11 和 macOS 10.12 的卷。
项目快速启动
以下是在 Ubuntu 20.04 LTS 上安装和使用 APFS-FUSE 的步骤:
安装依赖
sudo apt update
sudo apt install fuse libfuse-dev libicu-dev bzip2 libbz2-dev cmake git libattr1-dev zlib1g-dev g++
sudo snap install cmake --classic
克隆项目并编译
git clone https://github.com/sgan81/apfs-fuse.git
cd apfs-fuse
git submodule init
git submodule update
mkdir build
cd build
cmake ..
make
挂载 APFS 设备
sudo ./apfs-fuse /path/to/device /path/to/mountpoint
应用案例和最佳实践
案例一:恢复损坏的 APFS SSD
对于损坏的 APFS SSD,可以使用以下命令进行挂载:
sudo ./apfs-fuse -d 124 -l /path/to/device /path/to/mountpoint
在某些情况下,可能需要修改源码中的特定行以解决特定问题,例如在 ApfsLib/ApfsContainer.cpp
文件中修改如下:
if (sb->nx_o_xid == 0x1a06f8)
案例二:用户权限设置
如果需要以非 root 用户身份挂载设备,可以添加用户到 disk
组,并使用以下命令:
sudo ./apfs-fuse -o uid=<uid> gid=<gid> allow_other /dev/<device> <mount-path>
典型生态项目
APFSUTIL
APFSUTIL 是一个新工具,用于显示 APFS 容器的一些信息,例如卷和快照。未来可能会扩展更多功能。
FUSE 生态
FUSE(Filesystem in Userspace)是一个允许用户空间程序实现文件系统的框架。APFS-FUSE 是 FUSE 生态中的一个项目,利用 FUSE 框架在 Linux 上实现对 APFS 文件系统的支持。
通过以上步骤和案例,您可以在 Linux 系统上成功安装和使用 APFS-FUSE,实现对 APFS 格式设备的挂载和访问。
apfs-fuseFUSE driver for APFS (Apple File System)项目地址:https://gitcode.com/gh_mirrors/ap/apfs-fuse