2016-09-02

復旧パーティションを復旧する方法

ちょいとわけあって、MacBook Proのシステムを一時的に OS X El Capitan 10.11.5 から OS X Mavericks 10.9.5 に戻したのだが……

困ったことが起きた。復旧パーティション(Recovery HD)がないではありませんか。

OS自体は起動するが、復旧パーティションを必要とする一部の機能が使えない。 command + R による復旧システムの起動もできない。

内蔵ドライブを初期化してから、以前のOSのバックアップを戻すような特殊なインストールの仕方をしたのがまずかったようだ。内蔵ドライブ全体を消去してパーティションからやり直してしまうと、復旧パーティションは消えてしまう。これは当たり前。

Time Machine によるバックアップからシステムをリストアした場合は、復旧パーティションも再生されるようだが、今回はその手は使えない。

う〜む、復旧パーティションだけ再作成する方法ってなかったけ?

アップルのサポートに電話して、復旧パーティションを復旧できませんか? と聞いてみたところ、

OSを再インストールすることで復旧パーティションを作成することができます。公式にはそれ以外の方法はありません。

とのことであった。

つまり、OS X インストールアプリケーションを使ってもう一度はじめから(上書き)インストールし直すしかないということである。

たかだか550MBほどの復旧システムを書き込むために、10GBもあるOS全体を再インストールするなんて馬鹿げている。そんなことしたら内蔵SSDの寿命が縮まってしまうではないか。コセコセした性格の私はこういうことが気になって仕方ない。

アップルさん、復旧パーティションを復旧する機能を付けてくれんかね。と、要望を伝えておいた。多分、誰もこんなことで困ってないのでそんな機能は付いていないのだろうが、私は困っている。


この記事を書いた後で、もっと良い方法があることを発見した。簡単に済ませたい方は「復旧パーティションを再構築」を参照。

仕方がないので当座の解決策として、全く同じバージョンのOS Xがインストールされている別のMacから復旧パーティションを臓器移植する方法をとることにした。

まず、別記事「復旧パーティションをバックアップ」の手順で、復旧パーティションが存在する他のMacを使ってバックアップイメージを含む復旧用USBドライブを作成する。

復旧したいMacを復旧用USBドライブから起動してターミナルで次の手順を実行する。 ※少しでもミスをするとディスクがオシャカになる(データは全て消える)大変危険な操作なので、この説明を読んで何をやっているのか理解できない場合は実行せぬこと。

復旧パーティション(既存の復旧システムが格納されている領域)のサイズは論理ブロックにして1269536、650002432バイトである。 起動ディスク(起動ボリューム)のサイズをこの分だけ縮小する。

diskutilコマンドで、現在の起動ボリュームのサイズを確認し、

$ diskutil list disk0
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh HD            499.8 GB   disk0s2

$ diskutil resizeVolume disk0s2 limits
For device disk0s2 Macintosh HD:
        Current size:  499.8 GB (499762860032 Bytes)
        Minimum size:  156.4 GB (156435902464 Bytes)
        Maximum size:  499.8 GB (499762860032 Bytes)

Current size から復旧パーティションのサイズを引いた値を求める。

$ expr 499762860032 - 650002432
499112857600

求めた縮小後のサイズ(この例では499112857600)を指定してリサイズし、末尾に復旧パーティション(サイズ650002432)を追加する。

$ sudo diskutil resizeVolume disk0s2 499112857600 HFS+ "Recovery HD" 650002432
... 中略 ...
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh HD            499.1 GB   disk0s2
   3:                  Apple_HFS Recovery HD             651.0 MB   disk0s3

あとは追加したパーティションに対し、「復旧パーティションをバックアップ」に書かれているリストア手順に従って復旧パーティションのバックアップイメージを書き込む。

これで、復旧パーティションの復旧は完了である。

# diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh HD            499.1 GB   disk0s2
   3:                 Apple_Boot Recovery HD             651.0 MB   disk0s3

Macを再起動して command + R のキーコンビネーションで復旧システムが起動することを確認する。

0 件のコメント:

コメントを投稿