題:
在兩台Mac之間克隆磁盤的最佳方法是什麼?
erotsppa
2012-03-27 23:24:01 UTC
view on stackexchange narkive permalink

在兩台Mac之間克隆磁盤的最佳方法是什麼?我每兩年左右詢問一次,每次得到相同答案時都會詢問。他們說:“使用碳複製克隆”。但是不幸的事實是CCC是磁盤之間的文件級副本。當我遷移到新的Mac上時,請確保所有文件都存在,但是到處都是怪癖(包括文件日期不同等)。

那麼,實際上,現在再說一次:如何以字節為單位克隆磁盤?

七 答案:
Ian C.
2012-03-28 00:17:53 UTC
view on stackexchange narkive permalink

您可以使用 dd命令對驅動器進行完美的克隆。這是OS X附帶的命令行工具。為了使克隆完美,您需要確保未主動使用源和目標。

為克隆準備,我建議創建可以從中引導的輔助引導盤。製作副本時,克隆源應為離線卷,而不是在使用中。否則,冒著將狀態不完整的內容複製到磁盤上的風險。

將計算機引導到輔助引導磁盤後,登錄並啟動終端或iTerm窗口。

運行 diskutil以獲得可用驅動器的列表。其中之一將是您要克隆的目標驅動器。另一個將是您的源驅動器。例如:

  > diskutil list / dev / disk0#:類型名稱大小標識符0:GUID_partition_scheme * 320.1 GB磁盤0 1:EFI 209.7 MB disk0s1 2:Apple_HFS Macintosh HD 319.2 GB disk0s2 3:Apple_Boot恢復高清650.0 MB disk0s3 / dev / disk1#:類型名稱大小標識符0:GUID_partition_scheme * 500.1 GB disk1 1:EFI 209.7 MB disk1s1 2:Apple_HFS備份499.8 GB disk1s2 / dev / disk2#:類型名稱大小標識符0:GUID_partition_scheme * 500.1 GB disk2 1:EFI 209.7 MB disk2s1 2: Apple_HFS克隆499.8 GB disk2s2  

假設我們的 dd 操作的源是 Macintosh HD(disk0),而 Clone(disk2)是目標。使用以下命令啟動克隆:

  > sudo dd if = / dev / rdisk0 of = / dev / rdisk2 bs = 1m conv = noerror,sync  

何時 dd 完成後,您可能會看到這樣的錯誤:

  dd:/ dev / rdisk2:在字符devicedd上短寫:/ dev / rdisk2:輸入/輸出錯誤3726+ 1記錄in3726 + 1記錄out 500107862016字節在14584.393113秒(34290619字節/秒)中傳輸。 

最後一條錯誤消息實際上是可以的。最後寫入的塊是一小段,因為沒有完整的1MB塊要復制。不用擔心。

現在,您已經有了 Macintosh HD 驅動器的逐位完美克隆。使用 Macintosh HD 驅動器重新啟動系統並享受您的克隆!

+1為rdisk建議-我以為我以前曾經嘗試過,但是我剛剛進行了測試,它極大地幫助了我。
rdisk#繞過4KB OS緩衝區。 [更多信息。](http://lists.apple.com/archives/filesystem-dev/2012/Feb/msg00015.html)我建議您選擇較小的`bs`,因為超過1m實際上可以慢點。 (至少通過USB。我無法確定它是外部USB驅動器還是直接SATA連接。)
可能值得嘗試一下bs設置。通過將大小從bs = 1m減小到bs = 65536,我獲得了吞吐量的顯著提高(幾乎翻了一番)。
-1
@IanC。我在某處讀到HDD的塊大小可以用作指示dd的理想大小的指標。另一方面,另一位消息人士說,沒有找出最佳尺寸的防彈方法。因此,不能在那裡提供任何真正的建議。但是,實驗並不需要太長時間。理想值可能是2的因數,所以我將以4096、8192、16384等開始。您會以這種方式很快找到峰值。
從終端的恢復模式執行此操作是否保存?在啟動dd之前,我已經卸載了磁盤上的所有分區。它目前正在運行,但是我對結果有點擔心;)感謝“ rdisk”而不是“ disk”的漂亮提示
@MatthiasKleine是的,從恢復模式執行此操作是安全的。如果磁盤很大,則可能需要很長時間才能運行。
如果出現錯誤:dd:/ dev / rdisk2:資源繁忙嘗試diskutil unmountDisk / dev / rdisk2(或您的磁盤號)
@IanC。您如何運行計時測試?(例如,我要克隆一個320GB的驅動器,是否有一種快速的方法來測試使用此驅動器,如果是,計時命令是什麼?)
@user3.1415927`dd`顯示了運行結束時的運行時間。這不是“測試”-您必須實際複製數據以獲得定時輸出。
在@user3.1415927中,您可以使用dd的status = progress選項來查看進度和傳輸速率。然後,您可以使用CRTL + C中止,並嘗試使用另一個bs值。
bmike
2014-01-05 08:55:02 UTC
view on stackexchange narkive permalink

