12月 202009
 

遅まきながら、我が家にも Windows7 がやってきました。PC で地デジが見たいよー。と思っても WindowsXP x64 では不可能なので、Windows7 の x64 にしてみた。と言うのが実情ですが。でもって、今回は、まず NotePC にインストールしてみました。 DELL の X1 と言うもうずいぶんと古い PC です。

CPU は PentiumM の 900MHz なので、Starter にしようか Professional にしようか悩んだのですが、ちょっと Professional で様子を見てみようと言うことにしました。なのでアクティベーションはなし。重かったら Starter に変更かなぁ。と言う感じです。あぁ。PentiumM は x86 Only です;-)。

で、インストールですが、今まで WindowsXP が入っていたパーティション(FAT32)をぶっつぶして NTFS で Windows7 をインストールしますが、いとも簡単に終わり、その段階では画面のドライバ(i915だと思うんだけどねぇ)が見あたらなかったのだけど、 update したら画面のドライバがインストールされた。後はサウンドチップ(FreeBSD 的に言うと SigmaTel STAC9752/53 AC97 Codec)のドライバだけど、これは DELL のサイトから Windows Vista 32bit ドライバを持ってきたら動作したので全然問題はありませんでした。

まぁ、Windows はどうせ検証のためだけ(の予定)でインストールしたのでここまで。この後 FreeBSD をブートしようとするんだけど、これがまた大変だったのでありました・・。

google などで検索すると、色々なサイトで bcdedit で情報書き込んでブートしようねぇ。と書かれているのですが Windows Vista 版のがほとんどなのねぇ。僕の Windows7 では以下のように打たないと FreeBSD は起動しませんでした。

c:¥ bcdedit /create /d "FreeBSD/i386" /application  bootsector
c:¥ bcdedit /set {ID} device partition=c:
c:¥ bcdedit /set {ID} path ¥freebsd.pbr
c:¥ bcdedit /displayorder {ID} /addfirst

 
{ID} ってのは /create したときに表示されるやつを指定します。

後、Windows Vista の bcdedit の場合って device boot って指定しようね。って、検索すると色々なサイトで書かれているのだけど Windows7 の場合、これではダメで、ブートセレクトで FreeBSD を選択した後に 0xc000000f なエラーコードで FreeBSD が起動してくれなかったりする。Windows7 の bcdedit では device partition=c: と指定するのが正しいみたいです。

bcdedit をオプションなしで実行すると起動設定が見えるので、Windows のブート情報と一緒にしてあげれば良いかなー。

ちなみに freebsd.pbr は /boot/boot1 を持ってくるんだけど、これまた当たり前で FreeBSD/i386 や FreeBSD/amd64 のどっちから持ってきても大丈夫です。md5 のチェックサムはどっちも一緒でした。手元に FreeBSD/i386 しかなくて、起動したいのは FreeBSD/amd64 ってときでも FreeBSD/i368 から /boot/boot1 を持ってきて c:¥freebsd.pbr にリネームして置けば大丈夫です。

で、FreeBSD はブートするんだけど、考えてみると Windows7 てパーティション二つ利用するのでブートメニューから FreeBSD が起動すると /etc/fstab の情報が一個ずれてしまうので Windows7 をインストールする前に FreeBSD の /etc/fstab は編集しておいたほうがラクチンかも;-)。まぁ、ufs:ad0s3a とかしてブートしてから /etc/fstab を直しても良いとは思うけど;-)。

今までは /dev/ad0s1 が Windows で /dev/ad0s2a が FreeBSD だった場合、 Windows7 をインストールした後は /dev/ad0s3a が FreeBSD の root になります。

とまぁ、今回は一番はまったのが bcdedit かなぁ。 これが一番時間がかかった・・。ふぅ。

と、言うことで NotePC での検証環境ができたので明日はメインで利用しているデスクトップに Windows7 の検証環境でも作るかなぁ。