Time Machineバックアップの移行を何回か行いましたが、情報が複数の記事に散らばっていたり時代により通用しなくなった方法もあったりしたのでここにまとめます。
.backupdb→.sparsebundle(今はできないかも)
1. 普通にバックアップを開始させ、「x MB / y GB」のように実際にコピーが始まったら中止させる。(上記のように保存先が違うので元のバックアップへの影響はない。)Time Machineはオフにしておく。
2. 作成された.sparsebundleファイルをマウントする。
3. マウントされた「Time Machineバックアップ」ボリューム内の「Backups.backupdb」フォルダを削除する。
4. 元のTime Machine用ディスクは「大文字/小文字を区別しない」でフォーマットされているはず。しかし、.sparsebundleはなぜか「大文字/小文字を区別する」仕様。その場合はディスクユーティリティを開き、「Time Machineバックアップ」ボリュームを「大文字/小文字を区別しない」でフォーマットする。
5. 引き継ぎたいバックアップデータである「Backups.backupdb」フォルダを「Time Machineバックアップ」ボリュームにコピーする。(130万項目?もあったので時間かかりました。)
6. Time Machineに入り、無事引き継がれていることを確認する。
7. バックアップを開始させる。以下のように、普通にいじったことを見破られるので「このディスクを使用」をクリックする。
「バックアップディスクの識別情報が、最後のバックアップ作成時から変更されています。」ウインドウ
8. 増分バックアップが開始する。
dd
やディスクユーティリティを使えば(以下参照)今でも成功するかもしれません。
.backupbundle形式でもできるかもしれません。
通常(.backupdb)
0. 転送元と転送先の「暗号化を解除」「パーティションを同容量に(必要ないかも)」しておく。
1. ディスクユーティリティで転送元ディスクの番号(diskXsY
)を確認する。
2. 以下のコマンドで、一度ディスクイメージに書き出す。
$ sudo dd if=/dev/rdiskXsY of=/path/to/image.img bs=16m
rdisk
は誤植ではない。キャッシュサイズ16m
は適当。進捗はcontrol + Tで見られる。
3. ディスクユーティリティかdd
で転送先ディスクに復元する。ディスクユーティリティの場合は、転送先ディスクを選択し、復元をクリックし、「イメージ…」からimage.imgを選択して行う。エラー(OSStatus)が出た場合は一度再起動すると成功することがある。
4. 安全のため、First Aidを実行する。途中で失敗する場合は、アンマウントしておいて以下のコマンドで行うと成功することがある。
$ sudo fsck_hfs -fy /dev/rdiskXsY
この場合、The volume xxx was repaired successfully.
と表示されたら成功である。
それでも失敗する場合はログアウトした状態でリモートから行うかmacOS 復旧から行うとよいかもしれない。
ソース(一部改変)