2014年1月20日月曜日

iPXEでWindows8(8.0)のインストーラをディスクレスブートし、iSCSIターゲット内ストレージにインストール

※wimboot-2.1.0以前を使用した場合の情報です。

[手順]
重要なポイントはiPXE公式サイトの通りです。
http://www.ipxe.org/wimboot

Windows7とほとんど同じです。
http://xn--2qq87f54j6n1b.blogspot.com/2012/11/ipxewindows7iscsi.html

違いは、wimbootをbootする前のiPXEのスクリプトで、以下の部分です。

[Windows7の場合]
sanhook --drive 0x80 ${iSCSI-DD用root-path}
sanhook --drive 0x81 ${iSCSIでのwin7.iso用root-path}

set base-url http://tgt.or.some.server/hoge/

kernel ${base-url}ipxetool/wimboot
initrd ${base-url}mnt/win7/bootmgr          bootmgr
initrd ${base-url}mnt/win7/boot/bcd         BCD
initrd ${base-url}mnt/win7/boot/boot.sdi    boot.sdi
initrd ${base-url}mnt/win7/sources/boot.wim boot.wim
boot

[Windows8の場合]
sanhook --drive 0x80 ${iSCSI-DD用root-path}
sanhook --drive 0x81 ${iSCSIでのwin8.iso用root-path}

set base-url http://tgt.or.some.server/hoge/

kernel ${base-url}ipxetool/wimboot
initrd ${base-url}mnt/win8/bootmgr          bootmgr
initrd ${base-url}mnt/win8/boot/bcd         BCD
initrd ${base-url}mnt/win8/boot/fonts/segmono_boot.ttf segmono_boot.ttf
initrd ${base-url}mnt/win8/boot/fonts/segoe_slboot.ttf segoe_slboot.ttf
initrd ${base-url}mnt/win8/boot/fonts/wgl4_boot.ttf    wgl4_boot.ttf
initrd ${base-url}mnt/win8/boot/fonts/jpn_boot.ttf    jpn_boot.ttf
initrd ${base-url}mnt/win8/boot/boot.sdi    boot.sdi
initrd ${base-url}mnt/win8/sources/boot.wim boot.wim
boot

[検証環境]
NIC
 マザーボード ASUS P8H61-M LE オンボード
 Realtek 8111E 
ドライバ
 ASUS の Webサイト
 Realtek LAN Driver V8.19.726.2013 for Windows Win8.1 32bit & Win8.1 64bit---(WHQL).
 Realtek_LAN_Win8-1_VER819.zip 

[検証実績]
iPXEのメーリングリストやWeb情報では、

RealtekのNICを使った場合、Windows8インストールの過程で、
・isoイメージからWindows8のインストーラ起動、
・iSCSIターゲット内ストレージへのファイルコピー、
・一回目のPC再起動開始、
ココまでは進むが、iSCSIターゲット内ストレージからの初回起動で
INACCESSIBLE_BOOT_DEVICE エラーが発生してしまう。IntelのNICだと大丈夫だけど・・・

という感じだった。自分もWindows8発売(2012年10月)直後にWindows8内蔵のドライバを使うと
同じようにINACCESSIBLE_BOOT_DEVICE エラーが発生していた。
以後、4ヶ月に一度ぐらいのペースで断続的にRealtekのWebサイトから最新ドライバを取ってきて、
インストール先ディスクを選択する段階のところで、このドライバを読み込ませる手順により、
Windows8のインストールを再試行するものの、やはりINACCESSIBLE_BOOT_DEVICE エラーが発生していた。

先日(2014年1月)、上記環境で試したところ、
ドライバ更新のおかげか、なんらかのオンラインアップデートの影響かわからないが、
INACCESSIBLE_BOOT_DEVICE は発生しなくなり、インストールが完了した。

ちなみに、今日現在、RealtekのWebサイトにある最新のバージョン8.020は、
Windows8のインストーラで使えず、iSCSIターゲット内ストレージへのファイルコピー、の前でつまずいた。。。