2013年1月20日日曜日

如何にして私はBIOS+MBRからUEFI+GPTに移行したか 1

のはじまりは私が使用しているThinkpad x121e(3051)にWindows8を入れようとした時。
色々あってMicrosoftのエヴァンジェリストの方にWindows8のアプリ作成の基礎について
話を聞く機会があったので、私用(試用)に実機で試したいと思ったのがきっかけです。
過去に(これこれこれ)仮想環境では試したことがあったので実機は始めてでした。
(実はDeveloper PreviewをVHDにインストールして実機から起動したことはあるけれど)

なのでうっかり忘れてました。 Windows8はGPTパーティションでフォーマットするんでしたね。

インストール直前に気がついてインストールをキャンセルしましたがMBRが見事消えさりました。

(長め記事になりましたので分けました。 -> 2 )




悲劇ですね。喜劇ですね。



そのちょっと前にもうっかりrmコマンドを発行して/boot以下カーネルとinitramfsを消してしまったばかりなのに



まあそのときはLTのネタにさせてもらいました。


回のことです。
とりあえずGrubが消えたのがイタかったのでArchのインストールメディアを使います。
今回はchrootしてちょっと直してーといきません。
efiやgptをイマイチ理解してませんでしたしなにより勝手にgptのフラグ付けられてgrub-biosで
grub-installをしてもgrubが起動しません。
厄介。
これだからMS社は…(八つ当たり)
じゃあどうしよう、MBR領域一度リセットすりゃいいんかなとか適当に考えて適当に……
$dd if=/dev/zero of=/dev/sda bs=1 count=1
阿呆やらかしました。これでパーティション情報ごとどっかふっ飛ばしました。
もはやファイルシステムをマウントして救出することすらままなりません。
運よく、chrootするためにArchのファイルシステムもWindows(プリインストール)のファイルシステムもマウントしてたので速攻で外付けHDDにデータを退避。


TestDiskでとりあえずパーティションを復旧させます。
このとき、WindowsRE,Windows7,Arch(/boot, swap, /, /var, /home), Gentoo/FreeBSD
と大量にパーティション切ってました。
これを戻すのは面倒だ。
とりあえずプリインストールの環境に戻すことに。

WindowsRE,Windows7,Lenovo Recovery
というパーティションが見事復活。 Lenovo Recoveryの中身は戻るわけないですけど。

続く。