2台のMac間でディスクを複製する最良の方法は何ですか?


25

2台のMac間でディスクをクローンする最良の方法は何ですか?私はこれを数年ごとに、そして同じ答えを得るたびに尋ねます。「カーボンコピークローナーを使用する」と彼らは言います。しかし、残念なことに、CCCはディスク間のファイルレベルのコピーです。新しいMacに移行すると、すべてのファイルが存在することを確認しますが、あちこちに癖があります(ファイルの日付が異なるなど)。

それで、本当に今、もう一度:バイトごとにディスクをどのようにクローンしますか?

回答:


44

ddコマンドを使用して、ドライブの完全なクローンを作成できます。これは、OS Xに同梱されているコマンドラインツールです。クローンを完璧にするためには、ソースとデスティネーションがアクティブに使用されていないことを確認する必要があります。

クローンを準備するには、起動可能なセカンダリブートディスクを作成することをお勧めします。コピーのソースは、コピーを作成するときに使用されていないオフラインボリュームにする必要があります。そうしないと、ディスク上の不完全な状態のものをコピーする危険があります。

マシンをセカンダリブートディスクから起動し、ログインしてターミナルまたはiTermウィンドウを起動します。

diskutilを実行して、使用可能なドライブのリストを取得します。それらの1つは、クローンを作成しようとしているターゲットドライブになります。もう1つはソースドライブになります。例えば:

> diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *320.1 GB   disk0
   1:                        EFI                         209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh HD            319.2 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3       
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk1
   1:                        EFI                         209.7 MB   disk1s1
   2:                  Apple_HFS Backup                  499.8 GB   disk1s2
/dev/disk2
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk2
   1:                        EFI                         209.7 MB   disk2s1
   2:                  Apple_HFS Clone                   499.8 GB   disk2s2

それMacintosh HDがソースでCloneあり、dd操作のターゲットであるとしましょう。クローンを開始します:

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

ときにdd終了しますが、このようなエラーが表示されることがあります。

dd: /dev/rdisk2: short write on character device
dd: /dev/rdisk2: Input/output error
3726+1 records in
3726+1 records out
500107862016 bytes transferred in 14584.393113 secs (34290619 bytes/sec)

最後のエラーメッセージは実際には問題ありません。コピーする完全な1MBブロックがなかったため、最後に書き込まれたブロックは短いブロックでした。心配ない。

これで、Macintosh HDドライブのビット単位の完璧なクローンができました。Macintosh HDドライブを使用してシステムを再起動し、クローンをお楽しみください!


4
rdisk#は4KB OSバッファーをバイパスします。詳細情報。bs1mを超えると実際には遅くなるため、より小さいを選択することをお勧めします。(少なくともUSB経由。外部USBドライブか直接SATA接続かは
わかりません

2
bs設定を少し試す価値があるかもしれません。サイズをbs = 1mからbs = 65536に減らすことで、スループットが大幅に向上しました(ほぼ2倍)。
イェンスウェガー

1
@JensWegar ddインターネット検索を信頼したり、トレイルアンドエラーを実行したりせずに、特定の転送に与える最適なブロックサイズを知る方法があるのだろうか?
イアンC.

2
@IanC。HDDのブロックサイズは、ddを与える理想的なサイズの指標として使用できるとどこかで読みました。一方、別の情報源は、最適なサイズを決定する防弾の方法はないと述べた。だからそこに本当のアドバイスをすることはできません。ただし、実験にはそれほど時間はかかりませんでした。おそらく理想的な値は2倍なので、4096から始めてから8192、16384のようになります。この方法で、ピークを非常にすばやく見つけることができます。
イェンスウェガー14

1
@ user3.1415927のstatus=progressオプションを使用ddして、進行状況と転送速度を確認できます。その後、次のCRTL+C値を使用して中止し、別の値を試すことができますbs
Wlad

14

ディスクのクローンを作成するためのアップルのカスタムコマンドラインユーティリティはasrです。

