我使用MacBook Pro已有两年多了。然后有一天它没有打开。将其带到商店,机械师发现逻辑板已经死了。根据他的话,我的笔记本电脑太老了,太昂贵了,无法维修,这基本上是垃圾。但是他可以以200美元的价格为我恢复SSD中的数据。我不想浪费200美元并将敏感数据交给一个陌生人,所以我把死去的笔记本电脑带回家并亲自收回了数据。我成功了。我的SSD现在变成了一个闪存磁盘,我可以通过USB端口(500GB SSD闪存磁盘!对于将来的参考,我详细介绍了将MacBook中的SSD转换为Flash磁盘的步骤。恢复数据的总成本低于80美元,我花了不到两个小时才能完成所有步骤。完全值得。
为了检索我的数据,我为MacBook购买了一个SSD外壳。然后,我将SSD删除在死去的笔记本电脑中,然后将其插入围栏。现在,使用SSD的外壳实际上是USB闪存磁盘。最具挑战性的部分是使桌面识别SSD Flash磁盘。
Apple一直在使用APF(专有文件系统)来管理文件和目录。由于这是一个私人标准,因此其他OSS无法简单地读取闪存磁盘中的数据,因此他们不知道该怎么做。有两个简单的步骤来解决它。首先,为Linux安装APFS驱动程序。其次,安装音量。
根据MacBook模型,SSD外壳可能不同。就我而言,我使用了ACASIS USB C 3.0外壳,该外壳适用于2013年中期及以后的笔记本电脑。
所有MacBook都使用特殊的螺丝,只能用特殊的螺丝刀打开。但是,很容易从亚马逊获得它们。
一切准备就绪后,可以从笔记本电脑中提取SSD。只需按照Ifixit的说明即可删除SSD非常容易。
我使用Linux机器检索数据。从我编写此文档时,尚不清楚Windows是否可以读取APFS卷。
使用以下命令安装APFS驱动程序。
sudo apt update
sudo apt install fuse libfuse-dev libicu-dev bzip2 cmake libz-dev libbz2-dev clang git libattr1-dev
在此命令之后,将出现一个错误,表明找不到fuse软件包。 Ubuntu 18及较低版本的此错误仍然存在。在以后的步骤编译程序时,我们可以解决此问题。现在,从GitHub存储库下载APFS驱动程序源代码。
git clone https://github.com/sgan81/apfs-fuse.git
cd apfs-fuse
git submodule init
git submodule update
然后尝试编译它。
mkdir build
cd build
cmake ..
make
在执行Make命令之后,发生错误。类似的内容: fatal error: fuse3/fuse.h: No such file or directory 。要解决,请安装ccmake (如果未安装)并更改编译配置,以免使用fuse 3.0 。
sudo apt install cmake-curses-gui
ccmake .
Use arrow and change USE_FUSE3 to OFF, press Enter.
Press c to configure
Press g to generate the Makefile
Press q to exit ccmake
Execute make again, the previous error should disappear.
为了使其方便,可以注册APFS命令,以便每次执行apfs时都不需要完整的文件路径。将可执行的二进制文件复制到本地bin目录中。
sudo cp apfs-* /usr/local/bin
如果所有以前的步骤都成功,则应由OS识别包含SSD的闪存磁盘。要验证,请通过键入列出所有磁盘卷
fdisk -l
结果将有一条线显示未知类型的设备。 
标记该设备DEV目录的文件路径。然后将设备安装到目录。
sudo mkdir -p /media/$USERNAME/macssd
sudo apfs-fuse -o allow_other /dev/<device file name> /media/$USERNAME/macssd
替换为与未知类型的设备关联的名称。
如果一切顺利,将会出现一个新的驱动器图标。可以通过驱动器图标访问SSD中的数据。
在死去的MacBook的SSD中恢复数据的时间和成本不高,比询问专家便宜得多。我以70美元的价格从亚马逊购买了SSD外壳,并以6美元的价格打开MacBook。从检索SSD到安装APFS驱动程序的整个恢复过程对于普通Linux用户来说非常简单。
这个小项目是指以下材料/说明:
[1] MacBook Pro 13英寸视网膜显示2013年下半年SSD替代品
[2]如何将MacOS APFS磁盘量安装在Linux中
[3] APFS -FUSE问题第87号 - 致命错误:Fuse3/Fuse.h没有此类文件或目录