文件目錄
幫助與支援

目標碟存不住哪些應用程式資訊

目標碟缺少哪些能力、遷移後會怎樣、以及怎樣處理。

把應用程式搬到外接碟時,檔案內容幾乎總能搬過去,但檔案系統能記錄的屬性並不都一樣。目標碟缺少某項能力時,AppPorts 會在遷移前說明;遷移後應用程式通常仍能開啟和使用,只是這部分資訊無法保留。

本文說明每種情況為什麼會發生、意味著什麼、以及怎樣處理。

先看結論

目標碟缺少遷移後會發生什麼建議
存取控制清單(ACL)應用程式原有的細緻存取規則遺失,退回一般權限位多數應用程式無影響;帶特權背景服務的建議用 APFS
硬連結應用程式內部共用的檔案各存一份,佔用更多空間能用;只是多佔空間
資源分支少數應用程式的自訂圖示、舊式本地化資源可能缺失能用;外觀可能不完整
POSIX 權限位所有檔案權限變成該碟固定預設值能用;但依賴特定權限的應用程式可能異常

一句話:這些都屬於「能用,但不完整」。 真正會拒絕遷移的是另一類問題,見遷移失敗。

為什麼會出現

不同檔案系統的設計目標不同。APFS 是 macOS 的原生檔案系統,完整保存擁有者、權限、ACL、硬連結、資源分支和延伸屬性。而下面這些格式原本是為跨平台交換設計的,或者刻意簡化了這些概念:

  • exFAT:為 USB 隨身碟和跨平台交換設計。沒有擁有者欄位,不保存 ACL,不支援硬連結,權限位固定,資源分支無法寫入。macOS 會把延伸屬性存進隱藏的旁路檔案,一般屬性因此能讀寫,但資源分支不行。
  • FAT32:限制比 exFAT 更多,單一檔案不能超過 4 GB。
  • HFS+ 在「忽略所有權」掛載下:會保存擁有者欄位,但新建檔案被記成佔位使用者。

所以問題不在「碟不好」,而在於這塊碟沒有設計用來存這些資訊。把應用程式放上去,檔案內容是對的,中繼資料卻不是。

每項分別意味著什麼

存取控制清單(ACL)

ACL 是比「讀/寫/執行」更細的規則,例如「允許某個背景服務讀取這個檔案」。macOS 的沙盒應用程式和帶特權服務的應用程式會用到它。

遺失後,檔案退回一般的 POSIX 權限位。絕大多數應用程式不受影響;但依靠 ACL 授權背景服務的應用程式可能拒絕工作,並給出修改權限的提示——而在這類碟上,修改權限會被系統靜默忽略,看起來成功、實際無效。

硬連結讓多個路徑指向同一份資料,不重複佔空間。應用程式常用來在多個元件間共用資源,例如同一張圖示被多個內部應用程式引用。

目標碟不支援硬連結時,AppPorts 會把它們物化成各自獨立的副本。應用程式照常執行,代價是多佔空間。日誌裡會記錄分離了多少個。

資源分支

資源分支是 macOS 的歷史特性,用來存放圖示、舊式本地化字串等附加資源。現代應用程式大多改用一般檔案,但一些舊應用程式和本地化資源仍在用。

無法保存時這部分會遺失,表現為個別圖示缺失或介面文字不完整,不影響程式主體執行。

POSIX 權限位

權限位決定「誰可以讀、寫、執行」。某些檔案系統不接受 chmod,所有檔案固定為同一個模式。

遺失後,所有檔案權限相同。一般應用程式不受影響,但依賴特定權限的應用程式(例如需要某檔案僅自己可讀)可能出現異常。

怎麼判斷目標碟是否合適

AppPorts 在遷移前會實際探測目標碟的能力,而不是靠格式名稱猜測:它會在目標位置臨時建立項目、嘗試寫入 ACL 和資源分支、建立硬連結、設定權限位,然後刪除這些臨時項目。因此同一塊碟換了掛載方式也能被正確識別。

探測到缺失時,遷移前會顯示提示,列出具體缺少哪幾項。你可以選擇繼續,也可以換一塊碟。

遇到這些情況怎麼辦

如果應用程式只是普通應用程式(不依賴 ACL 授權、沒有特權背景服務):可以繼續遷移,實際影響通常只是多佔一點空間,或個別圖示缺失。

如果應用程式帶特權背景服務(例如某些系統工具、VPN、代理類應用程式):建議改用 APFS 格式的磁碟,或讓它的資料留在本機。這類應用程式最容易因為 ACL 或權限位遺失而拒絕工作。

如果只是空間緊張:硬連結分離會讓佔用變大。可以先把應用程式遷回本機、騰出空間後再遷,或換一塊更大的碟。

如果需要保留全部中繼資料:唯一可靠的辦法是使用 APFS 格式的目標碟。APFS 在「忽略所有權」掛載下也保存真實歸屬,是 macOS 上最完整的選擇。

抹掉磁碟會清除所選對象的資料。更換格式前請先確認備份可用,不要只為繞過提示而重格式化整塊碟。

為什麼外接磁碟上的應用程式套件會變成降級版本

遷出到不保存完整中繼資料的磁碟(例如 exFAT)時,複製過程就已經無法保留 ACL、硬連結、資源分支和權限位。這不是還原回本機時才發生的問題——損失發生在遷出的那一刻,此後那份副本一直是降級的。

還原會把這個副本複製回本機,但複製不會憑空補回從未寫下的資訊。更關鍵的是:還原完成後,外接原件會被刪除,缺失就變成永久的。

所以 AppPorts 在還原前會先檢查外接副本所在的磁碟。如果那塊磁碟本來就不支援這些項目,會提示「外接磁碟上的應用程式套件可能已降級」,並提供兩個選擇:

  • 仍要還原:接受這份副本已經缺失的部分,把應用程式搬回本機。
  • 取消:讓應用程式繼續留在外接磁碟,或解除安裝後重新安裝官方版本。

如果這些應用程式依賴權限或存取控制(例如帶特權的背景服務),建議重新安裝官方版本,而不是還原一份已經降級的副本。

哪些情況會直接拒絕遷移

上面討論的都是「能用但不完整」。另有一類情況 AppPorts 會直接停下並保留原件,因為繼續會真正丟東西:

  • 應用程式本身帶有 ACL,而目標碟寫不進去——這是真實存在的授權規則,不能假裝搬成功。
  • 目標碟出現了來源裡沒有的內容,或複製過程中檔案被改動——無法證明搬對了。
  • 目標碟在遷移過程中斷開或變成唯讀。

遇到這些提示時,保留原碟和現有副本,按介面說明處理後重試,不要手動刪除副本。

本頁目錄