Mavericksが起動しない→OSを再インストール(USBメモリ使用)

買ったばかりのMac Book Pro RetinaMavericksが起動しなくなった。
Shiftを押して立ち上げるセーフモードで起動しないので、システムファイルが破損していることがわかった。

Mavericksの再インストールはユーザーデータを残したまま可能だが、問題はここのネットの回線が遅すぎること。
ネットワーク経由のインストールは不可能と考えていい。

調べてみるとブータブルUSBからインストールできるようであった。
その前にバックアップをとっておく。TimeMachine Backupはシングルユーザーモード(⌘+Sを押して立ち上げる)や回復ツール(⌘+Rか、オプション押しながら起動で回復ツールの起動ディスクを使用)のターミナルからはできないようだった。(起動するうちにとっとかないといけない)
回復ツールのディスクユーティリティからMacintosh HDをSource、USBメモリをターゲットに選んでRestore(丸々コピー)した。

インストール用ブータブルUSBの作り方はhttp://support.apple.com/kb/PH14215?viewlocale=ja_JPにまとまっている。
肝はOSX Base System.dmgの中のPackagesを手動で置き換えること。

自分の場合はそもそもMacにログインできなかったので、以下の方法を使った。

App StoreMavericksをダウンロードすると得られるInstallESD.dmg(5GB)を入手する。(自分の場合はWindowsしか使えず、App Storeにアクセスできなかったのでダウンロードしたものを送ってもらった。ここは従量課金の世界なのでダウンロードに2,000円弱くらいかかった)

回復ツールを起動し、上のメニューからターミナルを起動する。
決まり文句の以下を実行。

# fsck -fy
# mount -rw /

ダウンロードしたInstallESD.dmgをマウントする。

# hdiutil mount /path/to/InstallESD.dmg

これでInstallESD.dmgの中身が/Volumes/OS X Install ESD/以下にマウントされる。
あとで使うトリックのために、OS X Install ESDの中にある
Packagesフォルダを任意の場所(この場合はルート)にコピーする。

# cp -r /Volumes/OS X Install ESD/Packages /

入れ子になっているもう一つのInstallESD.dmgマウントする。

# hdiutil mount /OS X Install ESD/InstallESD.dmg

この中身は/Volumes/OS X Base System/にマウントされる。
(実際はこれは回復ツールの実体であることに気づいた)

ターミナルを終了してディスクユーティリティに進む。
8GB以上のUSBメモリDestinationとして先にマウントしたOS X Base System.dmgを丸々コピーする。

ここからがトリックだが、回復ツールを終了してシングルユーザーモードで再起動する。

# mount -rw /
# cd /
# ls -l /dev/disk* //作ったブータブルUSBを挿す前に実行
# ls -l /dev/disk* //USBを挿してから実行。差分を見て、どのディスクがブータブルUSBかを調べる。自分の場合は/dev/disk1s2がそうだった
# fstyp /dev/disk1s2 //これがhfsと表示されればビンゴ
# mkdir /drive2 // マウントポイントの作成。名前はなんでも良い
# mount -t hfs disk1s2 /drive2 //USBを上で作った場所にマウント
# rm -r /drive2/System/Install/Packages //Packagesフォルダを削除。場所は確かここだったと思うけど、lsとかfindで調べれば分かる。このPackagesは1MBくらいだと思う。
# mv /Packages/drive2/System/Install/Packages //回復ツールのターミナルで逃しておいたPackages(約5GB)を、USBにコピーする。20分位かかる。

以上でブータブルUSBが作成されるので、USBを挿した状態でオプションキーを押しながらPCを起動し、そのUSBを起動ディスクに選んでOSを再インストールすればいい。

自分の場合はクリーンインストールではなく、ユーザーデータを残してインストールしたので、バックアップは結局使わなかった。