Thinkpad X61 上でマルチブート環境を構築する

Thinkpad X61を、リカバリ領域をそのままに以下のようなマルチブート環境にしたのでその記録+薀蓄。

  1. Windows
  2. リカバリ領域
  3. Ubuntu

拡張パーティションを使わない状態で、Ubuntuのインストールをデフォルトのままで行おうとするには多分これが限界*1

前提

Thinkpad X61には、通常ノートPCに付属しているリカバリディスクがついていない。これは、X61光学ドライブを装備してないことに起因する。では、万が一PCの調子が悪くなり、復元したいときはどうすればよいのだろうか。X61では、HDDの隠しパーティションに工場出荷時のディスクイメージとリカバリソフトウェアを保持しており、ブート時*2に特定のボタンを押すことで、工場出荷時への復元を可能としている。多分*3

以上のことを要約すると、Linuxのインストール時に誤ってディスク全体を上書きしてしまうと、Windowsが上書きされるどころか、リカバリ領域をも上書きしてしまうのである。この状態で復元を行うには、サポートセンターに電話するしかない*4

では、どうしたらリカバリ領域をそのままにLinuxとマルチブートすることができるだろうか?

答えはシンプルで、Windowsのインストールされているパーティションサイズをリサイズし、小さくした上で空いた領域にLinuxをインストールすれば良い。以下の文章では、この方法について具体的に述べていく。

必要なもの

リカバリ用のディスクイメージとWindowsパーティションはそのまま残して、パーティションのサイズを変更するソフトが必要である。Thinkpadのドックがある場合はKnoppixに含まれているQtpated、ない場合は、Magic PartitionerなどのWindowsから起動できるパーティション管理システムで切れば良いと思う。

今回行った手順。

  1. Windowsをセットアップ(飛ばしてもいいかもしれない)
  2. KnoppixでCDブートし、Qtpartedという素敵ソフトでWindowsのインストールされているパーティションを縮小。
  3. 空いたパーティションUbuntuをインストール。

Ubuntuには、デフォルトで Grub という超高性能ブートローダがついている。なんと、インストール時にboot可能なパーティションを列挙してくれるので、デフォルト設定のままでもマルチブート自体は可能である。

ただし、デフォルト設定ではMBRは上書きされるので注意。

MBRをそのままに使用したいという場合

Ubuntuの場合、パーティションの設定の後に「以下の設定でインストールしますが宜しいですか」という確認画面が出てくるが、その際に表示される説明分の右下-「インストール」ボタンの上に「拡張...」というボタンがある。そこをクリックするとGrubのインストール先を指定する設定ダイアログが表示されるので、以下のように設定を変更する。。

  • (hd0)と書いてある*5箇所を、(hd0,1)に変更*6

というわけで、上記手順によりThinkpadリカバリ可能なマルチブート環境になった。

参考文献

Grubインストール時の先頭領域の使い方 http://www.geocities.co.jp/SiliconValley-Bay/3897/grub/grub-6.html
Qtparted の使い方 http://www.thinkpad-lover.org/main5/QTParted.htm

脚注とか

*1:拡張パーティションを使用しない場合、パーティションの最大数は4つである。Ubuntuはデフォルトインストールではswap領域と/(ルート)領域の2つのパーティションを使用するので、限界という表現をした。

*2:具体的には、リカバリマネージャを起動するにはThinkVantageボタンを押してね!と出たとき

*3:というのは、X61の起動時の挙動から勝手に推測しているためだ

*4:対応してくれるか知らないけれど-調べていないので

*5:これはhd0のMBRに直接書き込みの意。

*6:ということに後程気づいた。気付いた原因がUbuntuのインストールされているパーティションの先頭セクタにGrubの形跡がない(dd if=/dev/sda1 of=~/mbr;less ~/mbr count=1 したら、先頭セクタがからっぽだった)からという、、、まぁ動くから良いのだけれど。WindowsMBRを書き換えない方法についてはhttp://d.hatena.ne.jp/np90/20080424/1209045646を参照すると良いと思う。