Apple進行磁盤克隆的定制命令行實用程序是 asr

它是針對OS X的特定需求量身定制的,它需要逐個文件執行以及基於塊的映像並處理分區大小的差異,允許網絡流(甚至多播流)以及在本地連接的磁盤之間進行複制。與 dd 不同,它了解Apple最新的Core Storage捲管理,並且是圖形磁盤實用程序調用的用於將數據從一個分區或卷移動到另一個分區或卷的程序。

您可以閱讀在 asr手冊頁中有更多信息。

請注意,“ asr”與“磁盤工具”的“還原”選項卡使用的工具相同(請參閱我的答案)。命令行界面具有GUI界面忽略的其他選項,例如在HFS +(不區分大小寫)和HFSX(區分大小寫)格式之間進行轉換,以及將副本放入Core Storage卷組中。但是對於不習慣命令行的人來說,使用它可能會更困難。
鏈接錯誤....
不確定是否要使用archive.org或新鏈接。https://web.archive.org/web/20150923065146/https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man8/asr.8.html謝謝@TraderhutGames
僅供參考:我使用dd和塊大小為64K的數據寫入速度為122 MB /秒,我將其殺死以切換到asr,執行--verbose restore --source / Volumes / X / -target / Volumes / Y刪除,我必須說給我留下深刻的印象。--verbose在統計方面沒有顯示任何內容(DD具有Ctrl / T選項可顯示進度)-也許我需要在最後進行--verbose……儘管如此,我印象深刻。我使用DD讀取和寫入的速度為134 MB /秒,而asr的速度為25MB /秒。因此,而不是複制需要4個小時的時間...我在看21個小時!是的,我不知道它是否有更高的工作機會,但是
但是我可以先用dd進行測試,然後如果失敗,則要花一天的時間使用asr將2TB磁盤複製到另一個磁盤...
優秀的。請隨時根據您的發現編輯我的答案的附言。asr處理元數據和資源派生之類的事情,因此我敢肯定它必須比用正確的塊大小調整好的`dd`慢一些。@TraderhutGames
好吧,快速復制對我不起作用,可能是因為沒有正確設置分區,或者選擇了錯誤的分區。.這個週末我將重試asr,直到我有22個小時以上的時間才能刪除它。。:-(。我的猜測是/ dev / rdisk2s2不正確,它必須是/ dev / rdisk2-不是複制分區,而是整個磁盤。
@TraderhutGames我認為您錯過了2個小時的21小時打字?我也懷疑您不是要寫成asr以25MB /秒(小於dd的122MB /秒)的速度寫:
@r_alex_hall-不,我被諷刺了..對它的運行速度印象深刻...我最終殺死了它,並在運行速度更快時回到dd ...(因此,以後有關dd是否不起作用的評論,我可以“花一天時間”使用asr。)而且我不記得它是否可以與asr一起使用,如果可以使用內存,則可以殺死一天,但仍然無法正常工作,但現在不再嘗試這樣做。
Gordon Davisson
2012-03-28 00:38:10 UTC
view on stackexchange narkive permalink

Disk Utility可以使用“還原”選項卡進行卷對卷克隆。在兩個Mac OS Extended卷之間,這將進行塊複製,即它僅複製卷結構,因此所有文件都完全相同(直到文件ID號)。這與 dd 基本相同,不同之處在於,如果目標磁盤的大小與源磁盤大小不完全相同,並且磁盤工具可以擴展/收縮卷,而且速度要快得多(出於某種原因, dd 在OS X上非常慢)。

編輯:看到@Ian關於使用/ dev / rdiskN與.dev / diskN的速度的註釋後,我運行了一些quick&dirty基準測試在兩個4GB閃存驅動器之間:

  dd使用/ dev / diskN:2737秒dd使用/ dev / rdiskN:907秒磁盤Util,完整捲:840秒要復制+ 213秒來驗證Disk Util,空volume:複製需要4秒,驗證需要1秒。 r> 
真正的區別是Disk Utility驗證其數據(速度較慢,但也許更安全),並跳過空白空間(如果磁盤幾乎未滿,則速度更快)。就像我在上面說的那樣,DU可以在復制時調整大小。
適用於OS X的磁盤實用程序在http://docs.info.apple.com/article.html?path=DiskUtility/10.5/en/duh3.html中有記錄。
Bruno Bronosky
2017-05-15 21:14:17 UTC
view on stackexchange narkive permalink

通過 pv

dd 輸出詳細信息

enter image description here

即使復制一個小磁盤也要花費很長時間,並且靜音可能令人沮喪。如果安裝 pv(管道查看器),則可以使用它來監視任何流的進度。

如果您使用的是自製軟件(應該如此),則安裝 pv 的操作非常簡單:

  brew install pv
 

然後確定要復制的磁盤。

  diskutil列表
/ dev / disk0(內部,物理):
   #:TYPE NAME SIZE IDIFIFIER
   0:GUID_partition_scheme * 251.0 GB磁盤0
   1:EFI EFI 209.7 MB磁盤
   2:Apple_CoreStorage SSD 250.1 GB磁盤
   3:Apple_Boot恢復高清650.0 MB磁盤

/ dev / disk1(內部,虛擬):
   #:TYPE NAME SIZE IDIFIFIER
   0:SSD +249.8 GB磁盤1
                                 disk0s2上的邏輯卷
                                 2CFBB247-D59D-474F-8467-2B1BDB275524
                                 未加密

/ dev / disk2(內部,物理):
   #:TYPE NAME SIZE IDIFIFIER
   0:FDisk_partition_scheme * 15.6 GB磁盤2
   1:Windows_FAT_32引導43.0 MB disk2s1
   2:Linux 15.5 GB disk2s2

/ dev / disk3(外部,物理):
   #:TYPE NAME SIZE IDIFIFIER
   0:FDisk_partition_scheme * 15.6 GB磁盤3
   1:Windows_FAT_32 NO NAME 15.6 GB disk3s1
 

在這種情況下, / dev / disk2 是來自內部讀取器中Raspberry Pi的Micro SD卡,而 / dev / disk3 是USB加密狗中的新MicroSD

用於復制它的命令將與常見的 dd 命令非常相似,除了我們將利用 of (輸出文件)默認為STDOUT和 if (輸入文件)默認為STDIN。這使您可以在兩者之間使用 unix管道 dd 函數偵聽Ctrl-t鍵,並且在運行時被要求報告時將向您更新進度。

 #我將定義變量以簡化複製粘貼
SRC = / dev / rdisk2
DST = / dev / rdisk3

#這是您想要的命令
sudo dd bs = 1m if = $ SRC |光伏| sudo dd bs = 1m of = $ DST

#注意這與執行簡單操作有多相似
sudo dd bs = 1m if = $ SRC | sudo dd bs = 1m of = $ DST

#...在功能上與
sudo dd bs = 1m if = $ SRC of = $ DST

#(2個進程與1個進程除外)
 

實際輸出如下:

  dd bs = 1m if = / dev / zero count = 16000 |光伏| dd bs = 1m of = / dev / null
16GiB 0:00:06 [2.46GiB / s] [< = >]
 
或者,您可以在等待DD完成時按Ctrl-T,它將顯示已完成的操作以及執行的速度。.負載:2.25 cmd:dd 50443運行1.50u 55.87s 899897 + 0條記錄在 899896 + 0條記錄 在473.978101秒內傳輸了58975584256字節(124426812字節/秒)
Jigs
2013-02-02 22:29:21 UTC
view on stackexchange narkive permalink

Carbon copy cloner很好,但是後來在我的Mac Pro上它不再製作可引導的克隆,我嘗試了3次,每個克隆都無法像以前那樣引導失敗,所以我改用SuperDuper!並且克隆啟動正常

他的回答包括一個解釋:Carbon Copy退出了工作,解釋了他為什麼要切換,他切換了什麼以及它是否有效。簡潔明了。三個豎起大拇指!我不想讀很長的書來獲得“嘗試SuperDuper!-可行'-當我僅此需要時。
binarybob
2012-03-28 00:08:48 UTC
view on stackexchange narkive permalink

好的dd dd 怎麼樣。它可以逐點複製驅動器。關於如何執行此操作的指南很多,例如此人此人

關於“與眾不同”的答案不僅需要鏈接。可以包含鏈接,但請在答案中進行總結或摘錄。這個想法是使答案獨立存在。
Crestine
2013-09-04 12:08:04 UTC
view on stackexchange narkive permalink

有兩種類型的克隆Mac驅動器。基於文件級別和塊級別的克隆。眾所周知,抄襲克隆器只能創建基於文件級別的克隆,而其最大的競爭對手Superduper之一隻能創建捲和分區的克隆,而不能創建整個磁盤。因此,我建議選擇一種新的新興Mac克隆軟件,該軟件是Stellar Drive Clone,能夠同時進行文件級和塊級克隆。

它可以一點一點地創建整個驅動器和特定驅動器的精確副本。您的任何外部驅動器上的捲,捲和網絡驅動器上也是如此。它可以在其免費的演示版本功能中在文件夾上創建驅動器的克隆,並從該文件夾還原備份。它可以在Mac上創建Recovery HD的克隆並支持窗口文件格式,MBR,ExFAT,FAT32等。

撰寫本文時,您的答案不只是產品功能列表,而且也沒有任何關於上述工具如何解決OP所具有問題的解釋。您能否通過更詳細地描述必要的步驟來使您的答案更有用(也許還可以解釋與其他答案中所描述的方法相比,該方法具有哪些優勢)?


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...