WindowsPE 32bit 上で Windows7 x64 を unattend 付きでセットアップ開始するとうまく動かない
Windows PE 32bit をネットワークブートし、そこから指定された Win7 をインストールすることができる。
その際、PE は 32bit でも 64bit な Win7 をインストールしたいときには、Win7 x64 の setup.exe は使えない。
(32bit じゃ動かねぇよみたいなエラーメッセージが表示される)
そういうときには setup.exe に /installfrom オプションを付け、Win7 x64 の (DVD)/sources/install.wim を指定して実行することで
32bit な setup.exe から Win7 x64 をインストールすることができる。
ところで、Windows を無人インストールするために Autounattend.xml、応答ファイルと呼ばれるファイルがある。
こいつはサンプル見て手打ちだったり Windows AIK に入ってる Windows SIM で構築できる。
Autounattend.xml をセットアップ時に読ませるには、setup.exe が起動する前に、このファイルを予めルートに保存しておいた
UFD (USB Flash Drive) をターゲットPC に接続しておくか、/unattend オプションを付けて setup.exe を実行することで
読ませることができる(他にも色々あるが忘れた)。
ところが、実はこいつは x86, x64 で中身が違う。違うっていっても processorArchitecture という属性によって x86 か amd64 が指定
されているかの違いだが、これのせいで困ったことが起こる。
上記のように、32bit な setup.exe を使って 64bit な Win7 をインストールしようとする。
・setup.exe → 32bit
・Win7 → 64bit
応答ファイルには、windowsPE パスの Microsoft-Windows-Setup やら oobeSystem パスの Microsoft-なんちゃらやらがあるが、
それぞれ読み込むタイミングによって x86 な環境で実行されてるのか x64 な実行で環境されてるのかが異なってしまう。
◆ windowsPE というセクションの設定は setup.exe(32bit) から読まれるので、 processorArchitecture は x86 である。
◆ oobeSystem というセクションの設定は Win7(64bit) から読まれるので、processorArchitecture は amd86 である。
「そういう風にすればいいじゃん」とか思ってやったら、『1回目は動いた』
しかし『2回目以降は「混在してる」のようなエラーが出た』
なんだかわけわからん動作をしている模様。
なんで processorArchitecture とかあるんですか Microsoft さん。。。
ここら辺の設定、x86, x64 関係ないじゃん〜orz
だれか助けてー