OS Xの仕様に合わせて調整され、ファイルごとに実行するだけでなく、ブロックベースのイメージングを実行し、パーティションサイズの違いに対処し、ネットワークストリーミング(さらにはマルチキャストストリーミング)およびローカル接続されたディスク間のコピーを許可します。とは異なりdd、Appleの最新のCore Storageボリューム管理について知っており、グラフィカルディスクユーティリティが1つのパーティションまたはボリュームから別のパーティションまたはボリュームにデータを移動するために呼び出すプログラムです。

asrマニュアルページで詳細を読むことができます。


2
これasrは、ディスクユーティリティの[復元]タブで使用するのと同じツールです(私の回答を参照)。コマンドラインインターフェイスには、GUIインターフェイスでは省略される追加オプションがあります。たとえば、HFS +(大文字と小文字を区別しない)形式とHFSX(大文字と小文字を区別する)形式間の変換、Core Storageボリュームグループへのコピーの配置などです。しかし、コマンドラインに慣れていない人には使いにくいかもしれません。
ゴードンデイヴィソン14年

悪いリンク.......
トレーダーハットゲーム

archive.orgまたは新しいリンクがここに行く方法であるかどうかはわかりません。web.archive.org/web/20150923065146/https://developer.apple.com/…ありがとう@TraderhutGames
bmike

参考:ddと64Kのブロックサイズを使用して122 MB /秒の書き込みを取得していたので、それをkillしてasrに切り替え、--verbose restore --source / Volumes / X / -target / Volumes / Y-消去し、私は感銘を受けたと言わなければなりません。--verboseは、統計の面では何も示しませんでした(DDには進行状況を表示するCtrl / Tオプションがあります)-最後に--verboseを実行する必要があったかもしれません...それでも、感動しました。DDを使用して134 MB /秒の読み取りと書き込みを取得していましたが、asrは25MB /秒で起動しています。だから、4時間かかるコピーの代わりに...私は21時間を見ています!ええ、働く可能性が高いかどうかはわかりませんが、
トレーダーハットゲーム

しかし、私は最初にddでテストを行うことができます。それが失敗した場合、asrを使用して2
TB

8

ディスクユーティリティは、[復元]タブを使用してボリューム間の複製を実行できます。2つのMac OS拡張ボリューム間で、これはブロックコピーを実行します。つまり、ボリューム構造をコピーするだけなので、すべてのファイルが(ファイルID番号まで)同一になります。これは基本的に同じことですdd。ただし、宛先がソースと正確に同じサイズではない場合、Disk Utilityはボリュームを拡張/縮小でき、はるかに高速です(何らかの理由でddOS Xでは非常に低速です)。

編集:/ dev / rdiskN対/ dev / diskNを使用した速度に関する@Ianのメモを見た後、2つの4GBフラッシュドライブ間でコピーするいくつかのクイック&ダーティベンチマークを実行しました。

dd using /dev/diskN: 2737 seconds
dd using /dev/rdiskN: 907 seconds
Disk Util, full volume: 840 seconds to copy + 213 seconds to verify
Disk Util, empty volume: 4 seconds to copy + 1 second to verify

したがって、rdiskの提案により、ddはDisk Utilityとほぼ同じ速度で実行されるように見えます。本当の違いは、ディスクユーティリティがデータを検証し(低速ですが、おそらくより安全)、空白スペースをスキップすることです(ディスクが満杯に近くない場合は高速になります)。それと、前述したように、DUはコピーするときにサイズを変更できます。


1
OS Xのディスクユーティリティは、docs.info.apple.com / article.html?path = DiskUtility / 10.5 / en /…で文書化されています
KatieK

8

ddvia からの詳細な出力pv

ここに画像の説明を入力してください

小さなディスクでもコピーするのには時間がかかり、沈黙はイライラすることがあります。pv(パイプビューア)をインストールすると、それを使用してストリームの進行状況を監視できます。

