Linux读写苹果APFS系统文件

背景

我是一个黑苹果折腾人员,目前使用的黑苹果机器配置如下图所示的这样,因为经常开会或者外出,而WiFi又是镁光的无线网卡走到那里都不方便连接网络。所以在这个电脑上安装了深度系统。

现在需要在深度系统上读写我的Mac文件,我使用 apt list | grep apfs找了一下没有发现相关的软件可以支持,就在github上找到了这个APFS-RW项目

当我在安装的时候发现,深度系统强制开启了内核模块签名功能,现在附上这个安装方法,希望官方能够添加到这个系统里面。

  • 先安装git用来克隆源码

    sudo apt install -y git

  • 确定好源码最新版本,比如现在的是0.3.17,然后克隆它

bash 复制代码
git clone https://github.com/linux-apfs/linux-apfs-rw.git /usr/src/apfs-0.3.17
  • 开始编译安装
bash 复制代码
root@xxxx-PC:/usr/src# dkms build -m apfs -v 0.3.17

Sign command: /lib/modules/6.12.43-amd64-desktop-rolling/build/scripts/sign-file
Signing key: /var/lib/dkms/mok.key
Public certificate (MOK): /var/lib/dkms/mok.pub
Creating symlink /var/lib/dkms/apfs/0.3.17/source -> /usr/src/apfs-0.3.17

Running the pre_build script:

Cleaning build area... done.
Building module(s)........ done.
Signing module /var/lib/dkms/apfs/0.3.17/build/apfs.ko
Cleaning build area... done.
  • 执行安装
ruby 复制代码
root@xxxx-PC:/usr/src/apfs-0.3.17# dkms install -m apfs -v 0.3.17

An original module was already stored during a previous install
Installing /lib/modules/6.12.43-amd64-desktop-rolling/extra/apfs.ko
Running depmod.... done.
  • 添加开机加载模块
ruby 复制代码
root@xxxx-PC:/usr/src/apfs-0.3.17# cat /etc/modules-load.d/apfs.conf 
apfs
  • 设置文件系统开机挂载
bash 复制代码
sudo apfs-label  /dev/nvme0n1p2 #找到APFS磁盘分区设备,找到Data的分区号
0       MacOS
1       Preboot
2       Recovery
3       VM
4       MacOS - Data
5       Update

#创建挂载目录
mkdir /media/apfs

#这里的uid、git是你的用户标识,如果不添加默认是0,0。普通用户不能读写
cat <<"EOF" >> /etc/fstab 
# For MacOS Data
/dev/nvme0n1p2  /media/apfs     apfs cknodes,uid=1000,vol=4,gid=1000,readwrite 0 0
EOF
相关推荐
_OP_CHEN1 天前
【Linux系统编程】(二十七)手撕动静态库原理与实战:从底层逻辑到代码落地
linux·操作系统·动态库·静态库·c/c++·库的原理与制作
fakerth2 天前
【OpenHarmony】输入法imf框架
操作系统·openharmony
Trouvaille ~2 天前
【Linux】UDP Socket编程实战(二):网络字典与回调设计
linux·运维·服务器·网络·c++·udp·操作系统
凉、介2 天前
静态路由探究
网络·笔记·操作系统·嵌入式
_OP_CHEN2 天前
【Linux系统编程】(二十六)一文吃透 Ext 系列文件系统软硬链接:原理、实战与底层逻辑揭秘
linux·操作系统·文件系统·c/c++·硬链接·软链接·ext2文件系统
fleaxin2 天前
统信服务器操作系统V20(1070)安装过程
docker·操作系统·nvidia·统信
_OP_CHEN3 天前
【Linux系统编程】(二十五)从路径到挂载:Ext 系列文件系统的 “导航” 与 “整合” 核心揭秘
linux·操作系统·文件系统·c/c++·ext2文件系统·路径解析·挂载分区
HalvmånEver5 天前
Linux:线程 ID 与地址空间布局:深入理解线程内存分布(线程七)
linux·运维·服务器·操作系统·线程
Trouvaille ~5 天前
【Linux】线程同步与互斥(四):线程池与任务管理
linux·运维·服务器·c++·操作系统·线程池·日志系统
燃于AC之乐5 天前
【Linux系统编程】Shell解释器完全实现:从命令解析、环境变量管理到内建命令的全面解析
linux·操作系统·命令行工具·进程控制·shell编程