2011年07月05日 14:30 [Edit]

Macの起動ディスクをフル(バックアップ|リストア)する最も簡単な方法

そのとおり。

ASCII.jp:OS X Lion移行計画(前編)〜不要なファイルを“断捨離”〜
1GBあたりの単価が10円を下回るHDDも珍しくない現在、OSのアップグレードや新規インストールのようなデータ消滅の危険性を伴う処理には、新規購入したHDDを使用したほうがいい。2.5インチの内蔵型(バルク品)なら容量500GBの製品が5000円程度から販売されているため、データ消滅の危険を回避できると考えれば安いもの

だが具体的にはどうすればいいか?


結論から言うと、

  1. USBバスパワー駆動の外付け2.5インチHDDを用意し、
  2. そこに Mac OS X をインストールして起動可能にした上で、
  3. (内蔵)起動ディスクを外付けHDD上の sparse bundle image にバックアップ

するということになるだろう。

レシピ

  1. USBバスパワー駆動の外付け2.5インチHDDを用意

    新たに購入してもよいし、SSD交換などで余った2.5インチHDDがあれば外付けケースだけ入手してそこに入れてもよいだろう。前者でも500GBが5,000円ちょっと、後者なら1,000円未満。

    容量は現在使用中の起動ディスクの使用容量 + 20GBもあればOK。以下の私の例では、今や売っていない250GBを利用している。

  2. そこに Mac OS X をインストールして起動可能に

    USB HDDをつないだ状態で普通にインストーラーDVD/USBメモリ(MacBook Airなどの場合)から起動した上で、USB HDDをインストール先を指定すればよい。内蔵HDDにしかインストールできないなんて某OSはどうかしているよ!

    インストールが終わったら、最低限の設定と Software Update をすませておくこと。こうしておくとそのMacのみならず、Macであれば何でも起動できる緊急用ディスクにもなる。私のそれは OS X Lion にアップグレード可能な Mac としては最も古い MacBook 2,1 (Late 2006)で作成しているが、v10.6.8までアップデートされたそれはMacBook Air 3,2iMac 11,1も問題なく起動できる。

  3. 起動ディスクをそこに sparse bundle image でバックアップ

    Mac OS X以外なにもない状態なら、上記のUSB HDDの使用領域は20GBに満たないはずである。起動ディスクをバックアップするには十分な空きがあるはずである。問題はそこにどうバックアップするかだが、以下のようにするのが一番楽だ。

    1. USB HDDから起動

      指定は[System Preferences…]の[Startup Disk]からでもよいし、起動時にoptionキーを押してから指定でもよい

    2. "/Application/Utilities/Disk Utility.app"を起動
    3. sparse bundle imageを作成

      一番気をつけるべき点は、Sizeはバックアップ元の起動ディスクよりも大きめに指定すること。500GBなら1TBなど。sparse bundle image は仮想ディスクなので、実際に使用された分しかディスクを消費しない。

    4. [Restore]タブより、Source:にバックアップ元、Destination:に作成したディスクイメージのパーティションを指定。[Erase destination]もチェック
    5. [Restore]をクリック

      数分、というわけにはいかないが、数時間、ということもない。10GBにつき10分といったところ。

      なおここで、sparse bundle image をUSB HDDではなくNASやネット接続している別のMacの上に作成することもできる。Gigabit Ethernet接続だとUSBよりも高速だが、必要な道具が一つ増えることになる。

これでバックアップは完了。リストアは

  1. USB HDDから起動し、
  2. Disk UtilityにてSource:とDesitination:を入れ替えて[Restore]

するだけ。

なお、このHDDは容量に余裕さえあればさらに Time Machine のバックアップディスクとしても用いることができる。一台三役だ。

Q: なんで Time Machine を使わないの?

確かに Time Machine でも同様のことは出来る上、どのバックアップから何をリストアするかを選択できるなど柔軟性は遥かに高い。その代わり、時間はずっとかかる。特に小さなファイルがたくさんある場合は。ファイル単位のバックアップ/リストアの最大の欠点はこれだ。

Disk Utility の Restore 機能(実はasrコマンドのフロントエンド)を使えば、ファイルを一つ一つコピーするのではなく、ディスクブロックをそのままコピーしていくのでずっと高速で、時間も予測しやすい。

Q: インストーラーDVDでも同じ事できない?

YESでもありNOでもある。YESなのは、結局一番重要なのがDisk Utilityにまでたどりつくことで、インストーラーDVDでも確かにそれができるから。NOなのは、結局外付けのHDDを用意するか、Time Machineのバックアップ先のNAS(含むTime Capsule)が別途必要だから。それならばはじめから起動可能な外付けHDDを用意した方がよく、2.5インチバスパワーHDDであれば旅行先にももっていける。

Q: HDDの代わりに大容量なUSBメモリーないしSDカードは?

確かに32GB以上あれば、外付け起動メディアにするのも余裕ではある。が、

  1. バックアップまで入れるにはちょっと足りない
  2. ランダムアクセスが遅いので、起動も遅い
  3. USB HDDより高額

なのでいまいちおすすめできない。

これで獅子が来ても大丈夫

OS X Lion が来るのは今週中に出るのか来週になるのかわからないが、一つ確実なのはネットさえあればインストール可能なこと。出先でインストールすることになるかも知れない。その場合でも「確実に元通りに戻せる」方法を知っている以上に安心なことがあるだろうか?

Safe Hex and Happy Upgrading!

Dan the Man with Too Many Macs to Backup

追加Q: Carbon Copy Cloner は?

コメント欄で勧められている Carbon Copy Cloner は、内部的にMacOSX::Fileを使っている。その作者は実は私。

それなのにそれを勧めていないのには理由がある。起動ディスクはその性格上アンマウントできないし、そしてアンマウントしていないファイルシステムは、Mac OS Xに限らずファイル単位でないと安全にバックアップが取れないからだ。つまり時間がかかる。

逆にそれでもよいというのであれば、本来の起動ディスクから起動した状態で[Source:]に起動ディスクを、[Destination:]に sparse bundle image ではなくUSB HDDそのものを指定すれば Carbon Copy Cloner と同様の結果が得られる。以下のようにrsyncでもよい。

/usr/bin/rsync --delete -EHaxv / /Volumes/USBHDD

フルパスで指定しているのは、OS X付属のrsyncを確実に指定するため。たとえば MacPorts でインストールされる rsync は拡張属性の扱いが付属のものとは異なる。

なお MacOSX::File は現在メンテされていない。作者である私自身、 Tiger までのつなぎという認識だ。このあたりのことは、Software Design 2011年07月号でも触れたのでよろしければご一読を。


この記事へのトラックバックURL

この記事へのコメント
Lion に向けて準備をしようとしていて参考になります。ひとつ教えてください。

レシピ 3 に「・・・Sizeはバックアップ元の起動ディスクよりも大きめに指定すること。500GBなら1TBなど。・・・」とあります。

iMacの500GBを使用しているので、この場合準備するHDDは640GBないしな1TBが必要と言うことですね。レシピ 1 には使用容量とあるので確認したいのです。なんせ500GBHDDですと安いものですから。
Posted by p_antenna at 2011年07月15日 13:07
Carbon Copy Cloner
http://www.bombich.com/

これを使うと内蔵ハードディスクから起動したまま,外付けハードディスクに起動可能な状態で内蔵ハードディスクのコピーをとれて便利です.
Posted by onohiroki at 2011年07月06日 08:27