OSのマルチブート環境の構築
複数のOSをマルチブート出来る環境を構築する (2009/04/19)
Windows XP Windows Vista CentOS Fedora Solaris.....
想定するコンピューターの構成
BIOS |
ブートディバイスの順序設定
HDD #1
HDD #2 |
HDD
#1 |
|
|
|
partition
1
|
partition
2 |
partition
3 |
partition
4 |
|
HDD
#2 |
|
|
|
partition
1
|
partition
2 |
partition
3 |
partition
4 |
|
各HDDに存在する
のパーティションは、MBR のパーティション管理部でアクティブ指定がされている
パーティションを表す。 (アクティブパーティションは、各HDDで 指定されないかあるいは1箇所のみ)
MBR:マスターブートレコード(Master Boot Record)
ハードディスクドライブの先頭セクタで 512バイト
PBR:パーティションブートレコード(Partition Boot Record)
パーティションの先頭セクタで 512バイト。 (OSのブートローダーが記録されているブートセクタ)
|
上記構成でのブートの条件は、BIOS(拡張 int13h)を使用して起動する方式を採用している事。
パーティションの作成とアクティブパーティションを設定する為に、HDD#1 を外した状態(HDD#2のみ)で、
WindowsXP をHDD#2 の partition 1 にインストール後、HDD#1 を接続し、HDD#2 をBIOS設定で、最初に
起動するHDDとして設定。(一般的な通常のOSインストール手順)
(2台のHDDを接続したまま、ブートの優先順位の変更を行うだけでも良いが、操作ミスをなくす為の処置)
WindowsXP を立ち上げ、上記構成を構築する為にパーティションの作成(NTFSのフォーマット処理を含む)と、
アクティブパーティション設定後、BIOS の起動優先順序の設定を HDD#1、HDD#2 の順に再設定した状態。
Windows 系では、パーティションをフォーマットすると、フォーマットしたOSのローダーがPBRに書き込まれる。
説明の都合上、全てをプライマリーパーティションとして構成(アクティブパーティションの切り替え利用の為)
BIOS 設定では、CD/DVD-ROM ドライブのブートの優先順位がHDDより高く設定されている事も条件。
また、MBR、PBR のバックアップ(ファイル化)の為に、Fedora 10 の LiveCD を用意すること。
LiveCD は、起動時間や操作性に問題があるので、 LiveCD を USB メモリー対応させたツールを
用意することが望ましい。
作成方法は、Windows
環境で Fedora 10 LiveUSB を作成する手順を参照すれば容易に理解可能。
Windows のインストールに関連する挙動を確認する。
Windows のブートシーケンス
BIOSは、BIOS設定の起動順序に従い HDD#1 の MBR のプログラム部に記録されている
ローダープログラムを読み込み制御を渡す。 MBR のローダープログラムはHDDのアクティブ
パーティションの PBR に記録されているローダープログラムを読み込み制御を渡す。
PBR のローダープログラムはアクティブパーティション内のOS本体をロードするプログラム
(ntldr/bootmgr)を読み込み制御を渡し、OSの起動を行う。
BIOS |
ブートディバイスの順序設定
HDD #1
HDD #2 |
HDD
#1 |
|
|
|
partition
1
|
partition
2 |
partition
3 |
partition
4 |
|
HDD
#2 |
|
|
|
partition
1
|
partition
2 |
partition
3 |
partition
4 |
|
|
HDD #2 の partitin 3 に Windows をインストールする事で、その挙動を調べる。
1、BIOSの設定は、HDD#1 の方が、HDD#2 より、ブートの優先度が高い。
2、HDD#1のアクティブパーティションは、partition 2 に設定済み。(HDD#2ではpartition 1 がアクティブ)
3、1、2、の条件下で、HDD #2 の partition 3 に Windows XP をインストールする。
4、インストールは、コンピュータに接続されている CD/DVDーROM から行う。
(BIOSの設定で、ブートの順番はHDDより先に指定されている事)
5、HDD#2 の partitin 3 へのインストールは、CD/DVD からOSのインストーラーを起動し、
各種設定の途中でインストール先を聞いてくるので、HDD#2 の partitin 3 を指定する。
この条件で Windows XP をインストールすると、次の操作が行われる。
1、BIOSで指定されている最初に起動する HDD (HDD #1) の MBR
に "PBRに記録されている
プログラムを読み込み制御を移すためのローダープログラム"(IPL)が書き込まれる。
このローダープログラムは、XP/Vista/GRUB のいずれの PBR も読み込むことができる。
(MBRに書き込まれるローダーは、XPとVistaでは異なっているが流用可能。)
2、MBRのパーティション情報でアクティブに指定されているパーティション (HDD #1
partition 2)
の
PBR
に "OS の読み込みに関与するプログラム"
(XP では最終的に ntldr が読み込まれる)を書き
込む。
アクティブパーティションには OS の起動に必要な各種ファイル
(ntldr、boot.ini、.......) が
書き込まれる。
3、OS のインストーラーで指定したパーティション(今回は HDD#2 の partitin 3)に、OS本体と一連の
ソフトウエアが書き込まれる。
4、この状態で、WindowsXP を起動すると、HDD #1 partition 2 に C:
が割り当てられる。 OS 本体が
インストールされたパーティションには異なる ドライブレターが 割り当てられる。 今回は動作確認用の
テスト目的でインストールしているので、この構成であるが、本来はトラブルを避ける為に、OS の起動
用ソフトが格納されるディレクトリーに、OS 自体もインストールするのが好ましい。
Windows XP のインストールが完了した状態
BIOS |
ブートディバイスの順序設定
HDD #1
HDD #2 |
HDD
#1 |
M
B
R |
|
P
B
R
|
ntldr
boot.ini
....... |
|
|
|
|
|
|
partition
1
|
partition
2 |
partition
3 |
partition
4 |
|
HDD
#2 |
M
B
R |
|
|
P
B
R |
XPのインストール済み
パーティション |
|
|
|
|
|
partition
1
|
partition
2 |
partition
3 |
partition
4 |
|
|
この時点で、HDD#1 の MBRとPBR をバックアップ。 Fedora
10 LiveUSB を起動して、バックアップします。
dd
if=/dev/sda of=MBR_XP bs=512 count=1
dd if=/dev/sda2 of=PBR_XP bs=512 count=1
cp PBR_XP
WinXP.PBR
引き続き、Windows Vista のインストールを行う。 Windows XP との競合を避ける為に HDD #1 の partitin 3 を
アクティブに変更し、Vista のブートに関連するファイルが HDD #1 の partitin 3 にセットアップされるように変更。
OS の本体は、HDD #2 の partitin 4 にインストールされるようにする。
本来ならば、ブート関連ファイルのインストールされたディレクトリに OS 本体もインストールするのが望ましいが、
テストでインストールするので、別ディスクのパーティションにインストールする。
Vista のインストール用に、パーティションのアクティブフラグの設定方法で、
記載した方法や、GUI ベースの
%SystemRoot%\system32\diskmgmt.msc を用いて、HDD #1 の partitin 3 をアクティブに変更する。
Windows Vista のインストール予定の構成
BIOS |
ブートディバイスの順序設定
HDD #1
HDD #2 |
HDD
#1 |
M
B
R |
|
P
B
R
|
ntldr
boot.ini
....... |
|
P
B
R |
Vista
の boot
関連ファイル
|
|
|
|
|
|
partition
1
|
partition
2 |
partition
3 |
partition
4 |
|
HDD
#2 |
M
B
R |
|
|
P
B
R |
XPのインストール済み
パーティション |
|
P
B
R
|
Vistaのインストール予定
パーティション |
|
|
|
|
partition
1
|
partition
2 |
partition
3 |
partition
4 |
|
|
HDD #2 の partitin 4 に Windows Vista をインストールする。
1、BIOSの設定は、HDD#1 の方が、HDD#2 より、ブートの優先度が高い。
2、HDD#1のアクティブパーティションは、partition 3 に設定済み。(HDD#2ではpartition 1 がアクティブ)
3、1、2、の条件下で、HDD #2 の partition 4 に Windows Vista をインストールする。
4、インストールは、コンピュータに接続されている CD/DVDーROM から行う。
(BIOSの設定で、ブートの順番はHDDより先に指定されている事)
5、HDD#2 の partitin 4 へのインストールは、CD/DVD からOSのインストーラーを起動し、
各種設定の途中でインストール先を聞いてくるので、HDD#2 の partitin 4 を指定する。
この条件で Windows Vista をインストールすると、次の操作が行われる。
1、BIOSで指定されている最初に起動する HDD (HDD #1) の MBRに "PBRに記録されている
プログラムを読み込み制御を移すためのローダープログラム"(IPL)が書き込まれる。
このローダープログラムは、XP/Vista/GRUB のいずれの PBR も読み込むことができる。
(MBRに書き込まれるローダーは、XPとVistaでは異なっているが流用可能。)
2、MBRのパーティション情報でアクティブに指定されているパーティション (HDD #1 partition 3)
PBR
に "OS の読み込みに関与する(Vistaでは最終的に bootmgr が読み込まれる)を
書き込む。アクティブパーティションには OS の起動に必要な各種ファイル(bootmgr、\boot.)
が書き込まれる。
3、OS のインストーラーで指定したパーティション(今回は HDD#2 の partitin 4)に、OS本体と一連の
ソフトウエアが書き込まれる。
4、この状態で、Windows Vista を起動すると、HDD #2
partition 4 に C:
が割り当てられる。
HDD #1 のアクティブパーティションには、異なる ドライブレターが 割り当てられる。(この例では D:)
Windows Vista のインストールが完了した状態
BIOS |
ブートディバイスの順序設定
HDD #1
HDD #2 |
HDD
#1 |
M
B
R |
|
P
B
R
|
ntldr
boot.ini
....... |
|
|
|
|
|
|
partition
1
|
partition
2 |
partition
3 |
partition
4 |
|
HDD
#2 |
M
B
R |
|
|
P
B
R |
XPのインストール
済み
パーティション |
|
P
B
R
|
Vistaのインス
トール済み
パーティション |
|
|
|
|
partition
1
|
partition
2 |
partition
3 |
partition
4 |
|
|
この時点で、HDD#1 の MBRとPBR をバックアップ。 Fedora
10 LiveUSB を起動して、バックアップします。
dd
if=/dev/sda of=MBR_Vista bs=512 count=1
dd if=/dev/sda3 of=PBR_Vista bs=512 count=1
cp PBR_Vista
Vista.pbr
引き続き、CentOS
のインストールを行う。 Windows XP / Vista との競合を避ける為に HDD #1 の partitin 4 を
アクティブに変更し、CentOS を HDD #1 の partitin 3 にセットアップする。
( CentOS、Fedora、Solaris 等 はGRUB というローダーを使用して OS を起動するので、あるOS が インストール
した GRUB を共用して、統合する事が可能。 また、GRUB を MBR にインストールした場合は、パーティションの
アクティブフラグを参照しないので、今回行うマルチブートの方式は利用できなくなる。 GRUBでの統合運用は可能)
ブートローダー(GRUB)は、HDD #1 の partiton 4 にインストールする。 Windows XP/Vista が MBR に書き込む
ローダープログラムは、partitin 4 (PBR) に書き込まれた、GRUB をロード出来るのでアクティブパーティションを
変更するだけで、所望する OS を起動出来るようになる。
(最終的には、各 OS から相互起動な可能な設定にするが、初期はアクティブパーティションの変更による方式)
CentOS のインストール用に、パーティションのアクティブフラグの設定方法で、HDD #1 の partitin 4 をアクティブ
に変更する。
CentOS のインストール予定の構成
BIOS |
ブートディバイスの順序設定
HDD #1
HDD #2 |
HDD
#1 |
M
B
R |
|
|
P
B
R |
ntldr
boot.ini
....... |
|
|
|
|
|
partition
1
|
partition
2 |
partition
3 |
partition
4 |
|
HDD
#2 |
M
B
R |
|
|
P
B
R |
XPのインストール済み
パーティション |
|
P
B
R
|
Vistaのインストール済み
パーティション |
|
|
|
|
partition
1
|
partition
2 |
partition
3 |
partition
4 |
|
|
HDD #1 の partitin 4 に CentOS をインストールする。
1、BIOSの設定は、HDD#1 の方が、HDD#2 より、ブートの優先度が高い。
2、HDD#1のアクティブパーティションは、partition 4 に設定済み。
3、1、2、の条件下で、HDD #1 の partition 4 に CentOS をインストールする。
4、インストールは、コンピュータに接続されている CD/DVDーROM から行う。
(BIOSの設定で、ブートの順番はHDDより先に指定されている事)
5、CentOS の HDD #1 partitin 4
(PBR) へのインストールは、CD/DVD からOSのインストーラーを
起動し、パーティション設定画面で
”カスタムレイアウトを作成します” を選択します。
パーティション4に / を割り当て、 ext3 で フォーマットする指定をします。 SWAP が無いと警告
を出しますが、今回はマルチブートの設定方法を習得するのが目的なので、そのまま継続します。
GRUB
のインストール場所を変更する為に、ブートローダの設定の
画面で、”高度なブートローダ
オプションの設定” にチックを入れます。
ブートローダーのインストールする場所の指定画面では、まず、ドライバーの順
の変更をクリックし、
HDD の認識順が期待通りかを確認します。
(USBメモリ-からOSのインストーラを起動すると、USBメモリーのMBRがGRUBのインストール先に
デフォルト設定されてしまいますので、必ず変更が必要になります。)
HDD の認識順序が正しい事を確認したら、GRUB のインストール先を ”ブートパーティションの
最初のセクター” (このケースでは、/dev/sda4)に設定してください。
この条件で CentOS をインストールすると、次の操作が行われる。
1、BIOS
で指定されている最初に起動する
HDD (HDD #1) の MBR は一切変更されない。
2、MBRのパーティション情報でアクティブに指定されているパーティション (HDD #1
partition 4)
の
PBR
に GRUB が書き込まれる。 ブートに関連するファイルは、
/boot 配下に GRUB の設定に
関係するファイルは、 /boot/GRUB 配下に書き込まれます。
CentOS のインストールが完了した状態
BIOS |
ブートディバイスの順序設定
HDD #1
HDD #2 |
HDD
#1
|
M
B
R |
|
|
P
B
R |
ntldr
boot.ini
....... |
|
P
B
R
|
CentOS
のインストール済み
パーティション |
|
|
^
/dev/sda |
partition
1
/dev/sda1
|
partition
2
/dev/sda2 |
partition
3
/dev/sda3 |
partition
4
/dev/sda4 |
|
HDD
#2
/dev/sdb |
M
B
R |
|
|
P
B
R |
XPのインストール
済み
パーティション |
|
P
B
R
|
Vistaのインストール済み
パーティション |
|
|
|
|
partition
1
/dev/sdb1
|
partition
2
/dev/sdb2 |
partition
3
/dev/sdb3 |
partition
4
/dev/sdb4 |
|
|
この時点で、HDD#1 の PBR をバックアップ。 Fedora
10 LiveUSB を起動して、バックアップします。
dd
if=/dev/sda4 of=PBR_CentOS bs=512 count=1
cp PBR_CentOS
CentOS.pbr
以上で各OSのインストールは完了しました。
パー
ティションのアクティブフラグの設定方法 に記載されている方法で、アクティブパーティションを
変更すれば、自由に OS
を切り替えて、使用することが可能になります。
各パーティションにインストールされたファイル群 (参考資料)
HDD
#1
|
M
B
R |
|
P
B
R
|
AUTOEXEC.BAT boot.ini bootfont.bin CentOS.pbr CONFIG.SYS IO.SYS MSDOS.SYS NTDETECT.COM ntldr WinXP.PBR Vista.PBR |
|
P
B
R |
Boot bootmgr BOOTSECT.BAK WinXP.PBR Vista.PBR CentOS.PBR |
|
P
B
R
|
bin boot dev etc home lib lib64 lost+found media misc mnt | net opt proc root sbin selinux srv sys tmp usr var |
|
|
|
^
/dev/hda |
partition
1
/dev/hda1
|
partition
2
/dev/hda2 |
partition
3
/dev/hda3 |
partition
4
/dev/hda4 |
|
応用的な構成
MBR (Windowsのローダー | GUBR) |
partition 1 |
primary |
Windows Vista |
partition 2 |
primary |
Windows XP |
partition 3 |
primary |
/boot (GRUB の共用) |
partition 4 |
extended |
swap |
CentOS |
Fedora |
Solaris |
|
MBR に GRUBをインストールする場合は、起動 OS の制御全てを GRUB で
行わなければなりません。
アクティブパーティションを切り替えて OS を変更する方法は利用できません。
アクティブパーティションを切り替えて OS を変更するのは、面倒なので各 OS の起動画面で OS の
選択を出来るようにしたい場合は、チェーンローダーを利用した OS の選択方法を参照してください。
MBR
(PBR)のバックアップ・リストア方法
CentOS / Fedora 編 (dd
コマンドを使用して設定)
# fdisk -l
:
Device
Boot
Start
End
Blocks Id System
/dev/sda1
1
2611 20972826
7 HPFS/NTFS
/dev/sda2
2612
5222 20972857+
7 HPFS/NTFS
/dev/sda3
*
5223
7833 20972857+
7 HPFS/NTFS
/dev/sda4
7834
10011 17494785
83 Linux
:
# dd
if=/dev/sda of=MBR_name bs=512
count=1
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.000479768 s, 1.1 MB/s
#
# dd
if=/dev/sda2 of=PBR_name bs=512
count=1
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.000479768 s, 1.1 MB/s
# |
接
続されているハードディスクを
確認する方法。
/dev/sda が該当 HDD
/dev/sda1、/dev/sda2、/dev/sda3
/dev/sda4 が各パーティションに対応
dd コマンドで HDD のセクターを
読み書きする。 (MBRの保存)
if= :読み込むデバイスかファイル
of= :書き出すデバイスかファイル
bs= :アクセスするバイト数
count= :bs で指定したバイト数を
単位に何個分アクセス
するかを指定
dd コマンドで HDD のパーティション
2 の PBR 部のセクターを読み。
ファイル名 PBR_name として
保存する。 |
# dd if=MBR_name of=/dev/sda bs=446
count=1 1+0 records in 1+0 records out 446 bytes (446 B) copied, 0.0211347 s, 21.1 kB/s
# |
dd
コマンドで HDD のセクターに
データを書き込む。 (MBR)
(プログラム分のみを書き込む)
MBR の 446 ~511 byte には、
パーティション情報とマジックNo.が
書き込まれているので変更しない。 |
Fedora 10 LiveUSB 利用に関して
Fedora
10 LiveUSB から Fedora 10 を起動すると、USB メモリーは /mnt/live としてマウントされます。
この時、USB メモリーは、リードオンリーでマウントされているので書き込みが出来ません。
dd コマンドを使用して、MBR、PBR を USBメモリーにバックアップする場合は、リマウント処理をします。
mount /mnt/live -o rw,remount
dd if=/dev/sda2 of=/mnt/live/PBR_name bs=512 count=1
Fedora 10 は、NTFS形式のパーティションに直接読み書きできますので、Windows のパーティションを
マウントし、直接 Windows のパーティション に保存する事も可能です。
mkdir /mnt/2
mount /dev/sda2 /mnt/2
dd if=/dev/sda2 of=/mnt/2/PBR_name bs=512 count=1
これらの操作は、root (sudoを含む) で行ってください。
|
パーティションのアクティブフラグの設定方法
Windows XP / Vista
編 (diskpart コマンドを使用して設定)
C:\>diskpart
:
DISKPART> list disk
Disk ###
Status
Size Free Dyn Gpt -------- --------------- ------- ------- --- --- Disk 0 オンライン 149 GB 0 B * Disk 1 オンライン 77 GB 0 B
:
DISKPART> select
disk 1
ディスク 1 が現在選択されているディスクです。
DISKPART> list
PARTITION
Partition ###
Type
Size Offset ------------- ------------------ ------- -------
Partition 1
プライマリ
20 GB 32 KB Partition 2
プライマリ
20 GB 20 GB Partition 3
プライマリ
20 GB 40 GB Partition 4
不明
17 GB 60 GB
DISKPART> select
PARTITION 4
パーティション 4 は現在選択されているパーティションです。
DISKPART> active
DiskPart は現在のパーティションをアクティブとしてマークしました。
DISKPART> exit |
接続されているハードディスクを
確認する方法。
属性を変更したいパーティションの
ある ハードディスクを選択する。
ディスク中のパーティション情報を
確認する。
diskpart コマンドを使用すれば、
UNIX の ファイルシステム ext3 も
アクティブに設定できる。
属性を変更したいパーティションを
選択する。
アクティブフラグを書き込む |
CentOS / Fedora 編 (parted コマンドを使用して設定)
# fdisk -l
:
Device
Boot
Start
End
Blocks Id System
/dev/sda1
1
2611 20972826
7 HPFS/NTFS
/dev/sda2
2612
5222 20972857+
7 HPFS/NTFS
/dev/sda3
*
5223
7833 20972857+
7 HPFS/NTFS
/dev/sda4
7834
10011 17494785
83 Linux
:
# parted
/dev/sda
GNU Parted 1.8.8
/dev/sda を使用
:
(parted)
print
:
番号 開始
終了 サイズ タイプ
ファイルシステム フラグ
1 32.3kB
21.5GB 21.5GB primary ext3 2
21.5GB 43.0GB 21.5GB primary
ntfs
boot
3 43.0GB
64.4GB 21.5GB primary ntfs
4 64.4GB
82.3GB 17.9GB primary ext3
(parted) toggle 3 boot
(parted)
print
:
番号 開始
終了 サイズ タイプ
ファイルシステム フラグ
1 32.3kB
21.5GB 21.5GB primary ext3
2 21.5GB
43.0GB 21.5GB primary ntfs 3
43.0GB 64.4GB 21.5GB primary
ntfs
boot
4 64.4GB
82.3GB 17.9GB primary ext3
(parted)
quit
|
接続されているハードディスクを
確認する方法。
属性を変更したいパーティションの
ある ハードディスクを選択する。
ディスク中のパーティション情報を
確認する。
toggle コマンドを使用して、属性を
変更する。
3 番目を アクティブ(boot)に設定
|
バックアップしたMBR/PBRの内容の確認方法
CentOS / Fedora 編 (hexdump
コマンドを使用して設定)
# hexdump -C MBR_Fedora
00000000
eb 48 90 d0 bc 00 7c fb 50 07 50 1f fc be 1b 7c
|.H....|.P.P....||
00000010
bf 1b 06 50 57 b9 e5 01 f3 a4 cb bd be 07 b1 04
|...PW...........|
00000020
38 6e 00 7c 09 75 13 83 c5 10 e2 f4 cd 18 8b f5
|8n.|.u..........|
00000030
83 c6 10 49 74 19 38 2c 74 f6 a0 b5 07 b4 03 02
|...It.8,t.......|
00000040
80 00 00 80 3f 00 3a 00 00 08 fa 90 90 f6 c2 80
|....?.:.........|
00000050
75 02 b2 80 ea 59 7c 00 00 31 c0 8e d8 8e d0 bc
|u....Y|..1......|
00000060
00 20 fb a0 40 7c 3c ff 74 02 88 c2 52 f6 c2 80 |.
..@|<.t...R...|
00000070
74 54 b4 41 bb aa 55 cd 13 5a 52 72 49 81 fb 55
|tT.A..U..ZRrI..U|
00000080
aa 75 43 a0 41 7c 84 c0 75 05 83 e1 01 74 37 66
|.uC.A|..u....t7f|
00000090
8b 4c 10 be 05 7c c6 44 ff 01 66 8b 1e 44 7c c7
|.L...|.D..f..D|.|
000000a0
04 10 00 c7 44 02 01 00 66 89 5c 08 c7 44 06 00
|....D...f.\..D..|
000000b0
70 66 31 c0 89 44 04 66 89 44 0c b4 42 cd 13 72
|pf1..D.f.D..B..r|
000000c0
05 bb 00 70 eb 7d b4 08 cd 13 73 0a f6 c2 80 0f
|...p.}....s.....|
000000d0
84 f0 00 e9 8d 00 be 05 7c c6 44 ff 00 66 31 c0
|........|.D..f1.|
000000e0
88 f0 40 66 89 44 04 31 d2 88 ca c1 e2 02 88 e8
|..@f.D.1........|
000000f0
88 f4 40 89 44 08 31 c0 88 d0 c0 e8 02 66 89 04
|..@.D.1......f..|
00000100
66 a1 44 7c 66 31 d2 66 f7 34 88 54 0a 66 31 d2
|f.D|f1.f.4.T.f1.|
00000110
66 f7 74 04 88 54 0b 89 44 0c 3b 44 08 7d 3c 8a
|f.t..T..D.;D.}<.|
00000120
54 0d c0 e2 06 8a 4c 0a fe c1 08 d1 8a 6c 0c 5a
|T.....L......l.Z|
00000130
8a 74 0b bb 00 70 8e c3 31 db b8 01 02 cd 13 72
|.t...p..1......r|
00000140
2a 8c c3 8e 06 48 7c 60 1e b9 00 01 8e db 31 f6
|*....H|`......1.|
00000150
31 ff fc f3 a5 1f 61 ff 26 42 7c be 7f 7d e8 40
|1.....a.&B|..}.@|
00000160
00 eb 0e be 84 7d e8 38 00 eb 06 be 8e 7d e8 30
|.....}.8.....}.0|
00000170
00 be 93 7d e8 2a 00 eb fe 47 52 55 42 20 00 47
|...}.*...GRUB .G|
00000180
65 6f 6d 00 48 61 72 64 20 44 69 73 6b 00 52 65
|eom.Hard Disk.Re|
00000190
61 64 00 20 45 72 72 6f 72 00 bb 01 00 b4 0e cd
|ad. Error.......|
000001a0
10 ac 3c 00 75 f4 c3 00 00 00 00 00 00 00 00 00
|..<.u...........|
000001b0
00 00 00 00 00 00 00 00 71 16 4a b5 00 00 00 01
|........q.J.....|
000001c0
01 00 83 fe ff ff 3f 00 00 00 34 0a 80 02 00 fe
|......?...4.....|
000001d0
ff ff 07 fe ff ff 73 0a 80 02 73 0a 80 02 80 fe
|......s...s.....|
000001e0
ff ff 07 fe ff ff e6 14 00 05 73 0a 80 02 00 fe
|..........s.....|
000001f0
ff ff 83 fe ff ff 59 1f 80 07 02 e6 15 02 55 aa
|......Y.......U.|
00000200
#
|
チェーンローダーを利用した OS の選択方法の追加
Windows XP 編
Windows XP の OS ローダープログラム
ntldr は、 Vista も CentOS も直接起動できません。
この回避方法として、チェーンローダー機能を使用します。
準備として、Vista(bootmgr) をインストールしたパーティションの バックアップした PBR(
Vista.pbr) を用意します。
同様に、CentOS をインストールしたパーティションの バックアップした PBR(
CentOS.pbr) を用意します。
ntldr がインストールされた C:、
HDD #1 partition 2 のルートディレクトリーに、Vista.pbr と CentOS.pbr
コピー
しておきます。
boot.ini |
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(1)partition(1)\WINDOWS
[operating
systems]
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Microsoft
Windows XP Professional" /noexecute=optin /fastdetect
c:\CentOS.pbr="CentOS
5.2"
c:\Vista.pbr="Windows
Vista" |
Windows Vista 編
Windows Vista の OS
ローダープログラム bootmgr は、 XP を直接起動する事が可能ですが、 CentOS は起動
できません。 この回避方法として、チェーンローダー機能を使用します。
準備として、XP(ntldr) をインストールしたパーティションの バックアップした PBR(
WinXP.pbr) を用意します。
同様に、CentOS をインストールしたパーティションの バックアップした PBR(
CentOS.pbr) を用意します。
bceedit コマンドを使用して、新しい OS エントリーを作成します。 このコマンドは管理者権限で実行します。
bootmgr
がインストールされたパーティションに与えられたドライブレターが、 C: でないので注意するする事。
この
ケースでは、D: が割り当てられており、そのルートディレクトリーに、WinXP.PBR と CentOS.PBR が
コピー
済みである事。
bcdedit
/create が返してくる
エントリ {????????-223b-11de-84b4-000a79284e82}
に対して値を設定する。
C:\>
bcdedit
/create /d "Windows
XP PBR" /application osloader
エントリ {e32f7234-223b-11de-84b4-000a79284e82}
は正常に作成されました。
C:\> bcdedit
/set {e32f7234-223b-11de-84b4-000a79284e82}
device
partition=D:
この操作を正しく終了しました。
C:\> bcdedit
/set {e32f7234-223b-11de-84b4-000a79284e82}
path
\WinXP.PBR
この操作を正しく終了しました。
C:\> bcdedit
/displayorder {e32f7234-223b-11de-84b4-000a79284e82}
/addlast
この操作を正しく終了しました。
|
C:\>bcdedit
/create /d "CentOS
5.2" /application osloader"
エントリは {e32f7233-223b-11de-84b4-000a79284e82}
に正常に作成されました。
C:\>bcdedit
/set {e32f7233-223b-11de-84b4-000a79284e82}
device partition=D:
この操作を正しく終了しました。
C:\>bcdedit
/set {e32f7233-223b-11de-84b4-000a79284e82}
path \CentOS.PBR
この操作を正しく終了しました。
C:\>bcdedit
/displayorder {e32f7233-223b-11de-84b4-000a79284e82}
/addlast
この操作を正しく終了しました。
|
C:\>bcdedit
Windows ブート マネージャ -------------------------------- identifier {bootmgr} device partition=D: description Windows Boot Manager locale ja-JP inherit {globalsettings} default {current} resumeobject {fa12fd2f-217a-11de-8c0e-f655cf4170b0} displayorder {current}
{e32f722f-223b-11de-84b4-000a79284e82}
{e32f7233-223b-11de-84b4-000a79284e82}
{e32f7234-223b-11de-84b4-000a79284e82} toolsdisplayorder {memdiag} timeout 30
Windows ブート ローダー -------------------------------- identifier {current} device partition=C: path
\Windows\system32\winload.exe description Microsoft Windows Vista locale ja-JP inherit {bootloadersettings} osdevice partition=C: systemroot \Windows resumeobject {fa12fd2f-217a-11de-8c0e-f655cf4170b0} nx
OptIn
Windows ブート ローダー -------------------------------- identifier {e32f7233-223b-11de-84b4-000a79284e82} device partition=D: path
\CentOS.PBR description CentOS 5.2
Windows ブート ローダー -------------------------------- identifier {e32f7234-223b-11de-84b4-000a79284e82} device partition=D: path
\WinXP.PBR description Windows XP PBR
C:\> |
CentOS 編
CentOS の OS ローダープログラム GRUB
は、 XP も Vista も直接起動できません。
この回避方法として、チェーンローダー機能を使用します。
/boot/GRUB ディレクトリにある grub.conf を編集して、 Windows 用のエントリーを追加します。
# grub.conf generated by
anaconda
#
# Note that
you do not have to rerun grub after making changes to this file
#
NOTICE: You do not have a /boot partition. This
means that
#
all kernel and initrd paths are relative to /, eg.
#
root (hd0,3)
#
kernel /boot/vmlinuz-version ro root=/dev/sda4
#
initrd /boot/initrd-version.img
#boot=/dev/sda4
default=0
timeout=5
splashimage=(hd0,3)/boot/grub/splash.xpm.gz
#hiddenmenu
title CentOS
(2.6.18-128.1.6.el5)
root (hd0,3)
kernel /boot/vmlinuz-2.6.18-128.1.6.el5 ro root=LABEL=/ rhgb quiet
initrd /boot/initrd-2.6.18-128.1.6.el5.img
title CentOS
(2.6.18-92.el5)
root (hd0,3)
kernel /boot/vmlinuz-2.6.18-92.el5 ro root=LABEL=/ rhgb quiet
initrd /boot/initrd-2.6.18-92.el5.img
title
Windows XP
rootnoverify (hd0,1)
chainloader +1
title
Windows Vista
rootnoverify (hd0,2)
chainloader +1
|
GRUB は、HDD上の PBR を直接 読み込みますので、事前にファイル化する必要はありません。
各 OS に上記の設定を加える事で、起動時に任意の OS を選択して起動する事が可能になります。