Explorer.exeが頻繁に落ちる

https://kaze88.hatenablog.jp/entry/2017/12/15/161500

同様の問題で困ってたときの検索結果!(自分のはwinアップデートで治りました)

質問
Explorer.exeが頻繁に落ちる。障害モジュールStackHash_ac46

半月ほど前からエクスプローラ(explorer.exe)が落ちるというエラーが頻繁に起こるようになりました。

どんどん頻度が増え、最近では1日に50回は落ちます。

他のアプリケーションで開いているウィンドウには異常はありませんが、エクスプローラのウィンドウだけが突然消えてしまいます。

障害の詳細は下記の通りです。

ネットでいろいろ検索しましたが、解決法が見つからず…

こちらでお力を貸していただけましたら幸いです。

---------------------------------------------------------------------------------

説明
障害が発生しているアプリケーションのパス: C:\Windows\explorer.exe

問題の署名
問題イベント名: BEX64
アプリケーション名: explorer.exe
アプリケーションのバージョン: 10.0.14393.0
アプリケーションのタイムスタンプ: 57899981
障害モジュールの名前: StackHash_ac46
障害モジュールのバージョン: 0.0.0.0
障害モジュールのタイムスタンプ: 00000000
例外オフセット: PCH_E8_FROM_ntdll+0x00000000000A59A4
例外コード: c0000005
例外データ: 0000000000000008
OS バージョン: 10.0.14393.2.0.0.256.48
ロケール ID: 1041
追加情報 1: ac46
追加情報 2: ac462b2fd07cc853b652b5104a1cf381
追加情報 3: 74ad
追加情報 4: 74ad9ce37dd18a1ff63e8d0c2ae26fe2


回答
Takashi NISHIIE
Takashi NISHIIE 返信日 2017年11月13日
ファイルが破損しているのでなければ、explorer.exeに寄生しているアドオンプログラムが悪さをしている可能性があります。
Windows 10 ver.1709であれば、以下のコマンドでMicrosoft関連の署名がないアドオンプログラムを排除することで、状況が緩和できるはずです。
1) 左下のWindowsアイコンを右クリックして[Windows PowerShell(管理者)]を選択。

2) ファイルの整合性確認
以下を実行。
Repair-WindowsImage -Online -RestoreHealth
[ImageHealthState : Healthy]が表示されずにエラーが出るようならば、システムが壊れていますので、必要なデータをバックアップ後に、Windowsクリーンインストールしたほうがいいです。

3) explorer.exeに寄生しているアドオンプログラムの制限
以下を実行。
Set-ProcessMitigation -Name explorer.exe -Enable MicrosoftSignedOnly
Set-ProcessMitigation -Name explorer.exe -Enable AllowStoreSignedBinaries

元に戻す場合には、以下を実行。
Set-ProcessMitigation -Name explorer.exe -Disable MicrosoftSignedOnly
Set-ProcessMitigation -Name explorer.exe -Disable AllowStoreSignedBinaries

4) Windowsを再起動

Windows 10 ver.1607ならば、EMETで似たようなことはできます。

いずれにしろ、explorer.exeに寄生しているアドオンプログラムにどんなものがインストールされているかなんて確認するのは面倒な話になりますので、必要なデータをバックアップ後に、Windowsクリーンインストールしたほうが、確実に成果が出るでしょう。





 

 

https://support.microsoft.com/ja-jp/help/929833/use-the-system-file-checker-tool-to-repair-missing-or-corrupted-system
システム ファイル チェッカー ツール (SFC.exe) を実行する
これを行うには、次の手順を実行します。
管理者としてコマンド プロンプトを開きます。 これを行うには、お使いのオペレーティング システムに応じて次の手順を実行します。
すべて表示
Windows 8.1 または Windows 8
Windows 10、Windows 7、または Windows Vista
Windows 10、Windows 8.1、または Windows 8 を実行している場合は、システム ファイル チェッカーを実行する前に、まず受信トレイの展開イメージのサービスと管理 (DISM) ツールを実行します (Windows 7 または Windows Vista を実行している場合は、手順 3 にスキップしてください)。

