boot from win8
update 2012-10-26

概要説明

Win8で別のHDDにあるWin7,XPをbootする。

A. Win8からWin7を起動する
※ブートローダがbootmgrであれば、Win7に限らず適用できる。

構成
boot-win7.png
HDD0にはWin8がインストールされている。
※この例ではドライブC:にbootmgrが在る。(システム予約領域にbootmgrがある場合もbootの考え方は同じである)
HDD1にはWin7がインストールされている。
※この例ではドライブD:にbootmgrが在る。(システム予約領域にbootmgrがある場合もbootの考え方は同じである)

作業要約
Win8ブートマネージャにWin7のbootエントリを追加すればいい。

作業手順
1.bcdeditでwin8のエントリである{current}をcopyしてWin7のエントリを作成する。
※「コマンドプロンプト」->「管理者として実行」で作業する。
bcdedit /copy {current} /d "Win7"
※この時点でWin7のエントリとして新たな{GUID}が付けられる。

2.Win7のインストールしてあるdevice partitionをsetする。(ブートパーティションのことである)
bcdedit /set {GUID} device partition=D:

3.Win7のインストールしてあるosdevice をsetする。(ブートパーティションのことである)
bcdedit /set {GUID} osdevice partition=D:
以上で設定終了。

4.Win8を起動し「OS選択」画面に表示された"Win7"を選択すればドライブD:のWin7が起動する。

参考
追加したWin7のbootエントリは次のようになっている。

Windows ブート ローダー
--------------------------------
identifier              {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}  <-新たに付いた{GUID}
device                  partition=D:  <-Win7 bootプログラムのドライブ
path                    \Windows\system32\winload.exe
description             Win7  <-ブート画面での表示名
locale                  ja-JP
inherit                 {bootloadersettings}
recoverysequence        {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
recoveryenabled         Yes
osdevice                partition=D:  <-Win7 OSのインストールドライブ
systemroot              \Windows
resumeobject            {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
nx                      OptIn


B.Win8からXPを起動する
ブートローダがntldrであれば、XPに限らず他のOSにも適用できる。

構成
boot-xp.png
HDD0にはWin8がインストールされている。
※この例ではドライブC:にbootmgrが在る。(システム予約領域にbootmgrがある場合もbootの考え方は同じである)
HDD1にはXPがインストールされている。(rdisk(x)とは boot.ini でのデバイス定義である)

※この例ではドライブD:にntldr ,boot.ini ,NTDETECT.COM ,bootfont.bin が在る。

作業要約
Win8のbootmgrにXP(ntldr)を起動するbootエントリを作成する。

作業手順

1.ドライブD:のboot情報(ntldr ,boot.ini ,NTDETECT.COM ,bootfont.bin)をドライブC:にコピーしておく。
※Win8ブートマネージャ(bootmgr)と同じフォルダにコピーする。

2.コピーしたboot.iniのデバイス情報 rdisk(x) を ドライブD:を指すように rdisk(1) と修正する。
[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" /noexecute=optin /fastdetect

3.Win8のbootmgrにXP(ntldr)を起動するbootエントリを作成する。
bcdedit /create {ntldr} /d "Windows XP"  <-ブート画面での表示名
bcdedit /set {ntldr} device partition=c:  <-ドライブC:のntldrを指定することに注意
bcdedit /set {ntldr} path \ntldr
bcdedit /displayorder {ntldr} /addlast

4.Win8を起動して「OS選択」メニューの"Windows XP"を選択すれば、Win8(ドライブC:)に置いたntldr -> boot.ini の設定内容によりドライブD:のXPが起動する。

end of list