我使用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沒有此類文件或目錄