次のコマンドを入力し、Enter キーを押します。 コマンドの処理には数分間かかることがあります。

DISM.exe /Online /Cleanup-image /Restorehealth
重要: このコマンドを実行すると、DISM は Windows Update を使用して破損の修復に必要なファイルを提供します。 ただし、Windows Update クライアントが既に破損している場合は、修復ソースとして実行中の Windows インストールを使用するか、ファイルのソースとしてネットワーク共有またはリムーバブル メディア (Windows DVD など) の Windows のサイドバイサイド フォルダーを使用します。 これを行うには、次のコマンドを実行します。

DISM.exe /Online /Cleanup-Image /RestoreHealth /Source:C:\RepairSource\Windows /LimitAccess
注: C:\RepairSource\Windows の部分は、実際の修復ソースの場所に変更してください。 DISM ツールを使用して Windows を修復する方法については、「Windows イメージを修復する」を参照してください。

コマンド プロンプトで以下のコマンドを入力し、Enter キーを押します。

sfc /scannow

Command Prompt with administrator rights - sfc /scannow

sfc /scannow コマンドにより、保護されているすべてのシステム ファイルがスキャンされ、破損したファイルが、%WinDir%\System32\dllcache の圧縮フォルダーにあるキャッシュ コピーに置き換えられます。
%WinDir% の部分は、実際の Windows オペレーティング システムのフォルダーに変更してください (例 :C:\Windows)。

注: 確認が 100% 完了するまで、このコマンド プロンプト ウィンドウを閉じないでください。 スキャンの結果は、このプロセスが終了した後に表示されます。

この処理が完了した後、次のいずれかのメッセージが表示されることがあります。

Windows リソース保護は、整合性違反を検出しませんでした。

これは、不足または破損しているシステム ファイルがないことを意味します。

Windows リソース保護は要求された操作を実行できませんでした。

この問題を解決するには、システム ファイル チェッカーのスキャンをセーフ モードで実行し、%WinDir%\WinSxS\Temp の下に PendingDeletes フォルダーと PendingRenames フォルダーが存在することを確認します。

Windows リソース保護は、破損したファイルを検出し、正常に修復しました。 詳細は CBS.Log (%WinDir%\Logs\CBS\CBS.log) にあります。

システム ファイルのスキャンと復元に関する詳細情報を表示するには、「システム ファイル チェッカーの処理の詳細を表示する方法」を参照してください。

Windows リソース保護は、破損したファイルを検出しましたが、その一部を修正できませんでした。 詳細は CBS.Log (%WinDir%\Logs\CBS\CBS.log) にあります。

破損したファイルを手動で修復するには、システム ファイル チェッカーの処理の詳細を表示して破損したファイルを確認し、破損したファイルを、正常であることが判明しているファイルのコピーに手動で置換します。

詳細情報
システム ファイル チェッカーの処理の詳細を表示する方法
CBS.Log ファイルに含まれる詳細を表示するには、Findstr コマンドを使用して Sfcdetails.txt ファイルに情報をコピーし、Sfcdetails.txt の詳細を表示する方法があります。 これを行うには、次の手順を実行します。
上記の手順 1. に記載されている手順で、管理者特権を持つコマンド プロンプトを開きます。
コマンド プロンプトで以下のコマンドを入力し、Enter キーを押します。
findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log >"%userprofile%\Desktop\sfcdetails.txt"
注: この sfcdetails.txt ファイルには、コンピューターでシステム ファイル チェッカー ツールを実行するたびに詳細情報が記録されます。 これには、システム ファイル チェッカー ツールで修復されなかったファイルに関する情報が含まれています。 日付と時刻をチェックして、前回システム ファイル チェッカー ツールを実行したときに見つかった問題を確認します。
デスクトップから Sfcdetails.txt ファイルを開きます。
Sfcdetails.txt ファイルの形式は以下のとおりです。
日付/時刻 SFC 詳細
修復できなかったファイルに関するエントリが含まれているログ ファイルの例を以下に示します。
2007-01-12 12:10:42, Info CSI 00000008 [SR] Cannot
repair member file [l:34{17}]"Accessibility.dll" of Accessibility, Version =
6.0.6000.16386, pA = PROCESSOR_ARCHITECTURE_MSIL (8), Culture neutral,
VersionScope neutral, PublicKeyToken = {l:8 b:b03f5f7f11d50a3a}, Type
neutral, TypeName neutral, PublicKey neutral in the store, file is missing


