Tips

Mac買い替え時に別のMacのTimeMachineを使って困った件

最近M2 Macbook Airを購入しました。これまで使っていたMacbook Pr(2017)で外部ディスクにとっていたTime Machineをそのまま引き継ごうとしたらおかしな事象が発生しました。色々調査し分かったことをまとめ、Time Machineの最適な運用方法についてもご紹介します。

移行アシスタントを使わずに移行

M2 Macbook Airに必要なデータをどのように移行しようかと考えた際に、移行アシスタントを使ってマルっと移行しようかと最初は考えました。

しかし、もともと使っていたMacbook Pr(2017)はIntel CPUなので、アプリの互換性もないし、ディレクトリ構成なども大きく変わっている可能性もあります。また、最近使っていないファイルはあえて持ってこなくてもいいので、必要なファイルだけを選んで手作業で移行しました。

ただ、これまでのTime Machineは続けたいので、M2 Airから既存のTime Machineを開いてみることにしました。

なぜか階層の最上位からTimeMachineが始まる

M2 Macbook AirにTime Machineが入っている外部ディスクを接続し、以下のように「ほかのTime Machineディスクをブラウズ」から、Time Machineに入ろうとしました。

次のように対象のディスクを選択します。

すると、お馴染みのTime Machineが始まります。しかし、なぜかこのMacの最上位のディレクトリが開いてしまいます。

通常は、今Finderで開いているディレクトリが表示されるはずです。

タイムラインに最新版しか表示されない

ここから接続した外部ディスクのディレクトリを下に掘っていくと、「Backups.backupdb」というTime Machineが入るディレクトリがあり、その下にコンピュータ名のディレクトリがあり、その下には以下のように日付のディレクトリがあります。

明らかに通常のTime Machineの使い方と違うのですが、とりあえずここで最新の日付のディレクトリに入っていくと、最も私の個人的なデータが入っている「書類」ディレクトリまで行きました。

ここで気づいたのですが、通常画面の右側に表示されるタイムラインに最新の日付のものしか表示されていません。

とりあえず、データ自体は普通にFinderから先ほどの日付のディレクトリの最新のものから取得することができます。とはいえ、Time Machineの機能を使ってファイルを戻したりすることはできません。

とりあえず普通の挙動ではないのでAppleのサポートに連絡しました。

サポート1人目:High Sierraからだと引き継げない説

当方のMacbook Pro(2017)はOSがHigh Sierraという少し古いものでした。サポートの方曰く、OSがBig Surになった段階でTime Machineのファイル形式が、HFS+からAPFSに変わるなど、仕様の変更があったので、こういう事象が起きてしまう、ということでした。なので、これまでのTime Machineに重ねてバックアップを取得していくのではなく、今回のマシンから新たにTime Machineをやり直した方が良いとのこと。

これを裏付けるような事象が以下の記事の事例。

Upgraded to Big Sur - is Time Machine backup usable?

記事内のスクショでもわかるように、日付のディレクトリは存在するけど、タイムラインではある時点から以前はTime Machineからアクセスできない、ということです。ただ、私の事象と少し違うのは、タイムラインには古い日付は表示されているということです。

ただ、よく考えると、High SierraからBig Surに上げるとTime Machineが引き継げなくなるという、かなり重大な情報が公式のドキュメントにどこにも残っていないのが気になり、どこに載っているか聞くためにもう一度電話してみました。

サポート2人目:OSが変わる度に発生説

もう一度起こっている事象を話したところ、別のサポートの方と話すことになりました。Appleのサポートは毎回別の人になってしまうのが困りますね。

High SierraからBig Surに限らず、基本的OSが変わるとこのような事象は発生すると言っていました。

ただ、別に新たにTime Machineを取り直さなくてもよく、既存のTimeMachineに重ねて取得していっても問題ないということでした。過去のタイムラインの表示がおかしくなるが、現在のOSでとっている分は正常に表示されるはずだ、ということでした。

ただ、階層の最上位から表示される件に関して伝えると、そんなはずはない、と言われてしまいました。その時、カフェで作業していて、外部ディスクを持っていなかったので、画面共有で再現させて見せることができませんでした。

なので、翌日外部ディスクがある状態でまたサポートに連絡しました。

