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をインストールする

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

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

MBRにはWin8のbootコードが書かれる。
Bootフォルダ、bootmgr はプライマリ領域(partition 1) に作成される。(論理領域には作成されない)
partition 1 がシステムpartitionになる。
( 2 ) Win8環境にWin7をインストールする。
MBRはWin7で書き換えられてWin7ブートメニューのデュアルシステムになる。

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が壊れている。

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できるようになる。

( 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を起動できる。

( 5 ) Win8環境にfedora(grub2)をインストールする。
fedora(grub2)とwin8のデュアルシステムになる。
fredoraはMBRを更新して自動的にgrub2メニューにwin8を追加する。

( 6 ) fedora(grub2)をWin8でbootする。
win8ブートメニューのデュアルシステムにするには
bootsect /nt60 sys /mbr でMBRを書き換える。

この時点ではwin8だけがbootできるようになる。
win8ブートメニューでfedora(grub2)を起動できるようにするには
grub4dosの3ファイル grldr , grldr.mbr , menu.lst をセットする。
menu.lst に grub2の core.img を実行するように設定する。
bcdeditコマンドを使用して
win8ブートマネージャに grub4dos 起動エントリを追加する。

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

以上の作業でfedora(grub2)起動のデュアルシステムでwin8を起動できるようになる。
( 7 ) Win8環境にXPをインストールする。
MBRはXPののbootコードに書き換えられるので、Win8は起動できなくなる。
ntldr、boot.ini、NTDETECT.com(BOOTDETECT.com)、bootfont.bin
がシステムpartitionである partition 1 に作成される。

Win8のbootmgrで起動するには bootsect.exe コマンドでbootコードを置き換える。
bootsect.exe
/nt60 sys
※XPのntldrで起動するには bootsect.exe /nt52 sys を実行する。
bootsect.exe /nt60 sys 実行によりMBRはWin8のbootコードに置き換わる。

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にインストールするものとする。

起動すると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を選択して起動できる

( 9 ) fedora(grub)をWin8でbootする。
※この方法はfedora(grub2)では使用できない。
fedoraのbootloaderをPBR(Partition Boot Record)にインストールすると次のような環境になる。
この時点ではWin8だけが起動する。

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を選択して起動できる

( 10 ) Win8環境にgrub bootloaderを導入する。
下記のようなWin8環境を grub で起動できるようにする。

(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 を選択して起動できる。

end of list