破損したシステム ファイルを、正常であることが判明しているファイルのコピーに手動で置き換える方法
どのシステム ファイルが破損していて、Sfcdetails.txt ファイルの詳細情報では修復できないことを確認した後、破損したファイルの場所を確認し、破損したファイルを、正常であることが判明しているファイルのコピーに手動で置き換えます。 これを行うには、次の手順を実行します。

注: 破損したファイルのあるコンピューターと同じバージョンの Windows を実行している別のコンピューターから、正常であることが判明しているシステム ファイルのコピーを取得することも可能です。 そのコンピューターでシステム ファイル チェッカー プロセスを実行して、コピーするシステム ファイルが正常なコピーであることを確認することをお勧めします。

破損したシステム ファイルの管理所有権を取得します。 これを行うには、管理者特権を持つコマンド プロンプトで、次のコマンドをコピーして貼り付け (または入力し)、Enter キーを押します。
takeown /f Path_And_File_Name
注: Path_And_File_Name の部分は、破損したファイルのパスとファイル名に変更してください。 たとえば、「takeown /f C:\windows\system32\jscript.dll」と入力します。
Command Prompt with administrator rights - command succeeded
管理者に破損したシステム ファイルへのフル アクセスを付与します。 これを行うには、次のコマンドをコピーして貼り付け (または入力し)、Enter キーを押します。
icacls Path_And_File_Name /GRANT ADMINISTRATORS:F
注: Path_And_File_Name の部分は、破損したファイルのパスとファイル名に変更してください。 たとえば、「icacls C:\windows\system32\jscript.dll /grant administrators:F」と入力します。
Command Prompt with administrator rights
破損したシステム ファイルを、正常であることが判明しているファイルのコピーに手動で置き換えます。 これを行うには、次のコマンドをコピーして貼り付け (または入力し)、Enter キーを押します。
Copy Source_File Destination
注: Source_File の部分は、破損したファイルのあるコンピューター上の、正常であることが判明しているファイルのコピーのパスとファイル名に変更し、Destination の部分は、破損したファイルのパスとファイル名に変更します。 たとえば、「copy E:\temp\jscript.dll C:\windows\system32\jscript.dll」と入力します。


別途散見情報!
Windows10にアップグレードしたのはいいけれど、エクスプローラーを開くとフリーズする人が多いようなので対策を書きます。

 

(1)コントロールパネルの「サウンド」→プログラムイベント内のエクスプローラーの「ナビゲーションの開始」のサウンドを「なし」に変更。

※そもそもコントロールパネルが開けない場合は画面右下の音量調節のアイコンを右クリックし「サウンド(S)」をクリックすると「サウンド」が表示されます。


(2)スタートボタンの【設定】から【更新とセキュリティ】→【Windows Defender】を開きクラウドベースの保護を『オフ』→再起動。



(3)【ディスプレイの設定】から【ディスプレイの詳細設定】→【テキストやその他の項目のサイズ調整】→『カスタムの拡大率を設定】(上から4行目)へ

カスタムサイズの変更オプションのプルダウンメニューで『125%』に変更。(150%や200%に変更しても効果が出ることもある。)


(4)メニューなどのテキストサイズを『12bold』から『10Regular』に変更。




(5)Windowsクリーンインストールする。(最後の手段)