iPhoneとかのバックアップデータ置き場を変更する方法

イントロダクション

iTunesiPhoneiPodiPadなどのバックアップを取ろうとすると、特にディレクトリ指定もなくバックアップを取ってくれる。俺はてっきり~/Music/iTunes/ (Mac) に保存してくれているものだと思っていたので、設定で別のHDDにiTunesディレクトリを移動している俺に抜かりはない!と思っていたのだが、どうもこれらのバックアップはiTunesの設定を無視して、~/Library/Application Support/MobileSync/ (Mac)に保存されるようだ。

普通の人ならあまり困らないのかもしれないが、起動を早くするためにメインのドライブを 64GB SSD にした俺には、このバックアップデータが上記の場所に出きてしまうのは不都合がある。というのも、このバックアップデータ、iPhone2台とiPad1台のバックアップを取ると20GBほど占有するのだ。約1/3である。

そこで、この問題を解決すべく、上記ディレクトリに別のドライブをマウントして幸せになろうと思ったのだが、余っている外付けHDDはあっても、余ってる電源コンセントがないという事態に気づき、急遽別の方法を取ることにした。それは、「書き込み可能なHDDイメージファイルを作成し、それをマウントする」というもの。ここではその手順を忘れないように書き残す。

ドライブイメージ作成

まずディスクユーティリティーを起動し、新規イメージを作成する。(個人的には可変サイズのドライブイメージを作成したいのだが、そのやり方がわからなかったので)40GBほどのGUIDパーティションマップのドライブイメージを作成する。この時、ドライブ名を"MobileSync"にしておく。これを、空き容量が十分あるHDDに置いておく。

追記 2012/06/02

パーティションの「Appleパーティションマップ」とはPowerPC向けドライブイメージらしいので、IntelCPUでは「GUIDパーティションマップ」を使ったほうがいいらしい。
また、イメージフォーマットを「スパースバンドル・ディスクイメージ」にすると、使用している容量分だけ容量が消費されるディスクイメージになる。「スパース…ディスクイメージ」との違いは、前者が8MB単位でファイル化されてるパッケージであり、更新が生じてもそのセクタのみが差分となる。後者は1ファイル内に全てのデータが含まれるため、1byteでも更新されたら、ファイルすべてが差分となる。

/Volumes/ にマウント。そしてコピー

作成すると /Volumes/ に自動マウントされる。ここに、 ~/Library/Application Support/MobileSync/* をこのドライブにコピーする。メインドライブのHDD容量を空けたいので、コピーが終わったら元ファイルを削除もしくは別のドライブにバックアップとして退避する(これは追々消すことになるはず)。

アンマウントそしてアタッチ

コンソールで下記コマンドを入力し、ディスクイメージをアンマウント(デタッチ)する。

$ hdiutil detach <ドライブパス>

その後、下記コマンドを入力し、該当箇所にマウント(アタッチ)する。

$ hdiutil attach -mountpoint /Users/<username>/Library/Application Support/MobileSync/ <ドライブパス>

結果

とりあえず、このとおりにやれば該当箇所にディスクイメージがマウントされるので、以降このディレクトリ内のデータが増えても、メインのドライブ容量は食わないはずなのだが、本当にこれでうまくいってるという保証は無いので、しばらく様子をみたい。

注意

あくまで備忘録なので、自己責任のもとお願いします。