遅まきながら、我が家にも 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 は起動しませんでした。
|
{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 の検証環境でも作るかなぁ。
んーー。AthlonX2 なデスクトップに Ultimate をインストールしたのだけど、やはり bcdedit ではまってしまった・・。orz。
今回の起動しないエラーコードは 0xc000000d というやつ。前回とは違うエラーコードですね・・。
で、原因ですが、freebsd.pbr の /set で記述が間違っていました・・。google で検索して出てきた設定をそのままカットアンドペーストしたのですが、”\freebsd.pbr” と指定するとき “\” が文字化けしている場合があるので、
bcdedit /set {ID} path ¥freebsd.pbr
の行だけはカットアンドペーストではなく、ちゃんと手で入力したほうが良いですね。DOS プロンプトって好きくないんだけど、Windows7 の DOS 窓はカットアンドペーストがずいぶんと楽になって、それにつられて・・。って感じです・・。orz
後、Windows7 Ultimate x64 のインストール時には BIOS の設定で AHCI を有効にしてインストールしました。サクっとインストールは完了。FreeBSD も AHCI に対応しているので全く問題はないです。
Windows7 インストール後に BIOS の設定を IDE モードに戻しても Windows7 でドライバが自動的にインストールされるので FreeBSD/Windows7 ともに AHCI/IDE モードのどちらでもブートするようになると思います。
ふー。ちかれた・・。けど、まだ MacOSX SL の BootCamp へのインストールが残っているんだよなぁ・・。
ちなみに FreeBSD を default ブートにする場合は以下のコマンドオプションで大丈夫ですねー。
bcdedit /default {ID}
{ID}は FreeBSD 側の ID を指定します。 bcdedit コマンドをオプション無しで叩くと ID が解ります。
えがったえがった;-)。
Windows7 を MacOSX SL に。
MacOSX Snow Leopard(以降 “MacOSX SL” と記述しま…
ThinkPad X100e に SSD 装着そして Windows8 をテスト。
普段から利用している ThinkPad X100e ですが、こいつは Windo…
[…] ルチブート インストール後に再起動。まずは Windows7 が起動します。その後 bcdedit で FreeBSD が起動するように設定します。そして、その再起動後は Windows7 のブートマネージャから両方の OS […]
[…] 以前、このブログでも BIOS+MBR 環境のときに bcdedit を利用して、Windows Boot Manager から Windows と FreeBSD をブートしていましたが、 UEFI+GPT の場合は Windows Boot Manager が利用できません。 UEFI+GPT […]