11月 092013
 

前回のエントリで「購入したー。FreeBSD 用の領域確保したー。」で、終わったのですが、ガマンできずに、ロクに下調べもせずに FreeBSD 用に確保した領域に FreeBSD/amd64 9.2-RELEASE をインストールしてみたのですが・・。

あたたた。 Windows8 がぶっ飛びました。 Windows と FreeBSD の両方がブートできなくなってしまいました・・。orz。
ThinkPad X100e に引き続き、またまたリカバリー領域のバックアップをしない状態で HDD 全初期化の運命です・・。orz。

 
この ThinkPad Edge e145 ってのは最新鋭の NotePC なんですね。その辺りのことをまるで意識していませんでした。 Windows8 がブートする NotePC なので起動は Windows7 世代の PC と同様の BIOS ではなく UEFI BIOS で、パーティション構成は GPT を利用しています。こんなの知らないよーみたいな・・f(^^;;。以下、 BIOS との格闘についてです。

 
1).USB デバイスからの OS の起動
まず、USB デバイスから OS をインストールするためにメモリとか CD/DVD から起動しようとするのですが、これがまた起動しません。orz。 BIOS の設定は二ヶ所。ここを変更してあげないと外部メディアからブートできません。

・USB UEFI BIOS Support を enable に
BIOS の Config メニューから USB を選択するとこのメニューがありますが、これが disable だと USB デバイスからブートしません。

・Secure Boot
これは UEFI BIOS の機能なのですね。 UEFI の場合はブート時のウィルス対策のためにできたメニューらしいですが、新規に OS をインストールする場合には disable にしないとダメです。

IMG_6038_e145_UEFI_1

あと、細かい点としては FreeBSD のインストールメディアを USB3.0 のポートに接続するとこれまたブートしません。OS インストール中は USB3.0 は disable にしておいたほうが良いかもです。

 
2). OS のインストールと起動
例えば Windows8 のみインストールする場合や FreeBSD を先にインストールした場合にはそれぞれがブートしてくれます。
Windows8 の場合は UEFI BIOS の Startup メニューから UEFI Only を選択すれば高速にブートする状態でインストールし、起動します。 FreeBSD の場合は Legacy Only にすればインストールできて起動もします。

しかしっ!! 一個がインストールできてもう一個の OS をインストールすると最初起動していた OS がブートしなくなり、結局二つの OS 共にインストールしたモノが起動しなくなりました。

試したのは以下の通り。インストールした OS の順番を意味し、その後どうなったか? を掲載しています。 FreeBSD は GPT パーティションを利用しました。

・Windows8 (起動) -> FreeBSD/amd64 9.2-R = 両方とも起動せず
・FreeBSD/amd64 9.2-R (起動) -> Windows8 = 両方とも起動せず
・Windows8.1 (起動) -> FreeBSD/amd64 9.2-R = 両方とも起動せず
・FreeBSD/amd64 9.2-R (起動) -> Windows8.1 = 両方とも起動せず
・Windows8.1 (起動) -> FreeBSD/amd64 10.0-BAETA3 = Windows8.1 は起動するが FreeBSD を起動する方法がわからない

一番最後のパターンは FreeBSD/amd64 10.0-BAETA3 が UEFI に対応したと小耳に挟んだのでトライしました。 UEFI BIOS は Both で UEFI/Legacy Boot Priority から UEFI First でインストールしました。
Windows8.1 から bcdedit を利用し Windows8.1 のブートマネージャからのブートを試みましがダメでした。

IMG_6037_e145_UEFI_2

この辺りの情報はまだあまりなくて、 OS 単体をインストールしたら起動したとか、仮想環境にインストールしたら起動したとかそんなんばっかりで、物理的な最新の PC にインストールしてマルチブートしたという情報がほとんど無いのが現状です。

本当にヒトバシラーだぁ・・。orz。

 
3). 何とか起動。ふぅ。
もぉヨワヨワです。UEFI BIOS の設定は以下にしました。

・Secure Boot: disable
・UEFI/Legacy Boot: Legacy Only

もう明らかに前世代の PC の BIOS じゃん。みたいな・・。ここに Windows7 をまずインストールしました。この環境でインストールする Windows7 はすごいですね。 MBR パーティションにインストールしているようです。

Windows7 インストール後に FreeBSD は /amd64 9.2-R をインストールした場合はインストール時に GPT パーティションでインストールしようとしているので Windows7 のパーティションが見えません。あららら。

と、いうことでインストールの手順は以下の通り。

1. FreeBSD/amd64 9.2-R を MBR パーティションでインストール
パーティション作成時に先頭の 230GB を NTFS として確保し、残りのディスクは MBR 形式で FreeBSD パーティションを確保します。 /dev/ada0s3a,b,c,d って感じですね;-)。これで FreeBSD のインストールは完了。

2. Windows7 のインストール
FreeBSD のインストール時に先頭 230GB を確保したのでここに Windows7 をインストールします。これはパーティションを新規割り当てするなど、フツーの手順通りで OK です;-)。

3. マルチブート
インストール後に再起動。まずは Windows7 が起動します。その後 bcdedit で FreeBSD が起動するように設定します。そして、その再起動後は Windows7 のブートマネージャから両方の OS がブートするようになるのでありました。ふぅ。

 
と、いうことで、なんとか無事に二つの OS が起動するようになりましたが UEFI BIOS の知識は十分に付けてからトライしたほうが良さそうですね。UEFI BIOS でハマった道を再確認。

・ USB デバイスからインストールメディアがブートしない
USB UEFI BIOS Support を enable にする。
Secure Boot を disable にする。

・UEFI+GPT 対応 OS
Windows8は レガシー BIOS と MBR に対応しているというんだけどそれではインストールできないみたい。 UEFI Only と GPT でしか扱えませんでした。
FreeBSD 10.0-BETA3 は UEFI Only でインストールできます。ただし、マルチブート時にどのようにしたら良いのかドキュメントが無い(少ない?)。
OS としてインストールしないのに Linux のブートローダを利用するのはイヤなので関連すドキュメント全く読んでません。
Windows8 や FreeBSD 9.2-R は単体でインストールして単体で利用する分には全く問題は無いと思います。

・Legacy BIOS+MBR でマルチブート
UEFI+GPT に対応したマルチブート環境化において、ブートローダ(ブートセレクタというのかな?)部分はどうしたら良いのか全くわからなかったので古い PC アーキテクチャで OS を利用る場合に良いかと思われます。

BIOS やパーティションレベルでの最新機能は必要なく、とりあえず「何はなくともマルチブート命」って人向けでしょうかね;-)。

 
今は Windows7 そっちのケで FreeBSD/amd64 9.2-RELEASE をいじっています。一応、 X まで起動して KDE4 が動き出しました。
Windows7 はここから Windows8.1 にバージョンアップできるのかなぁ? そーすると Legacy BIOS+MBR で一応動くことになると思うんだけど。

と、いうことで今回はここまでにします。二つの OS をマルチブートするための方法を書いてみました。FreeBSD 10 側でマルチブートのための機能とかあるのかなぁ? やっぱり OS は物理マシンにインストールしないとダメですねぇ;-)。

次回は FreeBSD について、動くデバイス・動かないデバイス・その他について書いてみたいと思います;-)。