本記事はマイクロソフト社員によって公開されております。
こんにちは、Windows サポートチームの栗木です。
本記事では、Blue Screen of Death (BSOD、ブルースクリーン) の原因調査に有効な完全メモリ ダンプの出力設定についてご紹介いたします。
適用対象の OS
- すべての Windows OS
メモリ ダンプの概要
Windows には、ブルースクリーン発生時のメモリの状態を Memory.dmp ファイルとして保存できる機能がございます。メモリ ダンプを取得することで、ブルースクリーン発生時のオペレーティング システムのメモリの状態や行われていた処理などの詳細を確認でき、ブルースクリーンの原因調査を行うことができます。
完全メモリ ダンプの出力設定
メモリ ダンプの設定は、GUI から設定ができます。メモリ ダンプ作成時には、メモリの状態が pagefile.sys にコピーされるため、仮想メモリの設定も必要になります。以下の手順に沿って仮想メモリとメモリ ダンプ を設定していただき、変更内容を反映させるために再起動をお願いいたします。
仮想メモリの設定
ファイル名を指定して実行(Windows ロゴ キー + R)から SystemPropertiesPerformance.exe を実行し、パフォーマンス オプション を表示させます。
[詳細設定] タブの [仮想メモリ] 項目にある [変更(C)] ボタンをクリックします。
ページジング ファイルのサイズを設定します。
- [すべてのドライブのページング ファイルのサイズを自動的に管理する(A)] のチェックを外します。
- システムボリュームをクリックします。通常は Cドライブになります。
- [カスタムサイズ] を選択し、[初期サイズ]、[最大サイズ] に物理メモリ + 400 Mbyte 以上の値を入力します。例として、物理メモリ 8GB を搭載されているシステムでは 8592MB になります。
- [設定] ボタンをクリックして、設定を反映させ [OK] ボタンをクリックします。
メモリ ダンプの設定
ファイル名を指定して実行(Windows ロゴ キー + R)から SystemPropertiesAdvanced.exe を実行し、システムのプロパティ を表示させます。
[起動と回復] 項目にある [設定(T)] ボタンをクリックします。
[デバッグ情報の書き込み] 項目にあるプルダウンから 完全メモリ ダンプ を選択します。Windows 10 の場合は [ディスク領域が少ない時でもメモリ ダンプの自動削除を無効にする(A)] に追加でチェックを入れ、[OK] をクリックします。
システムの再起動を実施し、設定を反映させてください。
自動回復機能(ASR)の無効化
メモリ ダンプの作成には時間がかかるため、ダンプ作成中に自動回復機能(ASR)でリセットが発生し、メモリ ダンプの作成が失敗する可能性があります。ご利用のハードウェアにて自動回復機能 (ASR) がある場合は、無効化する必要があります。
コマンドによる完全メモリ ダンプの出力設定(GUI が利用できない場合)
ブルースクリーンが Windows 起動時にすでに発生し、GUI から完全メモリ ダンプの設定できない場合は、回復環境からコマンドプロンプトより、レジストリを直接変更することで完全メモリ ダンプの設定が可能です。レジストリの直接編集により誤った設定を行った場合、システム全般に 渡る重大な問題を引き起こす可能性がありますので GUI が利用できる環境では、必ず GUI から仮想メモリとメモリ ダンプの設定を行ってください。
仮想メモリの設定
1
reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Memory Management" /v PagingFiles /t REG_MULTI_SZ /d "c:\pagefile.sys 8592 8592" /f
"c:\pagefile.sys 8592 8592"
(”<ページ ファイル保存先> <初期サイズ (MB)> <最大サイズ (MB)>”)の部分は、環境に合わせて変更してください。メモリ ダンプの設定
1
2
3reg add "HKLM\System\CurrentControlSet\Control\CrashControl" /v FilterPages /t REG_DWORD /d 0 /f
reg add "HKLM\System\CurrentControlSet\Control\CrashControl" /v CrashDumpEnabled /t REG_DWORD /d 1 /f
reg add "HKLM\System\CurrentControlSet\Control\CrashControl" /v AlwaysKeepMemoryDump /t REG_DWORD /d 1 /f
参考 URL
- Complete Memory Dump
- How to determine the appropriate page file size for 64-bit versions of Windows
- Generate a kernel or complete crash dump
変更履歴
- 2021/02/15 : 本 Blog の公開