ブラウザ/OS Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
IP アドレス 18.116.47.111

DualBoot Win7 - Fedora
update 2011-05-25
Win7とFedoraのDualBootを要約したものであるが、他のOSの場合でも適用できる。
FedoraはFedora15をあらわしている。

A. FedoraのGrubを使用する方法

図1と図2は、先にWin7をインストールした後でFedoraをインストールした状態をあらわしている。
先にインストールしたWin7のMBRは、後でインストールしたFedoraで置き換えられている。

図1は1台のHDDでのデュアルブートをあらわしている。
図2は2台のHDDでのデュアルブートをあらわしている。(FedoraをインストールしたHDDのMBRが無色なのは、このHDDにはbootフラグが 設定されていないので単独ではbootできない状態であることをあらわしている)
どちらの場合も、FedoraはGrubブートローダを使用してデュアルシステムを自動的に作成する。

dualboot12.gif

Fedoraのgrub.conf には Win7のboot方法が次のように設定されている。

title Other
     rootnoverify (hd0,0)
     chainloader +1


B. Win7のBootmgr(ブートマネージャ)を使用する方法

図3と図4は、先にFedoraをインストールした後でWin7をインストールした状態をあらわしている。
図4のWin7をインストールしたHDDのMBRが無色なのは、このHDDにはbootフラグが設定されていないので単独ではbootできない状態である ことをあらわしている。
先にインストールしたFedoraのMBRは、後でインストールしたWin7で置き換えられている。
Win7はFedoraとのデュアル構成のことは考慮しないので、Win7しか起動できない状態になってしまう。
したがってFedoraとのデュアルブートを行なうには以下のような手順で作業する。

dualboot34.gif

ここではUSBメモリ(デバイス:/dev/sdcに作成したFAT32の領域:/dev/sdc1)を使用するものとする。
Fedoraの/mntおよび/mediaフォルダを使用している。
出力するファイル名は任意であるが、ここではfedora.imgとする。

1. Fedoraをインストールする。
2. FedoraのPBR(Partition Boot Record)にGrubをインストールする。
# grub-install /dev/sda1
3. FedoraのPBRをファイル化してUSBメモリにコピーする。
# dd if=/dev/sda1 of=/mnt/fedora.img bs=512 count=1
# mount /dev/sdc1 /media
# cp /mnt/fedora.img /media/fedora.img
# umount /media
4. Win7をインストールする。
Win7がMBRを置き換えるので、この段階ではWin7しか起動できない状態になる。
5. 作成しておいたfedora.imgファイルを C:\ にコピーする。
6. Win7のbcdedit.exeを使用してBootmgrにFedoraブート用のエントリを作成する。
{GUID}とはエントリIDを意味している。
(1)Fedora起動用のエントリを作成する。
※名前にスペースを含む場合は "Entry Name" のように囲んで入力する。
bcdedit /create /d "Fedora" /application BOOTSECTOR
ここでエントリIDとして割り当てられた{GUID}が表示される。
(2)コピーしたファイルが置いてあるデバイス(ドライブ)を指定する。
bcdedit /set {GUID} device partition=c:
(3)コピーしたファイルが置いてあるPATHを指定する。
bcdedit /set {GUID}  PATH \fedora.img
(4)エントリをメニューの最後部に追加表示する。
bcdedit /displayorder {GUID} /addlast
以上でエントリの追加は終了。
(5)ブートメニューを20秒間表示する設定をおこなう。
bcdedit /timeout 20
(6)bcdeditを終了させる。
exit

PCを起動するとWin7ブートマネージャが表示され、メニューからFedoraが起動できる。

参考メモ:
エントリの確認は bcdedit (パラメータに何も指定しないで bcdedit.exeを実行すればいい)
エントリの削除(delete)は bcdedit /delete {GUID}
既知の識別子( {ntldr} など)を削除する場合は /f オプションを付ける。
bcdedit /delete {ntldr} /f
 

C. 別々のHDDに独立してインストールしてWin7 BootmgrでFedoraを起動する方法

図5のようにMBRがそれぞれのHDDに存在する構成になっているものとする。
Win7 Bootmgr(ブートマネージャ)だけではFedoraを起動することはできない。
そこでGRub4Dosを利用してWin7 BootmgrからFedoraを起動できるようにする。

dualboot5.gif
Win7での作業手順の要約は次のようになる。
1. Grub4Dosをダウンロード・展開する。
必要なファイルはgrldr、grldr.mbr、menu.lstの3つである。(C:\にコピーしておく。)
※ここではWin7のSystem Reserved領域(100MB)はインストール時に作成しない環境を作ってあるものとする。
したがってWin7のドライブ:C は(hd0,0)に該当する。(System Reserved領域が存在する場合は(hd0,1)に該当することになる)
2. Win7のブートメニューにブートエントリを追加する。
bcdedit /create /d "Grub for Dos" /application bootsector  <-エントリを追加
bcdedit /set {xxxx} device partition=C:  ブートローダ(grldr.mbr)の置いてあるドライブを指定
bcdedit /set {xxxx} path \grldr.mbr  <-  ブートローダ(grldr.mbr)の置いてあるPathを指定
bcdedit /displayorder {xxxx} /addlast  <-ブートメニューの最後部に追加
3. menu.lstを次のように作成する。
#シンプルなメニュー設定例
#ここでは(hd1,0)のFedoraをbootしている。
color white/blue yellow/cyan
timeout 20
default 0
#
title Fedora on (hd1,0)
   root (hd1,0)
   kernel xxxxx   <- Fedoraのgrub.confのkernel 記述部分をコピーする。
   initrd  xxxxx   <- Fedoraのgrub.confのinitrd 記述部分をコピーする。
