見出し画像

Time Machine 用 HDD を移行しようとして時間を無駄にしつつ解決するまで

こんばんは。 Signal compose の leico です。今回はさっきまでハマっていた問題が解決したのでそれを記事にします。自分用の wiki と化している github pages(http://leico.github.io/TechnicalNote/)から転載です。

----------

ところで昔は二重カキコって叩かれていましたよね。今ってどうなんでしょう? 複数のSNSやストリーミングサービスに作品を載せている方とかいらっしゃるのでそこまでじゃなくなっているんですかね。

----------

移行が終わらないし容量がおかしい

Time Machine 用ディスクの移行方法は Apple のサイト 別のバックアップディスクに Time Machine バックアップを転送する方法 - Apple サポート に詳しく載っています。しかし

スクリーンショット 2020-01-13 0.51.00

この部分の 2. - 3. の部分が延々と終わりませんでした。

画像2

延々終わらず、HDD 容量をオーバーする量が転送されています


公式の方法ではうまくいかないので、

・原因
・試してだめだった方法
・成功して解決するまで

をまとめました。

参考:

別のバックアップディスクに Time Machine バックアップを転送する方法 - Apple サポート
manに「cp -rは使うな」と書いてあった話 - 西尾泰和のはてなダイアリー
macOS Mojave の "Operation not permitted" を回避する(du/ls/mv/cp 実行時) - Qiita
ddコマンドのbsサイズ - Qiita

シンボリックリンクのリンク先がコピーされている

ありえない容量がコピーされている原因は、バックアップのディレクトリ構成内でシンボリックリンクが貼られている = 以前のバックアップから変化していないファイルが多重にコピーされているのが問題のようでした。 つまり、シンボリックリンクがシンボリックリンクとしてコピーされてくれさえすればこの問題は解決します。 この時点で、普通にドラッグ & ドロップではコピーできない = 公式の方法では移行できないことが判明します。

シンボリックリンクをそのままコピーする

manに「cp -rは使うな」と書いてあった話 - 西尾泰和のはてなダイアリー

スクリーンショット 2020-01-13 0.57.27

cp -a のヘルプを参照してみます。

 -a    Same as -pPR options. Preserves structure and attributes of
       files but not directory structure.
 -p    Cause cp to preserve the following attributes of each source
       file in the copy: modification time, access time, file flags,
       file mode, user ID, and group ID, as allowed by permissions.
       Access Control Lists (ACLs) and Extended Attributes (EAs),
       including resource forks, will also be preserved.
 -P    If the -R option is specified, no symbolic links are followed.
       This is the default.
 -R    If source_file designates a directory, cp copies the directory
       and the entire subtree connected at that point.  If the
       source_file ends in a /, the contents of the directory are
       copied rather than the directory itself.  This option also
       causes symbolic links to be copied, rather than indirected
       through, and for cp to create special files rather than copy-
       ing them as normal files.  Created directories have the same
       mode as the corresponding source directory, unmodified by the
       process' umask.

-a の説明どおり、アクセス権、ファイル日時等を全て保った状態でコピーするようです。シンボリックリンクもそのままで追跡しないようです。

cp -a が実行できない

と、いうことで cp -a を試しましたが、 sudo しても権限がないと言われてしまいます。

$ sudo cp -av /Volumes/Backup_late2016/Backups.backupdb /Volumes/Backup_late2016\ 1/.
Password:
cp: /Volumes/Backup_late2016/Backups.backupdb: unable to copy extended attributes to /Volumes/Backup_late2016 1/./Backups.backupdb: Operation not permitted
/Volumes/Backup_late2016/Backups.backupdb -> /Volumes/Backup_late2016 1/./Backups.backupdb
cp: /Volumes/Backup_late2016/Backups.backupdb: Operation not permitted

macOS Mojave の "Operation not permitted" を回避する(du/ls/mv/cp 実行時) - Qiita

スクリーンショット 2020-01-13 1.00.04

ここに挙がっている通りで、 Time Machine 用のファイルをターミナルから操作する際は フルディスクアクセス の権限がターミナルに必要なようです。

画像5

フルディスクアクセス権限を付与してターミナルを再起動させます。これをしたら無事にコピーがスタートしました。が、すごく時間がかかっていました。しばらく放置していたのですが、画像のところで HDD がスリープするほど長時間止まっていました。これはよくありません。

画像6



あまりにも長時間ストップしているので中止しました。別の方法を考えます。

dd 最強

こうなったら dd コマンドで HDD ごとコピーします。完了後にディスクユーティリティでパーティションを 1TB に拡張させることで移行を試みました。 これが正解でした。

まずはハードディスクが /dev/ 以下のどこに割り当てられているかディスクユーティリティで確認します。

画像7

disk2 の表記が見えるので、この HDD の場合 /dev/disk2 に割り当てられています。 disk* を確認したらマウントを解除して、間違えないように書き込みます。

今回は dd なので disk* の先頭に r をつけて /dev/rdisk* 、シーケンシャルにしても問題ありません。 ランダムアクセスじゃない分速度があがります。

ddコマンドのbsサイズ - Qiita

画像8

自分の Mac で計っていないですが、これに従ってブロックサイズを設定しました。通常より早いような気がします。

$ sudo dd if=/dev/rdisk3 of=/dev/rdisk2 bs=16m
Password:
44712+1 records in
44712+1 records out
750156374016 bytes transferred in 10548.198580 secs (71117013 bytes/sec)

この dd を行う際にも フルディスクアクセス 権限が必要でした。移行先の HDD をマウントすると前のドライブ同様、 Time Machine に入ることができます。

画像9



Time Machine に入れました。

これが確認できたら容量に合わせてパーティションを拡張します。 ディスクユーティリティのパーティションから空き領域を消去します。

画像10


1. 空き領域を選択し
2. 円グラフ下部の - をクリックして消去
3. 右下の適用でパーティションが拡大される

もしエラーが出た場合は First Aid を試してみましょう。パーティションの拡張が終わった後も一度かけておくのがおすすめです。

画像11


なにか起きたらまずは First Aid でエラーチェックを。

ここまでで移行が終了しました。長かった。

今回の件から得るべき教訓は、公式を信用しすぎるなということですね。

お仕事のご依頼/相談/お問い合わせ/お知らせ

シグナル・コンポーズでは音楽制作、Max/Max for Liveデバイス制作など、各種テクニカルなコンサルティングやディレクション、R&D、プロトタイピング、制作などお受けしています。何かあればお気軽に info[at]signalcompose.com にお問い合わせください。よろしくお願いします。会社概要等は以下のサイトをご覧ください。

私の技術的関心や能力はこちらも参考になると思います。

音楽系としては、昨年はこんなアルバムのリリースもしています。

次のM3(3月)にも参加の予定です。音楽系のポートフォリオも以下で纏めてありますので、ぜひご覧ください。音楽制作は広くやっていきますのでお気軽にご連絡ください。


この記事が気に入ったらサポートをしてみませんか?