この記事では、WIMMount サービスが破損している、正しく構成されていない、または見つからない場合に Configuration Manager でブート イメージを管理できない問題を修正します。
元の製品バージョン: Configuration Manager (Current Branch)、Microsoft System Center 2012 R2 Configuration Manager、Microsoft System Center 2012 Configuration Manager
元の KB 番号: 4096324
現象
SMS プロバイダーをホストするサーバーに Windows Assessment and Deployment Kit (ADK) がインストールされ、最新の状態になっている環境では、Configuration Manager を使用してブート イメージを管理することはできません。 これには、次のアクションが含まれます。
- 配布ポイントのブート イメージを更新します。
- 新しいブート イメージをインポートします。
- Microsoft Deployment Toolkit (MDT) ウィザードを使用して、新しいブート イメージを作成します。
- ドライバーの追加など、ブート イメージを変更します。
このシナリオでは、SMS プロバイダー サーバーのSMSProv.log ファイルに次のエラーが記録されます。
SMS Provider ExecMethodAsync : SMS_BootImagePackage.PackageID="<Boot_Image_Package_ID>"::RefreshPkgSource~
SMS プロバイダー要求クラス =SMS_BootImagePackage~
SMS プロバイダー要求番号キー =1~
SMS プロバイダー IExtClassManager::ValidateAuthenticationLevel...
SMS プロバイダー CExtProviderClassObject::D oExecuteMethod RefreshPkgSource~
SMS Provider Loaded wimgapi.dll version 10.0.16299.15 from location 'C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\DISM\wimgapi.dll'
SMS プロバイダー WIM インデックスは 1 です。
SMS プロバイダーイメージ言語 ID 1033 および en-US~
SMS プロバイダー \\<Boot_Image_Path>\boot.wim からイメージを読み込んだ
WIM ファイルの SMS プロバイダーの一時パスは C:\Windows\TEMP\BootImages\{<Random_GUID>}\temp です。
SMS プロバイダー: イメージ インデックス 1 が読み込まれました。
SMS プロバイダーエラー> wim ファイルのマウントに失敗しました,err=-1052638943~
SMS プロバイダー ~*~*~..\sspbootimagepackage.cpp(5198) : マウントされた WIM ファイルに OSD バイナリを挿入できませんでした (多くの場合、署名されていないドライバーが x64 ブート イメージに挿入された場合に発生します)~*~*~
SMS プロバイダー ~*~*~マウントされた WIM ファイルに OSD バイナリを挿入できませんでした (多くの場合、署名されていないドライバーが x64 ブート イメージに挿入された場合に発生します) ~*~*~
SMS プロバイダー サーバーでDISM.exeを手動で実行すると、DISM.log ファイルに次のエラーが記録されます。
DISM DISM.EXE: プロバイダーのコマンドが正常に登録されました: 互換マネージャー。
[10780] [0x8007007b] OpenFilterPort:(408): ファイル名、ディレクトリ名、またはボリューム ラベルの構文が正しくありません。
[10780] [0x8007007b] FltCommVerifyFilterPresent:(502): ファイル名、ディレクトリ名、またはボリューム ラベルの構文が正しくありません。
[10780] [0x8007007b] WIMMountImageHandle:(1089): ファイル名、ディレクトリ名、またはボリューム ラベルの構文が正しくありません。
[10780] [0x80070002] StateStoreRemoveMountedImage:(1030): 指定されたファイルが見つかりません。
[10780] [0x80070002] WIMMountImageHandle:(1331): 指定されたファイルが見つかりません。DISM DISM WIM プロバイダー: PID=10780 TID=1096 "イメージをマウントできませんでした。" - CWimImageInfo::Mount(hr:0x8007007b)
DISM DISM WIM プロバイダー: PID=10780 TID=1096 onecore\base\ntsetup\opktools\dism\providers\wimprovider\dll\wimmanager.cpp:2684 - CWimManager::InternalOpMount(hr:0x8007007b)
DISM DISM WIM プロバイダー: PID=10780 TID=1096 onecore\base\ntsetup\opktools\dism\providers\wimprovider\dll\wimmanager.cpp:4028 - CWimManager::InternalCmdMount(hr:0x8007007b)
DISM DISM WIM プロバイダー: PID=10780 TID=1096 "コマンドの実行中にエラーが発生しました" - CWimManager::InternalExecuteCmd(hr:0x8007007b)
DISM DISM WIM プロバイダー: PID=10780 TID=1096 onecore\base\ntsetup\opktools\dism\providers\wimprovider\dll\wimmanager.cpp:2201 - CWimManager::ExecuteCmdLine(hr:0x8007007b)
Note
DISM を手動で実行するときにプロセス モニターを使用すると、見つからないファイルまたはディレクトリを特定できません。
原因
この問題は、WIMMount サービスが破損しているか、正しく構成されていないか、SMS プロバイダー サーバーに存在しない場合に発生します。
確認するには、SMS プロバイダーをホストするサーバーで次のレジストリ エントリを確認します。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WIMMount\ImagePath
このエントリの値は、Windows ADK のインストール ディレクトリの下にあるWimmount.sys ファイルの場所である必要があります。
Note
SMS プロバイダーをホストするサーバーは、中央管理サイトまたはプライマリ サイト サーバーではない可能性があります。 SMS プロバイダーをホストするサーバーが複数ある場合は、すべての SMS プロバイダー サーバーでこのレジストリ エントリを確認してください。
サイトで SMS プロバイダーをホストするサーバーを見つけるには、次の手順に従います。
- Configuration Manager コンソールで、 Administration>Overview>Site Configuration>Sites に移動します。
- サイトを右クリックし、 Properties を選択します。
- [ General ] タブで、[ SMS プロバイダーの場所に一覧表示されているサーバーを見つけます。
解決方法
この問題を解決するには、次の手順に従って WIMMount サービスを再インストールします。
SMS プロバイダーをホストするサーバーで、Windows ADK がインストールされている場所に移動します。 たとえば、Windows ADK 10 の既定のパスは
C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64
。DISM フォルダーに移動し、次のコマンドを実行します。
WimMountAdkSetupAmd64.exe /Install