ThinkPad X201にPC-BSDをインストール
中古でThinkPad X201を購入した。
CPUはIntel Core i5 540Mでメモリ2GBのHDD 250GBである。ちなみにIBM公認の中古PCである(なんでlenovo製なのにIBMがリフレッシュしているのか不明)。
OSはWindows 7 Professionalを搭載している。
ずっとFree BSDが使いたかったので、より簡単そうなPC-BSD 10.0.3をインストールすることにしたが、Windowsを捨てるわけにもいかないので、デュアルブートにする。
手順を忘れないためにメモしておく。
パーティションの設定
PC-BSDはプライマリパーティションにしかインストールできないので、Windowsの管理ツールで予め作っておく。
Cドライブを60GBほど縮小して、その60GBにPC-BSDをインストールする。ただし管理ツールではプライマリパーティションを作成できないので、空けた60GBには管理ツールから何かを設定することはない。
その後、Powershellなりコマンドプロンプトから、diskpartを起動する。UACが動作する。
list disk
でディスク番号を確認し、
select disk 0(ディスク番号)
create partition primary
と入力して終わり。
PC-BSDのインストール
isoイメージをダウンロードし、USBWriter(http://sourceforge.net/projects/usbwriter/)でUSBフラッシュメモリに書き込む。USB2.0でどのくらい時間がかかるかハラハラしたが(isoイメージは3GB以上ある)、10分もかからなかった。理論値480Mbps、どのくらい出ていたのか。
ThinkPadにUSBメモリをつなぎ、起動。画面の指示通りにThinkVantageボタンを押し、通常の起動を妨げる(電源ボタンを押して1秒程度の間に急いで押す)。そうすると、英語のメニューで、一時的に起動場所を変えるならF12を押せと出るので、F12を押し、USBを指定する。
インストーラは日本語対応でGUIなので特に困らないが、インストール先は先に用意したパーティションを用いる。サイズを覚えておくと特定しやすい。間違えるとWindowsが吹っ飛ぶのだろうか。
インストールが終わると再起動だが、終了しないでフリーズしてしまった。電源ボタン長押しで問題は無かったと思っている。
日本語設定
ログイン画面で左下に出てくるロケールとキーボードの設定をここで直しておく。US配列のままユーザアカウントを作成してしまったので、パスワードがキーボード通りにならず、ログインできなくて慌ててしまった。結局読み替えて入力している。
デスクトップはfluxboxを選択した。理由は何度やってもキーボードが日本語配列にならないからである。
日本語変換はmoacがインストールされているので、タスクバーのibusから設定できた。
Windowsを起動する
購入当初は、Windowsとシステムリカバリのどちらかを選択するブートセレクタが動いていたが、PC-BSDをインストールしたらこの画面が出なくなってしまった。
ブートローダがGNU GRUB2に書き換わっているためであった。
GRUB2の起動メニューにWindows 7を追加するのに時間がかかった。
GRUB2の起動メニューで、cを押す(デフォルトだと2秒後にPC-BSDが起動してしまうので素早くやる)
コマンドメニューが出てくるので、
root (
と書いて、タブを押しまくると、
root (hd0
などと出てくるので、カンマを加えてまたタブを押しまくると、パーティションの一覧が出てくる。
ここで、Windowsが入っているパーティションの名前を記録する。
hd0,msdos2
などとなっているはずである。また、システムリカバリ用のパーティションも覚えておく。hd0,msdos1だった。
PC-BSDを起動し、/boot/grub/brub.cfgをroot権限で開き、こう追加する。
menuentry 'Windows 7'{ insmod ntfs set root='(hd0, msdos2)' drivemap -s (hd0) ${root} chainloader +1 }
そして再起動。
Windowsが起動するかと思いきや...
BOOTMGR is missingというエラーメッセージである。
Windowsのブートローダが消えていたために起動出来なくなってしまった。
調べるとWindowsのCDからコピーする人が多いがそんなものはないので、システムリカバリーのパーティションから持ってくることにした。
従って、
menuentry 'Windows 7'{ insmod ntfs set root='(hd0, msdos1)' drivemap -s (hd0) ${root} chainloader +1 }
と書き換えて終了。
Windowsのブートセレクタまで起動する上に選択時間が30秒もあるので、これはWindowsのコントロールパネルから2秒に短縮しておいた。
コントロールパネル>システム>システムの詳細設定>詳細設定タブ>起動と回復>設定