install と bootloader
update 2012-10-26

目次

( 1 ) Win8をインストールするパーティションとboot情報(Bootフォルダ,bootmgr)。

( 2 ) Win8環境にWin7をインストールする。
( 3 ) Win8のboot情報を作成する(bcdbootコマンド)。
( 4 ) Win8環境にgrub2 bootloaderを導入する。
( 5 ) Win8環境にfedora(grub2)をインストールする。
( 6 ) fedora(grub2)をWin8でbootする。

以下は レガシー(Legacy)情報
( 7 ) Win8環境にXPをインストールする。
( 8 ) Win8環境にfedora(grub)をインストールする。
( 9 ) fedora(grub)をWin8でbootする。
( 10
Win8環境にgrub bootloaderを導入する。


留意事項

Win8インストール時に「システムで予約済み領域」は作成しない方法でインストールしているものとする。
ディスクの拡張領域をここでは partition 4 とあらわしている。
Win8のシステムpartition を操作する場合は、Win8インストールDVD(またはシステム修復ディスク)起動でコマンドプロンプトで行なう。
fedoraのシステムpartitionを操作する場合は fedoraインストールDVD起動で Rescue モードの shell で行なう。



( 1 ) Win8をインストールするパーティションとboot情報(Bootフォルダ,bootmgr)。


A.partition 1(プライマリ領域)にWin8をインストールする

case1.png
MBRにはWin8のbootコードが書かれる。
Bootフォルダ、bootmgr は partition 1 に作成される。(partition 1 がシステムpartitionになる)

B.partition 2(プライマリ領域)にWin8をインストールする
case2.png
MBRにはWin8のbootコードが書かれる。
Bootフォルダ、bootmgr は partition 2 に作成される。(partition 2 がシステムpartitionになる)

C.partition 5(論理領域)にWin8をインストールする
case3.png
MBRにはWin8のbootコードが書かれる。
Bootフォルダ、bootmgr はプライマリ領域(partition 1) に作成される。(論理領域には作成されない)
partition 1 がシステムpartitionになる。



( 2 ) Win8環境にWin7をインストールする。


MBRはWin7で書き換えられてWin7ブートメニューのデュアルシステムになる。

case13.png
Win8ブートメニューに変更するにはWin8インストールDVDでPC起動し,コマンドプロンプトで bcdboot にて下記の処理を行なう。
bcdboot c:\windows /l ja-JP つまり c:\windows フォルダの内容でブート情報を作成する。

Win7ブートメニューに戻すにはWin7インストールDVDでPC起動し,コマンドプロンプトで bcdboot にて下記の処理を行なう。
bcdboot d:\windows /l ja-JP つまり d:\windows フォルダの内容でブート情報を作成する。



( 3 ) Win8のboot情報を作成する(bcdbootコマンド)。

Win8 をインストール済みなのにbootできないということがある。
下図のようにMBRにbootコードがない、システムpartitionやbootloaderがないためである。

例えば次のような場合に発生する。
(1) 2台のHDDのデュアル構成で2台目のHDDを単独でboot しようとすると、このような状態になる。
(2) MBRやBootフォルダ,bootmgrが壊れている。
case11.png

bootできるようにするには次のようにする。
※インストールしたWin8(Windowsフォルダ)が壊れている場合は修復できない。(インストールし直すしかない)
※作業ミス防止のためWin8をインストールしたHDD 1台だけを接続した状態で作業する。

(1) Win8インストールDVD(またはシステム修復CD)で起動し、コマンドプロンプト画面で作業する。
※Win8(windowsフォルダ)がインストールされているドライブを dir コマンドで確認しておくこと。
この例ではドライブ C にwindowsフォルダが有ることを確認したものとする。

(2) diskpart でpartition 1 を activeにして bcdboot.exe で MBRを更新してブートローダーを作成する。
X:\Sources> diskpart  (diskpartを起動する)
DISKPART> list disk  (接続されているdiskの状態を表示する)
DISKPART> select disk 0  (1台目のHDDを選択する。disk番号は「0」から始まる)
DISKPART> select partition 1  (処理するpartition を選択する。partition番号は「1」から始まる)
DISKPART> active  (起動可能(active)にする)
DISKPART> exit  (diskpartを終了し、コマンドプロンプト状態にする)
X:\Sources> bcdboot c:\windows /l ja-JP  (ドライブCの\windowsの情報から日本語対応のブート情報を作成する。「/l」は「スラッシュ エル」である。「l」とは location(ロケーション)のことである)
X:\Sources> exit

これでWin8のboot環境は下図のようになり bootできるようになる。
case1.png



( 4 ) Win8環境にgrub2 bootloaderを導入する。

Win8 bootマネージャの替わりに grub2 でbootできるようにするものである。

※ここではfedora(grub2) rescue モード起動の shell で作業するものとする。

(1) fedora(grub2) rescue モードで起動し shell にて chroot /mnt/sysimage にて作業する。

(2) デバイスの状況を確認する。
fdisk -l

(3) Win8のシステムpartition(/dev/sda1)に fedora フォルダを作成する。
※Win8には Boot という名のフォルダが存在するので,区別するために fedora という名前にしているものである。
mkdir fedora

(4) Win8環境のMBRを元に戻すことを考慮してwin8.img ファイルに保存しておく。
dd if=/dev/sda of=/fedora/win8.img bs=512 count=1

(5) grub2をMBRにインストールする。
grub2-install --root-directory=/fedora /dev/sda
※「Installation finished. No error reported. 」と表示されればインストール正常終了。
※この段階でMBRは更新され、新規作成された /fedora  フォルダ内にシステムファイルが出力されている。
※この時点でgrub2は起動可能であるが、起動メニュー用の grub.cfg ファイルを作成しておく。

(6) vi コマンドを使用して grub.cfg ファイルを作成する。
vi /fedora/boot/grub2/grub.cfg
ファイルの内容は、次のとおり。
menuentry 'Win8 by grub2' {
set root=(hd0,1)
chainloader +1
}
※ vi コマンドの wq で grub.cfg を出力して処理終了。

(7) shell を終了させ インストールDVDを取り出してPC再起動する。

(8) 再起動するとgrub2メニューが表示され「Win8 by grub2」を選択するとWin8が起動する。

(9) grub.cfg を編集すれば任意 のOSを起動できる。
case12.png



( 5 ) Win8環境にfedora(grub2)をインストールする。


fedora(grub2)とwin8のデュアルシステムになる。
fredoraはMBRを更新して自動的にgrub2メニューにwin8を追加する。
case14.png



( 6 ) fedora(grub2)をWin8でbootする。

win8ブートメニューのデュアルシステムにするには
bootsect /nt60 sys /mbr でMBRを書き換える。
case15.png
この時点ではwin8だけがbootできるようになる。

win8ブートメニューでfedora(grub2)を起動できるようにするには
grub4dosの3ファイル grldr , grldr.mbr , menu.lst をセットする。
menu.lst に grub2の core.img を実行するように設定する。
bcdeditコマンドを使用して win8ブートマネージャに grub4dos 起動エントリを追加する。
case16.png
以上の作業でwin8起動のデュアルシステムでfedora(grub2)を起動できるようになる。

win8起動に変更した環境を再びfedora(grub2)起動に変更するには,grub2をインストールすればいい。
fedora rescue モードの shell にて作業する。
chroot /mnt/sysimage rootディレクトリを変更して作業する。
grub2-install /dev/sda にてMBRをgrub2起動に書き換える。
case14.png
以上の作業でfedora(grub2)起動のデュアルシステムでwin8を起動できるようになる。



( 7 ) Win8環境にXPをインストールする。

MBRはXPののbootコードに書き換えられるので、Win8は起動できなくなる。
ntldr、boot.ini、NTDETECT.com(BOOTDETECT.com)、bootfont.bin がシステムpartitionである partition 1 に作成される。

case4.png

Win8のbootmgrで起動するには bootsect.exe コマンドでbootコードを置き換える。
bootsect.exe /nt60 sys

※XPのntldrで起動するには bootsect.exe /nt52 sys を実行する。

bootsect.exe /nt60 sys 実行によりMBRはWin8のbootコードに置き換わる。
case5.png
Win8のブートメニューでXPをbootできるようにするには bcdedit.exe コマンドで bootエントリを追加する。
bcdedit /create {ntldr} /d "Windows XP"
bcdedit /set {ntldr} device partition=c:
bcdedit /set {ntldr} path \ntldr
bcdedit /displayorder {ntldr} /addlast



( 8 ) Win8環境にfedora(grub)をインストールする。

※fedoraのbootloaderはMBRにインストールするものとする。
case6.png
起動するとGrubメニューが表示され、fedora と Win8 を選択して起動できるようになる。

Win8のブートメニューで起動するには次のようにする。
※この方法はfedora(grub2)では使用できない。

(1) MBRをWin8のbootコードに置き換える
bootsect.exe /nt60 sys /mbr

(2) fedoraを Rescueモードで起動してGrubをPBR(Partition Boot Record)にインストールする。
grub-install /dev/sda2

(3) PBRをfedora.img ファイルとして作成し、Win8のシステムpartitionにコピーする。
dd if=/dev/sda2 of=fedora.img bs=512 count=1

(4) Win8にブートエントリを追加する。
※ {GUID} とは新規エントリに自動的に付く識別コード {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} のことである。
bcdedit /create /d "Fedora" /application BOOTSECTOR
bcdedit /set {GUID} device partition=c:
bcdedit /set {GUID} PATH \fedora.img
bcdedit /displayorder {GUID} /addlast
bcdedit /timeout 20

(5) PC起動するとWin8ブートメニューが表示され Win8とfedoraを選択して起動できる
case7.png



( 9fedora(grub)をWin8でbootする。
※この方法はfedora(grub2)では使用できない。

fedoraのbootloaderをPBR(Partition Boot Record)にインストールすると次のような環境になる。
この時点ではWin8だけが起動する。
case8.png

Win8ブートメニューにfedoraを追加するには次のようにする。

(1) fedora Rescueモードで起動し,shell で作業する。
fedoraのPBRをfedora.img ファイルとして作成し、Win8のシステムpartitionにコピーする。
dd if=/dev/sda5 of=fedora.img bs=512 count=1

(2) Win8にブートエントリを追加する。
※ {GUID} とは新規エントリに自動的に付く識別コード {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} のことである。
bcdedit /create /d "Fedora" /application BOOTSECTOR
bcdedit /set {GUID} device partition=c:
bcdedit /set {GUID} PATH \fedora.img
bcdedit /displayorder {GUID} /addlast
bcdedit /timeout 20

(3) PC起動するとWin8ブートメニューが表示され Win8とfedoraを選択して起動できる
case9.png



( 10 ) Win8環境にgrub bootloaderを導入する。

下記のようなWin8環境を grub で起動できるようにする。
case8.png

(1) fedora(grub) Rescueモードで起動して MBRにGrubをインストールする。
grub-install /dev/sda

(2) grub.conf にWin8を起動するメニューを追加する。

color white/blue yellow/cyan

default 0
timeout 20

title Windows8
root (hd0,0)
chainloader /bootmgr

title fedora
root (hd0,4)
kernel /boot/vmlinuz-xxxxx    <- grub.conf と同じ内容を記述する。
initrd /boot/initramfs-xxxxx.img   <- grub.conf と同じ内容を記述する。

(3) PC起動するとGrubメニューが表示され fedora と Win8 を選択して起動できる。
case10.png


end of list