windows 7 64bit と ubuntu 12.04LTS のデュアルブート環境の構築

 お仕事の環境のノートPC (UEFI BIOSThinkPad) を,"Windows7 64bit" と "ubuntu 12.04 LTS" のデュアルブートにしようとした話の顛末。

 

 まずは,windows を何も考えることなくクリーンインストール。この段階では legacy biosuefi の違いに無頓着だったため「デバイスのブートオーダーリストの順番を変えてUSB-CDを一番にしてもUSBにつないだDVDドライブからブートしねぇ」問題を試行錯誤的に(結果的に正しく)回避。

◎ 正解は,BIOSで boot を both (legacy デバイスからでも uefi デバイスからでもOK)とした上で,boot order を "legacy first" とすること

 はじめは全パーティションを window 7 で使うつもりだったので,ウィンドウズ上の「管理ツール」から「ディスクの管理」を選択し,パーティションを縮小。

◎ これもできることを知らなかった。便利になりましたねぇ…

 そして本題の ubuntu のインストールに移ろうとするが,ubuntuインストーラーからはインストール済みのwindowsはおろか,ディスクのパーティションが全く見えない状況が発生。ここで丸2日ほど停滞。

 これはどうも,windows の GPT ディスクが,MBRなディスク管理プログラムとの互換性を保つために protective MBR という領域をディスク先頭に書くことが理由のよう。それにより,ubuntu インストーラーで動作する gparted などでは本当はあるはずのuefiパーティション(この言葉遣いが正しいのか確信なし)が見えず,全体が1個のMBRパーティションとして見える(MSのドキュメントを見ると,そのMBRパーティションは使用済みマークがつくので「よくわからないまま既存のパーティション情報を消してしまうヒューマンエラーが回避できる」という主張のよう)ので,???となったということらしい。

 その回避策は,ubuntuforum.org にて発見した方法で,GPT対応のgdiskというユーティリティーを ubuntu においてインストールし,

> expert mode に変更(x を選択)

> GPT のテーブルをクリアするため,z を選択し,「最初の質問には Y,次の質問 (MBRの情報を消し去るか?)には N」を選ぶ

ことでwindowsインストール時に作ったパーティションが見えるようになる。

 後の手順はサクサクで,grubのインストールも問題ありませんでした。ただしデフォルトだと後入れした ubuntu が優先OSとなるので,windows メインの ubuntu サブとして使いたい場合はちょっと細工が必要だが,それは別稿にて。