homebrewを使用している場合は(そうするべきです)インストールpvは次のように簡単です:

brew install pv

次に、コピーするディスクを決定します。

diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *251.0 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:          Apple_CoreStorage SSD                     250.1 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3

/dev/disk1 (internal, virtual):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            SSD                    +249.8 GB   disk1
                                 Logical Volume on disk0s2
                                 2CFBB247-D59D-474F-8467-2B1BDB275524
                                 Unencrypted

/dev/disk2 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *15.6 GB    disk2
   1:             Windows_FAT_32 boot                    43.0 MB    disk2s1
   2:                      Linux                         15.5 GB    disk2s2

/dev/disk3 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *15.6 GB    disk3
   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パイプを使用できます。

# I'm going to define variables to make your copy-paste easier
SRC=/dev/rdisk2
DST=/dev/rdisk3

# This is the command you want
sudo dd bs=1m if=$SRC | pv | sudo dd bs=1m of=$DST

# Notice how similar this is to doing a simple
sudo dd bs=1m if=$SRC |      sudo dd bs=1m of=$DST

# ...which is functionally identical to
sudo dd bs=1m if=$SRC                      of=$DST

# (except 2 processes vs. 1)

実際の出力は次のようになります。

dd bs=1m if=/dev/zero count=16000 | pv | dd bs=1m of=/dev/null
16GiB 0:00:06 [2.46GiB/s] [       <=>                                          ]

2
または、DDが完了するのを待っている間にCtrl-Tを押すと、処理の量と速度が表示されます。load:2.25 cmd:dd 50443 running 1.50u 55.87s 899897 + 0 records in 899896 + 0 473.978101秒(124426812バイト/秒)で転送された58975584256バイトを記録します
Traderhut Games

4

Carbon copy clonerは良かったのですが、Mac Proでは起動可能なクローンを作成できなくなり、3回試してみましたが、以前とは異なり、すべてのクローンが起動に失敗しました。そこで、SuperDuperに切り替えました!そしてそのクローンはうまく起動しました


1
彼の答えには次の説明が含まれていました:Carbon Copyは動作をやめ、それが彼が切り替えた理由、切り替えたもの、そして動作したと説明しました。素晴らしく簡潔。3つの親指!SuperDuperを試用するために長い本を読みたくありません!-それは動作します-それが私が必要としたすべてであったとき。
トレーダーハットゲーム

0

昔ながらの良い方法はどうですかdd。ドライブのビット単位のコピーを作成できます。この方法やこの方法など、これを行う方法に関するガイドがたくさんあります


2
異なる質問に対する回答は、単なるリンク以上のものである必要があります。リンクを含めることはできますが、回答に要約または抜粋してください。アイデアは、答えを独立させることです。
nohillside

-3

クローンMacドライブには2つのタイプがあります。ファイルレベルおよびブロックレベルベースのクローン作成。私たちが知っているように、カーボンコピークローンはファイルレベルベースのクローンのみを作成でき、Superduperはディスク全体ではなくボリュームとパーティションのクローンを作成できます。そこで、ファイルレベルとブロックレベルの両方のクローン作成が可能なStellar Drive Cloneである、新しい新興のMacクローン作成ソフトウェアをお勧めします。

ドライブ全体と、外部ドライブ、ボリューム、およびネットワークドライブ上の特定のボリュームのビット単位の正確なコピーも作成できます。フォルダーにドライブのクローンを作成し、無料のデモバージョン機能で同じものからバックアップを復元できます。リカバリHDのクローンを作成し、Macでウィンドウファイル形式、MBR、ExFAT、FAT32などをサポートできます。


1
書いたように、あなたの答えは製品の機能のリスト以上のものではありませんが、言及されたツールがOPの問題をどのように解決できるかについての説明はありません。必要な手順をより詳細に説明することで、回答をより便利なものにできますか(また、この方法が他の回答に記載されている利点と比較してどのような利点があるかも説明できます)?
nohillside
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.