質問者
DISMでOSイメージ(VHD)に対してAdd-PackageやSet-LayeredDriverしたときにFailed to unload offline registryが出るが放置しても問題ないか?

質問
-
Simplifying updates for Windows 7 (KB3125574)を仮想環境用のイメージに展開することにチャレンジしました。
検索したら私のブログが直ぐに出てくるので、ひょっとしたら見た方もいるかもしれません。
Simplifying updates for Windows 7 (KB3125574)インストールまとめ
自分はWindowsソフトウェア開発者で、ITプロフェッショナルではありません。
現在のホストOSは、まだWindows 7 Professional with SP1 x64 (OEM)で、VirualBoxでローカルの仮想環境を構築しています。
DISMは、Windows Client OSの複数Edition/32 or 64 bit/複数言語のテスト環境を構築したり、複数バージョンのVisual Studioの開発環境を構築するのに利用しています。
最も今までは、Windows 8.1用のADKをインストールして、Apply-Imageで仮想環境用のVHDを作成するのに使用していたぐらいです。
Add-PackageやSet-LayeredDriverを試すのは今回が初めてです。
今回展開したのは、Windows 7 Ultimate with SP1 x64 (MSDN)です。
Windows 10の展開も計画していたので、Windows ADK for Windows 10 バージョン1511を使用しました。
Ultimateなのは、遠隔地のテストラボでトラブルがあったときに、開発環境ごとコピーしてVHD bootさせるためです。
install.wimをApply-ImageでVHDに展開する部分は特に問題はありません。
McAfee VSE 8.8 Patch 4を使用していて、Add-Packageに失敗したので、以下の情報を頼りにPatch 6に上げて、エラーが出なくなりました。
McAfee KnowledgeBase - DISM.exe generates an Error: 5 or Access Denied when VSE 8.8 Access Protection is enabled
しかし、後からdism.logを見ると以下のようなログが、Add-PackageやSet-LayeredDriverしたときに出ていました。
2016-05-20 13:39:12, Info CBS Unloading offline registry hive: {bf1a281b-ad7b-4476-ac95-f47682990ce7}D:/offline/Windows/System32/config/SOFTWARE
2016-05-20 13:39:14, Info CBS Failed to unload offline registry: {bf1a281b-ad7b-4476-ac95-f47682990ce7}D:/offline/Windows/System32/config/SOFTWARE, the client may still need it open. [HRESULT = 0x80070005 - E_ACCESSDENIED]
2016-05-20 13:39:14, Info CBS Unloading offline registry hive: {bf1a281b-ad7b-4476-ac95-f47682990ce7}D:/offline/Windows/System32/config/SYSTEM
2016-05-20 13:39:14, Info CBS Failed to unload offline registry: {bf1a281b-ad7b-4476-ac95-f47682990ce7}D:/offline/Windows/System32/config/SYSTEM, the client may still need it open. [HRESULT = 0x80070005 - E_ACCESSDENIED]
2016-05-20 13:39:14, Info CBS Unloading offline registry hive: {bf1a281b-ad7b-4476-ac95-f47682990ce7}D:/offline/Windows/System32/config/SECURITY
2016-05-20 13:39:14, Info CBS Failed to unload offline registry: {bf1a281b-ad7b-4476-ac95-f47682990ce7}D:/offline/Windows/System32/config/SECURITY, the client may still need it open. [HRESULT = 0x80070005 - E_ACCESSDENIED]
2016-05-20 13:39:14, Info CBS Unloading offline registry hive: {bf1a281b-ad7b-4476-ac95-f47682990ce7}D:/offline/Windows/System32/config/SAM
2016-05-20 13:39:14, Info CBS Failed to unload offline registry: {bf1a281b-ad7b-4476-ac95-f47682990ce7}D:/offline/Windows/System32/config/SAM, the client may still need it open. [HRESULT = 0x80070005 - E_ACCESSDENIED]
2016-05-20 13:39:14, Info CBS Unloading offline registry hive: {bf1a281b-ad7b-4476-ac95-f47682990ce7}D:/offline/Windows/System32/config/COMPONENTS
2016-05-20 13:39:14, Info CBS Failed to unload offline registry: {bf1a281b-ad7b-4476-ac95-f47682990ce7}D:/offline/Windows/System32/config/COMPONENTS, the client may still need it open. [HRESULT = 0x80070005 - E_ACCESSDENIED]
2016-05-20 13:39:14, Info CBS Unloading offline registry hive: {bf1a281b-ad7b-4476-ac95-f47682990ce7}D:/offline/Windows/System32/config/DEFAULT
2016-05-20 13:39:14, Info CBS Failed to unload offline registry: {bf1a281b-ad7b-4476-ac95-f47682990ce7}D:/offline/Windows/System32/config/DEFAULT, the client may still need it open. [HRESULT = 0x80070005 - E_ACCESSDENIED]
2016-05-20 13:39:14, Info CBS Unloading offline registry hive: {bf1a281b-ad7b-4476-ac95-f47682990ce7}D:/offline/Users/default/ntuser.dat
2016-05-20 13:39:14, Info CBS Failed to unload offline registry: {bf1a281b-ad7b-4476-ac95-f47682990ce7}D:/offline/Users/default/ntuser.dat, the client may still need it open. [HRESULT = 0x80070005 - E_ACCESSDENIED]
* クリーンブートなし、アクセス保護On、オンアクセススキャンOn
* クリーンブートなし、アクセス保護Off、オンアクセススキャンOff
で結果は変わりませんでした。
クリーンブートは他の業務を止めたくないので試していません。
なお、同じログは自宅のWindows 10 Pro x64 (OEM)で、Windows 10 Pro x64 (Standalone)のVHDに対して、DISMで.NET3.5.1をOfflineインストールしたときにも出ていました。
自宅では、McAfee リブセーフ使用で、特に何も設定変更していません。
おそらくですが、McAfeeのリンクの情報のニュアンスでは、アクセス保護On、オンアクセススキャンOnでも監視しているので、offline registry hiveはまだMcAfeeが握っているのではないかと思います。
問題は、* この状態で作成されたVHDが正しい状態なのか?
* ログは放置しても問題がないのか?
という点です。
ブログでは偉そうなことを書いていますが、wim/vhdへのパッケージのOffline展開とか、offline registry hiveとか、検索して調べた情報を流し読みしている程度で詳しくはありません。
今後の対応方針について、ご存知の方が居られましたら、お教えください。- 編集済み tmori3y2 2016年5月21日 3:34
2016年5月21日 3:32
すべての返信
-
おそらくですが、McAfeeのリンクの情報のニュアンスでは、アクセス保護On、オンアクセススキャンOnでも監視しているので、offline registry hiveはまだMcAfeeが握っているのではないかと思います。
OFFの間違いでした。
本日、install.wimをマウントしてみましたが、VSEのサービスが動いているとき(OSが通常ブート)では同じように、ログが出ていました。
それだけではなく、wimだとunmountに失敗してしまいました。
https://social.technet.microsoft.com/Forums/office/en-US/10bd8956-50c6-48c3-b005-0b6e7d8b2c00/dism-the-directory-could-not-be-completely-unmounted-process-explorer-cant-find-open-processes?forum=winserversetup
* WinPEで作業する
* cleanup-wimする
* Commit-Wimするほか、waitを入れる
* Explorerをすべて閉じる(kill?)
いろいろ書かれていますが、実際にDISMを使用されているITプロの方はどのようにされているのでしょうか??
ご教授、よろしくお願いします。
2016年5月23日 12:22 -
wimのUnmountについては、
* Commit-Wimしてから、wait
* Explorerをすべて閉じる (killはしなくてもよい)
あたりでできましたが、Explorerを閉じ忘れるとやっぱり失敗するので、開発者が自分の仮想環境を展開するだけなら、VHDの方が扱いやすいように感じました。
ちなみに、cleanup-wimをしないと、ホストのsystem32\configにゴミが残るようです。
元々の本題のほうですが、個人的にはInfoであり、ゲストOSのレジストリが壊れているようには見えなかったので、他の人もログに残っていれば放置でも良いかと思ったのですが、レスもつかないので、マナー違反ではありますが、MSDNの方にこちらのリンクを張って開発者の方のアドバイスを仰ごうと思います。
2016年5月28日 5:41