windwos7のsysprepで悩むパート2

やっちまった。作り上げたイメージでエラーが発生する。
 

  • VL版でマスターを作成する
  • KMSに登録する前にsysprep実行するが、エラーになり完了できない

windwos7のsysprepで悩むで放棄した悩み。
かなり作り込んだので再び入れるのは避けたい。
 
unattend.xmlを0から1に変えてみたりしたけど、進展なし。
 
なんとかして見つけたのがレジストリを弄るDale QiaoさんがコメントしたSysprep - Fatal error occurred while trying to sysprep the machine

This error shows that sysprep was run multiple times on the machine, please open a command prompt, type: slmgr /dlv to view how many times of remaining Windows Activation count. Generally speaking, to sysprep the image on a single computer for multiple times, you need to configure the Microsoft-Windows-Security-SPP | SkipRearm to 1 in the unattend.xml file. I am assuming whether you configure the Microsoft-Windows-Security-Licensing-SLC | SkipRearm to 1 instead of SPP, the SLC setting is deprecated and should not be used.
 
As a work around of this problem, please type: regedit in the Start Search box to open Registry Editor, set the value of GeneralizationState under HKEY_LOCAL_MACHINE\SYSTEM\Setup\Status\SysprepStatus to 7, then run sysprep again.

Dale Qiao「こいつを試してみな!」(アメリカンな口調で)

slmgr /dlv

 

Dale Qiao「今度はこいつを試してみな!」(アメリカンな口調で)

HKEY_LOCAL_MACHINE\SYSTEM\Setup\Status\SysprepStatus\GeneralizationState

レジストリを弄くって、値を7にしろ!」って書いてある。
点検したら3になっていたので7にしてみる。
そしてsysprepを実行してみるがNGになる。
値を再確認してみると4になった。
もう一度7にしてからsysprepを実行したらできた。

 
さてさて、Ghostでイメージ回収を試すとエラーになる。

対話型サービスの検出
このコンピュータ上で実行されているプログラムが、メッセージの表示を試行しています

プログラムがタスクを完了するには、ユーザーの情報またはユーザーのアクセス許可が必要になることがあります。
(中略)
プログラムまははデバイスが確認を要求しています。

メッセージタイトル:Sysprepを実行しています...
プログラムのパス:C:\Windows\System32\Sysprep\sysprep.exe
受信日時:
 
この問題は、プログラムにWindowsとの完全な互換性がないことが原因で発生します。
詳細については、プログラムまたはデバイスの製造元に問い合わせて下さい。

速攻で「お前のとこの製品じゃないかい!」とツッコミを入れる。
 
しかし「Ghostでsysprepを実行しなさい」と命令を出しているあたりに何かありそう。

Symantec Ghost Console>ツール>サポート対象Sysprepバージョン

Windows7のC:\Windows\System32\sysprepをコピーして追加してみたがエラーになった。なのでC:\Windows\System32\setupcl.exeをコピーしてみた。しかし対象OSがN/Aになっているので追加失敗なり。
 
もういちどレジストリの値を眺める

  • CleanupState:1
  • GeneralizationState:4

健全(?)なマシンを参照すると、2,7になっている。
2,7にしてからsysprepを実行すると1,4になる。こまった。
 

結果

すんごい強引な方法
 
レジストリ修正

HKEY_LOCAL_MACHINE\SYSTEM\Setup\Status\SysprepStatus\GeneralizationState\CleanupState:2
HKEY_LOCAL_MACHINE\SYSTEM\Setup\Status\SysprepStatus\GeneralizationState\GeneralizationState:7

コマンドプロンプト

msdtc -uninstall
msdtc -install

Dale Qiao「今度はこいつを試してみな!」(アメリカンな口調で)

これを最後まで実践していなかったのが間違いだった、、、orz