サポート3人目:マシンが変わる度に発生説

3人目のサポートの方に無事に画面共有で再現させて見せることができました。

しかし、この方はまた別の説を提示してきました。

OSが変わるごとではなく、マシンが変わるごとにこの事象は起きる、ということでした。ただ、表示がおかしくなるだけで、既存のバックアップに重ねて取得していっても良いというのは2人目の方と同じでした。

確かに、OSが変わるたびっていうけど、例えば13.0から13.1のような小さなアップグレードの度にこんな事象が起こっていたら、さすがにもっと大きな問題になっている気もします。

「継承」という概念があるっぽい

色々調べていくうちに、古いMacのTime Machineを正式に引き継ぐ「継承」というのがあるようです。

新しいMacでバックアップ履歴を継承する場合

もしかしたら、私の事象では、これをやっていないからタイムラインの表示がおかしかったりするのかもしれません。前述したように、私は手作業で必要なファイルのみ転送して移行しました。なので、「継承」するかどうか、というのは聞かれていないのでやっていません。

tmutilというコマンドで解決?

さらに調べていると、コマンドラインで使えるtmutilというコマンドでTime Machine周りの色々な設定ができるようです。associatediskやinheritbackupといったそれらしいオプションもあります。

tmutil

ただ、Apple製のコマンドのはずなのに、正式なドキュメントがありません。なので使うのに少し勇気が要ります。

APFSで柔軟な運用もアリかも

tmutilを試してみる手はあります。以下の記事でご説明した方法で、既存のTime Machineをボリュームごとコピーして、実験用のものを使ってやればそこまでリスクはないと思われます。ただ、ちょっとそこまでする時間は今回無いので、次回困った時にやろうと思います。

MacのAPFSボリュームは複製できる!OSStatusエラーの解消もTime MachineのAPFSボリュームをバックアップしておきたくなり、複製できるのか調べてみました。ディスクユーティリティの復元と...

今回はOSのバージョンが違い過ぎたのもあるので、既存のTime Machineを継承するのではなく、新たに作り直すことにしました。当然、既存のものは残しておきます。

今回はこれでいいとしても、今後はどのような運用にするか考えてみました。

もちろん、2、3人目のサポートの方が言っていたように、タイムラインの表示はおかしいけどそのまま続けても大丈夫というのを信じて続けてもいいかもしれません。しかし、一人目の方のような意見もあるので、わざわざリスクを抱える必要はなく、新たに作り直してもいい気もします。

というのは、Time MachineのディスクフォーマットはAPFSというものになったというのがあります。これはとても柔軟で良いファイル形式です。HFS+といった過去のフォーマットは、ボリュームを作る時に、サイズを決めなけれなりませんでした。以下のページで説明したように、Time Machineで使うボリュームは基本的にTime Machine以外の用途では使ってはいけないことになっています。

Mac TimeMachineでの外付けHDDのパーティションの考え方外付けハードディスクにTime Machineを保存する場合は、パーティション(コンテナ)を作り、その中にTime Machine専用の...

これは一見不便に思えます。しかし、APFSだと、ボリュームのサイズは最初に決める必要はありません。なので、OSが変わる、あるいは、マシンが変わるタイミングで、Time Machineのボリュームを新たに切り直して、そこで Time Machineを新たに始めるという手は考えられます。ただ、この手法にもデメリットはあります。Time Machineはあるタイミングのスナップショットをとりますが、前のスナップショットから変更がないファイルは複製されず、元ファイルにリンクが張られるだけです。なので、変化がないファイルは新たに容量がかかりません。APFSというファイルフォーマットはそういう仕組みに最適化されています。ただ、新たなTime Machineを作ると話は別です。Time Machineが違えば、同じファイルだとしても、それぞれのために容量がかかってしまいます。なので、Time Machineボリュームを頻繁に作って過去のTime Machineを残していく、というのは、一つのTime Machineでずっと続けるよりも容量的には非効率です。

いくつかの可能性について考えてきましたが、次にOSをアップグレードする、あるいはマシンを変えるタイミングでは、ボリュームをコピーして既存のTimeMachineのバックアップをとった上で、tmutilなどを試して、うまくタイムラインなどが引き継げなければ、新たなボリュームで作り直すという運用をしようと思います。