UA-102556695-1
was successfully added to your cart.

OS X檔案系統容量變更及複製指令密技

當你要升級Mac SSD時,要將SSD 大小做轉換,如果重新安裝會非常麻煩
本專文能快速讓你節省系統轉移時間與麻煩──

Mac的APFS/HFS+系統的複製轉移,需要運用到查詢, 容量變更和複製功能
(1)查詢磁碟及分割區指令:
   diskutil list
(2)容量變更:
在複製時由大邏輯容量複製到小邏輯容量是不允許的, 故需要將大邏輯容量部份縮小
   <1> hfs+(Mac OS Extended):
           diskutil resizevolume /dev/diskxxxx 容量

   <2> CoreStorage:
           diskutil cs resizevolume /dev/diskxxxx 容量

   <3> apfs:
           diskutil apfs resizecontainer /dev/diskxxxx 容量

(3) 複製功能:
以拉檔案方式或cp指令複製系統, 或含Time Machine的磁碟, 會比較慢, 因為檔案模式傳檔案時會因為檔案數量及容量龐大時會耗用很多時間。 如果以asr指令傳輸則會有加速傳輸引擎, 不會因為檔案數量龐大及碎檔多而耗用很多時間。例如平常我們在倒純OS時不需要2分鐘就倒完, 如果用拉檔案方式傳OS系統會耗用很多時間並且完整度有問題, 因為有隱藏檔及權限問題, 而用asr則是完整強度很高的。
apfs的複製則是目標分割區要用hfs+,在複製時會將目標分割區轉成apfs
  <1> dmg檔導出到磁碟機:
          asr -s xxxxxxxx.dmg -t /dev/diskxxxx –nocheck –erase

          (hfs dmg格式畫面)

          (apfs dmg格式畫面)


  <2> 磁碟機對磁碟機傳輸:
          asr -s /dev/diskxxxx -t /dev/diskxxxx –nocheck –erase

          (hfs複製到hfs畫面)

          (CoreStorage的hfs複製到hfs畫面)

          (apfs複製到hfs畫面)

附錄: Mac系統複製方式比較

複製方式dd或ddrescue指令asr指令cp指令Finder操作拖曳目錄檔案
傳輸模式Sector by Sector , 完整性最高專屬傳輸引擎, 只傳輸有資料部份, 速度很快以檔案模式傳輸以檔案模式傳輸, 使用Finder介面, 有進度及預估時間
傳輸速度由於需完整容量複製, 例如3TB容量資料量500G, 需3TB完整複製過才能算完成, 對於資料量比率少的會比較浪費時間由於只傳輸有資料部份, 速度屬於最快檔案是直接複製,速度略高於拖曳方式拖曳方式需要隨時計算完成度和速度, 會影響傳輸速度
碎檔和數量龐大時與檔案系統無關,傳輸速度不會因此有影響專屬傳輸引擎, 傳輸速度不會因此有影響由於檔案系統需大量讀取及寫入, 傳輸速度隨著數量越大則速度越慢由於顯示界面及運算, 比cp指令更慢
斷點回復dd不支援, ddrescue如果有作Log則支援不支援, 需重來可用-n指令跳過已存在檔案, 借此可以發揮續傳功能中間取消時會自動刪除已傳的目錄檔案
當用Command-C複製Command-V貼上時,如果中斷則不會刪除已傳的目錄檔案
有權限問題的目錄檔案與檔案系統無關, 不會影響為卸載離線複製, 不會影響會有問題, 即使忽略權限也可能會有問題同左
檔案系統破損dd需加指令參數(ddrescue則內建)有跳過讀取錯誤旳部份遇到破損會中斷只能傳輸可讀取部份, 遇到破損則會中斷同左
APFS/HFS加密磁碟Sector by Sector, 不需理會是否加密, 可以完整複製加密狀態直接複製會失敗, 需在解密狀態以hdiutil create -srcfolder製作dmg之後才能用asr倒出需在解密狀態傳輸同左