先日、久々に自宅の仮想環境(Hyper-V)で、Windows10関連の動作検証を行おうと思い、
あらかじめ作成しておいた、Windows10のHyper-Vエクスポートファイルより、仮想マシンイメージを読み込みました。

今回、複数台のWindows10仮想ゲストが必要だった為、起動したWindows10仮想ゲストに対して、「Sysprep」をかけようとしたところ、うまくいかず、試行錯誤してしまいました。

Windows7やサーバーOSでは、ほとんど引っかかった事がなかった為、時間がかかったので、メモとして残しておこうと思います。

Sysprep で 「Windowsの検証が行えませんでした。詳細については~」

まず、いつものようにWindows10のC:\Windows\system32\sysprepフォルダより「Sysprep」を実行

sysprep1

SIDを変更したいので、「一般化する」にチェックを入れてOK
sysprep2

すると、以下表示がでました。初めて見るポップアップ
sysprep3

ポップアップ内に記載があるように、sysprepのエラーログファイルを確認してみたところ
7行目に怪しいログがありました
sysprep4
sysprep5

小さくて読みづらいですが、英語の文を読むと、「OSをアップグレードしたから、Sysprepをかけるには、OSをクリーンインストールしないと駄目ですよ」と。

「え~っ」そんな事知りませんでしたし、ただ、そんな事をしている時間もありません。

ググってみると、対処方法を記載しているサイトを見つけました。書かれた方のお名前はわかりませんが、参考になり、大変ありがとうございました!
参考URL:http://tsunomur.hateblo.jp/entry/20140211/1392103153


・以下2つのレジストリを削除と変更をします
  1. HKEY_LOCAL_MACHINE\SYSTEM\Setupにある、Upgradeキーを削除する。
  2. HKEY_LOCAL_MACHINE\SYSTEM\Setup\Status\SysprepStatusにある、CleanupStateキーの値を、7に変更する。
Upgradeキーを削除
sysprep6

cleanupstateキーの値を7へ変更
sysprep7

再起動を行い、再度「Sysprep」を実行します
今度は進みました
sysprep8

喜びもつかの間、今度は「致命的なエラー」、え~っ、なんで~
sysprep9

そんな甘くはないですね。

Sysprepで「致命的なエラー」

再度、「setuperr.log」を確認すると、以下エラーが出力されてました

"C:\Windows\System32\Sysprep\Panther\setuperr.log"
[0x0f0073] SYSPRP RunExternalDlls:Not running DLLs; either the machine is in an invalid state or we couldn't update the recorded state, dwRet = 0x1f
[0x0f00ae] SYSPRP WinMain:Hit failure while processing sysprep cleanup external providers; hr = 0x8007001f

私の知識では限界ですので、ググります。
すると以下サイトで同様のエラー修復してましたので、またまた参考にさせていただきました。助かりました!
参考URL:http://codename2010.blog11.fc2.com/blog-entry-256.html

2つのレジストリ内容を変更します
HKEY_LOCAL_MACHINE\SYSTEM\Setup\Status\SysprepStatus\GeneralizationState\CleanupState:2
HKEY_LOCAL_MACHINE\SYSTEM\Setup\Status\SysprepStatus\GeneralizationState\GeneralizationState:7

確認したところ、「CleanupState」キーは2だったのでそのまま、「GeneralizationState」キーが違っていたので、7に変更します
sysprep10

sysprep11

変更したら、以下コマンドを打ちます
msdtc –uninstall
msdtc –install

sysprep12

再起動します
sysprep13

無事、sysprepを完了する事ができました。

やっぱり、最近のOSは手強いな~