メニュー 閉じる

Sysprep実行時のトラブルメモ

Windows 11の端末でSysprepを実施したときに詰まったことをメモしておきます。

Sysprepの実行

環境

  • Windows 11 Pro 22H2 build 22621.3007

実行コマンド

  • 管理者PowerShellで実行
  • C:\Windows\System32\Sysprep\sysprep.exe /generalize /oobe

発生するトラブル

Sysprep実行すると以下のように表示されて実行が失敗します。

Sysprep で Windows のインストールを検証できませんでした。詳細については、%WINDIR%\System32\Sysprep\Panther\setupact.log にあるログ ファイルを確認してください。問題を解決してから、Sysprep を使用してインストールを再度検証してください。

ログの確認

上記のメッセージにあるログファイルを見たいところですが、トラブル解決のためにはsetuperr.logを参照した方が良さそうです。

ログファイルを開くためには管理者権限が必要なので、エクスプローラーからファイルを開くのは面倒です。
Sysprepのために既に開いている管理者PowerShellからnotepadを実行して、以下のようにメモ帳からファイルを開く方が容易です。

ちなみにSysprepを実行する度にログを出力しますが、その度にメモ帳でファイルを開き直してください。

表示されるログに合わせた解決方法

Reserved storage is in use

2024-01-27 12:34:27, Error                 SYSPRP Sysprep_Clean_Validate_Opk: Audit mode cannot be turned on if reserved storage is in use. An update or servicing operation may be using reserved storage.; hr = 0x800F0975
2024-01-27 12:34:27, Error                 SYSPRP ActionPlatform::LaunchModule: Failure occurred while executing 'Sysprep_Clean_Validate_Opk' from C:\Windows\System32\spopk.dll; dwRet = 0x975
2024-01-27 12:34:27, Error                 SYSPRP SysprepSession::Validate: Error in validating actions from C:\Windows\System32\Sysprep\ActionFiles\Cleanup.xml; dwRet = 0x975
2024-01-27 12:34:27, Error                 SYSPRP RunPlatformActions:Failed while validating Sysprep session actions; dwRet = 0x975
2024-01-27 12:34:27, Error      [0x0f0070] SYSPRP RunDlls:An error occurred while running registry sysprep DLLs, halting sysprep execution. dwRet = 0x975
2024-01-27 12:34:27, Error      [0x0f00d8] SYSPRP WinMain:Hit failure while pre-validate sysprep cleanup internal providers; hr = 0x80070975

解決手順

レジストリエディタを開き、以下のキーを表示します。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ReserveManager
ActiveScenarioのDWORD値を0に設定します。
以上でレジストリエディタでの作業は終了です。

管理者PowerShellで以下のコマンドを実行します。

> DISM.exe /Online /Set-ReservedStorageState /State:Disabled

ValidateBitLockerState

2024-01-27 13:29:46, Error                 SYSPRP ActionPlatform::LaunchModule: Failure occurred while executing 'ValidateBitLockerState' from C:\Windows\System32\BdeSysprep.dll; dwRet = 0x80310039
2024-01-27 13:29:46, Error                 SYSPRP SysprepSession::Validate: Error in validating actions from C:\Windows\System32\Sysprep\ActionFiles\Generalize.xml; dwRet = 0x80310039
2024-01-27 13:29:46, Error                 SYSPRP RunPlatformActions:Failed while validating Sysprep session actions; dwRet = 0x80310039
2024-01-27 13:29:46, Error      [0x0f0070] SYSPRP RunDlls:An error occurred while running registry sysprep DLLs, halting sysprep execution. dwRet = 0x80310039
2024-01-27 13:29:46, Error      [0x0f00d8] SYSPRP WinMain:Hit failure while pre-validate sysprep generalize internal providers; hr = 0x80310039

解決手順

BitLockerドライブの暗号化ウィンドウを開き、BitLockerを無効にします。

以下のように表示されればBitLockerが無効になっています。

Package xxx was installed for a user, but not provisioned for all users.

2024-01-27 13:33:26, Error                 SYSPRP Package Microsoft.Winget.Platform.Source_2023.1102.1838.719_neutral__8wekyb3d8bbwe was installed for a user, but not provisioned for all users. This package will not function properly in the sysprep image.
2024-01-27 13:33:26, Error                 SYSPRP Failed to remove apps for the current user: 0x80073cf2.
2024-01-27 13:33:26, Error                 SYSPRP Exit code of RemoveAllApps thread was 0x3cf2.
2024-01-27 13:33:26, Error                 SYSPRP ActionPlatform::LaunchModule: Failure occurred while executing 'SysprepGeneralizeValidate' from C:\Windows\System32\AppxSysprep.dll; dwRet = 0x3cf2
2024-01-27 13:33:26, Error                 SYSPRP SysprepSession::Validate: Error in validating actions from C:\Windows\System32\Sysprep\ActionFiles\Generalize.xml; dwRet = 0x3cf2
2024-01-27 13:33:26, Error                 SYSPRP RunPlatformActions:Failed while validating Sysprep session actions; dwRet = 0x3cf2
2024-01-27 13:33:26, Error      [0x0f0070] SYSPRP RunDlls:An error occurred while running registry sysprep DLLs, halting sysprep execution. dwRet = 0x3cf2
2024-01-27 13:33:26, Error      [0x0f00d8] SYSPRP WinMain:Hit failure while pre-validate sysprep generalize internal providers; hr = 0x80073cf2

解決手順

一部のユーザに導入されているストアアプリを削除します。
Sysprepを実行する度に1つしかパッケージが表示されないので、何度か実行してエラーが全て解消するまでストアアプリを削除します。

上記の表示例の場合、Microsoft.Winget.Platform.Source_2023.1102.1838.719_neutral__8wekyb3d8bbweがパッケージ名になります。
アプリ名はこのときMicrosoft.Winget.Platform.Sourceのようにアンダースコア(_)の手前までです。

Microsoft.Winget.Platform.Sourceというアプリを削除する場合、管理者PowerShellで以下のコマンドを実行します。

> Get-AppxPackage -AllUsers Microsoft.Winget.Platform.Source* | Remove-AppxPackage -AllUsers

※アプリ名の後ろに*をつけるようにしてください。

無事にSysprepを実行できるようになる

上記のようにエラーを全て解決していくと、Sysprepが実行出来るようになります。
正常に動き始めると、以下のようなダイアログが表示されます。

Posted in Windows, Windows Server

関連投稿

コメントを残す

Amazon プライム対象