4. 以上の設定でWin7を起動すればDualBootメニューが表示される。
メニューの"Grub for Dos"を選択すれば"Fedora on (hd1,0)"が表示されたGrubメニューが表示されるのでFedoraを起動できる。

D. 別々のHDDに独立してインストールしてFedoraのGrubでWin7を起動する方法

HDDが独立しているので、Win7, Fedoraのインストール順番は関係がない。
図6のようにboot情報を持つMBRがそれぞれに存在する構成になる。
FedoraのGrubでmap指定を行なってremapすればWin7を起動させることができる。

dualboot6.gif

次の設定をFedoraのgrub.confに記述すればWin7をbootできる。
title Win7
   map (hd0) (hd1)    <- この記述は無くても動作する
   map (hd1) (hd0)
   rootnoverify (hd1,0)
   chainloader +1

PCを起動するとGrubメニューが表示され、メニューからWin7が起動できる。

※GRUBでは(デバイス , パーティション)、kernel、initrdを指定すればbootできるので、たとえば次のような構成でのFedoraXXを起動させることもで きる。

dualboot6-1.gif

次の設定をFedoraのgrub.confに記述すればFedoraXXをbootできる。
title FedoraXX
   root(hd1,0)
   kernel ・・・・・ FedoraXXのgrub.confの内容と同じものを記述する。
   initrd ・・・・・ FedoraXXのgrub.confの内容と同じものを記述する。

※configfileコマンドを使用してGRUBメニュー(grug.confファイル)を呼ぶ方法もある。
デバイス/フォルダ/ファイルを記述してフルPATHを指定する形式なので、デバイスの後部にspaceを付けてはいけない。
title FedoraXX(call menu)
    configfile  (hd1,0)/boot/grub/grub.conf


E. BIOSで起動HDDを切り替える方法

PC起動時にBIOSでHDD起動順を切り替える。
起動優先順の高いHDDのOSがbootする。
この方法はWin7,Fedoraには何も手を加えないで済む、というメリットがある。

dualboot7.gif

F. スイッチでHDD電源を切り替える方法

HDDへの電源供給を スイッチで切り替えてPCを起動する。
※電源ONのHDDだけしか動作していないのでデュアルブートではない。
 この方法はHDDが完全に独立して起動できる、というメリットがある。

dualboot8.gif


マ ルチブート

例:1台のHDDでのマルチブート
WinXP、WinVista、Win7、Fedoraの順にインストールする。
最後にインストールしたFedoraはMBRを置き換えてマルチブート環境を自動的に作成する。

multi-1.gif
FedoraのGrubを使用した場合のgrub.confは次のようになる。
Windowsの各OSはWindows BOOTMGR(ブートマネージャ)を経由してbootすることになる。

title Fedora
   root (hd0,4)
   kernel ・・・・・kernel を記述する
   initrd ・・・・・initrd を記述する
title Windows BOOTMGR (XP,Vista,Win7)
   rootnoverify (hd0,0)
   chainloader +1

例:別々のHDDに各OSをインストールしたマルチブート

multi-2.gif

FedoraのGrubを使用した場合のgrub.confは次のようになる。
Windowsをbootする場合はmapコマンドでremapしている。

title Fedora
   root (hd0,0)
   kernel ・・・・・kernel を記述する
   initrd ・・・・・initrd を記述する
title WinVista
   map (hd1) (hd0)
   rootnoverify (hd1,0)
   chainloader +1
title Win7
   map (hd2) (hd0)
   rootnoverify (hd2,0)
   chainloader +1
title WinXP
   map (hd3) (hd0)
   rootnoverify (hd3,0)
   chainloader +1

例:別のHDDにあるマルチブート環境のOSをbootする

FedoraXXのGrubブートローダで別のHDDにあるWindows BootマネージャやFedoraをbootする。

multi-3.gif
FedoraXXのgrub.confにて次のように設定する。
Windowsの各OSはWindows BOOTMGR(ブートマネージャ)を経由してbootすることになる。
Windowsをbootする場合はmapコマンドでremapしている。

title FedoraXX
    root (hd0,0)
    kernel ・・・・・kernel を記述する
    initrd ・・・・・initrd を記述する
title Fedora
    root (hd1,4)
    kernel ・・・・・ Fedoraのgrub.confと同じ内容を記述する
    initrd ・・・・・ Fedoraのgrub.confと同じ内容を記述する
title Windows BOOTMGR(XP,Vista,Win7)
    map (hd1) (hd0)
    rootnoverify (hd1,0)
    chainloader +1

※configfileコマンドを使用してFedoraのGRUBメニューをcallする方法もある。
title Fedora(call menu)
    configfile (hd1,4)/boot/grub/grub.conf

例:BootLoaderを独立させる

BootLoaderを独立させ、すべてのbootデバイスをBootLoaderのメニューから起動する構成とする。
※実際に使用してみると、この方法は構成の自由度が高く、構成の変更にも柔軟に対応できる。
multi-4.gif