如何在 Mac 上安全地把大檔案移到外接磁碟
塞滿 Mac 的東西,並不是全部都能丟掉。舊專案、已完成的影片作品,以及之後可能還會用到的 AI 模型,與其刪除,不如放到外接磁碟上。
簡單說:先把項目拷貝到磁碟,檢查副本是否一致,確認之後才把原件移到垃圾桶。在 Finder 中拖移只會拷貝,不會檢查。專案和 App 資料請使用 APFS 或 Mac OS 擴充格式的磁碟;一般檔案用 exFAT 也可以,FAT32 則無法存放超過 4 GB 的檔案。
磁碟應該用什麼格式?
- APFS:只給 Mac 使用的磁碟的最佳選擇。它會保留一切:符號連結、權限和隱藏檔案。「磁碟工具程式」也能把它設為加密。
- Mac OS 擴充:較舊的 Mac 格式,現在仍然可用,也是傳統硬碟常用的格式。
- exFAT:Windows 也能讀取,但它沒有符號連結和硬連結,也不保留檔案的執行權限。程式專案和部分模型資料夾(Hugging Face 會使用連結)放上去之後就無法保持完整。
- FAT32:不能存放超過 4 GB 的檔案。這種用途請避免使用。
要查看磁碟的格式,請在 Finder 中選取它,然後選擇「檔案」›「取得資訊」,或執行:
diskutil info "/Volumes/Studio SSD" | grep "File System Personality"
怎麼拷貝資料夾並檢查副本?
ditto 會拷貝資料夾,連同 macOS 為其中檔案保存的所有資訊;diff -rq 會逐檔、逐位元組比較兩者。diff 沒有任何輸出,就代表兩者一致:
ditto ~/Projects/old-portfolio "/Volumes/Studio SSD/Projects/old-portfolio"
diff -rq ~/Projects/old-portfolio "/Volumes/Studio SSD/Projects/old-portfolio"
單一大檔案則比較校驗和:兩行必須顯示相同的值。
shasum -a 256 ~/Movies/talk.mov "/Volumes/Studio SSD/Movies/talk.mov"
剛拷貝完時,macOS 可能還把檔案留在記憶體中,所以檢查讀到的可能是記憶體裡的內容,而不是磁碟上的。若要嚴格檢查,請先退出磁碟,重新連接後再比較。
移動專案之前應該先移除 node_modules 嗎?
應該。node_modules、.venv、target、build 等資料夾,可以用 npm install、pip install 或重新建置,從專案自己的檔案重建出來。把它們排除在外,副本會小得多,拷貝也快得多,因為它們裡面有成千上萬個小檔案。
可以把 Ollama 模型、Docker 或「照片」圖庫移到外接磁碟嗎?
- Ollama:不要移動個別模型;它的模型會共用檔案。改為讓 Ollama 指向磁碟上的某個資料夾,並把模型下載到那裡:
OLLAMA_MODELS="/Volumes/Studio SSD/Ollama" ollama serve。 - Docker Desktop:在 Settings › Resources › Advanced › Disk image location 中選擇新的位置,讓 Docker 自己搬移它的磁碟。
- 照片:結束「照片」,把圖庫拖到 APFS 或 Mac OS 擴充格式的磁碟上,然後按住 Option 鍵打開它。依照 Apple 自己的步驟操作,「iCloud 照片」就能繼續運作。
- 「郵件」、App、模擬器和 iPhone 備份都預期放在 Mac 本身。請讓它們留在原處。
如果磁碟故障或遺失怎麼辦?
清空垃圾桶後,磁碟上的副本就是唯一的一份。重要的東西請放在兩個地方,例如同時備份到時光機。未加密的磁碟,任何拿到它的人都能讀取:若要加密,請在 Finder 中按住 Control 鍵並按一下該磁碟,選擇「加密」,或在「磁碟工具程式」中把它格式化為 APFS(加密)。