web-dev-qa-db-ja.com

Windowsがバグチェックのミニダンプを保存しないのはなぜですか?

バグチェックが発生したときにミニダンプを%SystemRoot%\Minidumpに保存するために、以下で説明するWindowsを修正するにはどうすればよいですか?通常どおりです。どのドライバーが失敗し、削除または変更する必要があるかを知るためにミニダンプが必要です

recoveros

recoverosの設定は正しい

wmic recoveros list /format:list && wmic recoveros get debuginfotype,minidumpdirectory /format:list
AutoReboot=TRUE
WriteDebugInfo=TRUE
WriteToSystemLog=TRUE
DebugInfoType=3
MiniDumpDirectory=%SystemRoot%\Minidump

自動再起動が無効になっているかどうかは関係ありません

wmic recoveros set autoreboot=false

バグチェック番号

バグチェック番号が重要であるという兆候はありません(一部のバグチェック番号に対してミニダンプが保存されている)。

  • 307(2012-12-03-2013-10-06)日間ミニダンプが保存されていません

  • Control Panel\System and Security\Action Center\Reliability Monitorによると、この期間中のバグチェックの数は約37です。

保存されないバグチェック名の例は次のとおりです。

PROCESS_HAS_LOCKED_PAGES
no bugcheck name (the "BugCheck name" row in the topic "Bugcheck display" isn't written)

バグチェック表示

バグチェックは、ミニダンプイベント(1001)が保存されたときと同じメッセージを表示します(ミニダンプが保存されないことを示さないでください)

A problem has been detected and Windows has been shutdown to prevent damage to your computer.

BugCheck name (this row is sometimes not displayed)

General information

Technical information:

*** STOP: BugCheck code (arguments)

*** driver where BugCheck was called

Collecting data for crash dump ...
Initializing disk for crash dump ...
Physical memory dump complete.
Contact your system administrator or technical support group for further assistance.

wevtutil

バグチェックが発生したとき

Windowsはミニダンプイベントを保存しません(1001)

wevtutil qe system /q:*[System[EventID=1001]] /rd:true /f:text /c:1

Windowsは他のバグチェックイベントを保存します

wevtutil qe system /q:*[System[EventID=41]] /rd:true /f:text /c:1
  Date: 2013-01-29T19:15:42.198
The system has rebooted without cleanly shutting down first. This error could be caused if the system stopped responding, crashed, or lost power unexpectedly.

wevtutil qe system /q:*[System[EventID=6008]] /rd:true /f:text /c:1
  Date: 2013-01-29T19:15:47.000
The previous system shutdown at 7:14:47 PM on ‎1/‎29/‎2013 was unexpected.

wevtutil qe system /q:*[System[EventID=1076]] /rd:true /f:text /c:1
  Date: 2013-01-29T19:16:49.000
The reason supplied by user PC\User for the last unexpected shutdown of this computer is: System Failure: Stop error
 Reason Code: 0x805000f
 Problem ID:
 Bugcheck String:
 Comment:

werfault

BugCheckの後で起動すると、Windowsはこのwerfaultダイアログを表示しません

Windowsが予期しないシャットダウンから回復しました

Windowsは、問題の解決策をオンラインで確認できます。

信頼性モニター

バグチェックでミニダンプが保存されない場合、信頼性モニターの履歴にこのメッセージが表示されます

重要なイベント

Windodwsが適切にシャットダウンされなかった

2013年8月21日の午前2時11分08秒の前回のシステムシャットダウンは予期していませんでした。

バグチェックがミニダンプを保存するときのこのメッセージの代わりに

重要なイベント

Windowsが機能しなくなった

コンピュータがバグチェックから再起動しました。バグチェックは0x0000003b(0x00000000c0000005、0xfffff96000352e77、0xfffff8802385fea0、0x0000000000000000)でした。ダンプはC:\ Windows\Minidump\100613-14570-01.dmpに保存されました。レポートID:100613-14570-01。

minidumpscount

minidumpscountが0より大きい(そして、重要な場合は、ミニダンプの数より大きい)

reg query hklm\system\currentcontrolset\control\crashcontrol /v minidumpscount
    minidumpscount    REG_DWORD    0x3e7

dir %systemroot%\minidump | tail -2
              35 File(s)      9▒917▒969 bytes

pagefileset

ミニダンプを保存するための適切なpagefilesetサイズは不明です。このサイズかもしれません

wmic pagefileset list /format:list
InitialSize=1000
MaximumSize=1000

これらのサイズは問題を解決せずに試されました

wmic pagefileset where name="c:\\pagefile.sys" set initialsize=2000,maximumsize=2000
wmic pagefileset where name="c:\\pagefile.sys" set initialsize=3000,maximumsize=3000
wmic pagefileset where name="c:\\pagefile.sys" set initialsize=4000,maximumsize=4000
wmic computersystem where name="%computername%" set automaticmanagedpagefile=true

attrib

ミニダンプフォルダは読み取り専用ではありません(つまり、BugCheckがミニダンプを保存できるようにします)

attrib %SystemRoot%\Minidump
        I    C:\Windows\Minidump

icacls

ミニダンプフォルダのセキュリティは正しいです(つまり、BugCheckがミニダンプを保存できるようにします)

icacls %SystemRoot%\Minidump
C:\Windows\Minidump BUILTIN\Administrators:(OI)(CI)(F)
                    NT AUTHORITY\SYSTEM:(OI)(CI)(F)

Successfully processed 1 files; Failed processing 0 files

rmdir

ミニダンプフォルダは、次の理由で削除されます

  • これにより、通常、次のBugCheckが正しいセキュリティのフォルダを作成するため、フォルダのセキュリティが間違っている可能性が低くなります。
rmdir /s /q %SystemRoot%\Minidump

ただし、BugCheckは、%SystemRoot%\ Minidumpという名前のフォルダーを作成しません。ただし、以下のmkdirコマンドを使用してミニダンプフォルダを手動で作成しても、BugCheckがミニダンプを保存することはありません。

mkdir %SystemRoot%\Minidump

最後のミニダンプ

ミニダンプがある最後の41のイベントは

wevtutil qe system /q:*[System[EventID=41]] /rd:true /f:text /c:6
Event[5]:
  Date: 2012-12-03T06:21:37.590

dir %systemroot%\minidump /o:-d | head -8 | tail -1
2012-12-03  06:21           322▒616 120312-37830-01.dmp

システム

私のシステムは

Operating System
    Windows 7 Ultimate 64-bit SP1
CPU
    Intel Core i7 3770K @ 3.50GHz   49 °C
    Ivy Bridge 22nm Technology
RAM
    32,0GB Dual-Channel DDR3 @ 668MHz (9-9-9-24)
Motherboard
    ASUSTeK COMPUTER INC. P8Z77-M PRO (LGA1155) 36 °C
Graphics
    Dell U2312HM (1920x1080@60Hz)
    BenQG2222HDL (1920x1080@60Hz)
    Intel HD Graphics 4000 (ASUStek Computer Inc)
    1024MB ATI AMD Radeon HD 6800 Series (XFX Pine Group)   79 °C
Hard Drives
    112GB OCZ-VERTEX2 ATA Device (SSD)  30 °C
Optical Drives
    QBCNK MRSHA3S5 SCSI CdRom Device
Audio
    Corsair Vengeance 2000 Headset

利用可能なc:ディスク容量は

fsutil volume diskfree c:
Total # of free bytes        : 19957088256
Total # of bytes             : 119926681600
Total # of avail free bytes  : 19957088256
3
John Peterson

回答

Pagefile.sysのサイズを≥RAM sizeに変更します

解決策は、pagefile.sysのサイズを≥RAM sizeに変更することです

wmic computersystem where name="%computername%" set automaticmanagedpagefile=true

wmic pagefile list /format:list
AllocatedBaseSize=32635
CurrentUsage=0
PeakUsage=0

dir /ah c:\pagefile.sys
2013-10-06  14:29    34 220 941 312 pagefile.sys

この後、質問で使用されている最大ページファイルサイズ(4000)よりも小さいサイズにページファイルを変更した後でも、ミニダンプが保存されます。

wmic pagefileset where name="c:\\pagefile.sys" set initialsize=10000,maximumsize=10000
wmic pagefileset where name="c:\\pagefile.sys" set initialsize=5000,maximumsize=5000
wmic pagefileset where name="c:\\pagefile.sys" set initialsize=4000,maximumsize=4000
wmic pagefileset where name="c:\\pagefile.sys" set initialsize=3000,maximumsize=3000
wmic pagefileset where name="c:\\pagefile.sys" set initialsize=2000,maximumsize=2000

空きc:ディスク容量を≥RAMサイズに増やす

および/または解決策は、空きc:ディスク容量を≥RAMサイズに変更する(そしてページファイルサイズを少なくとも2000に設定する))ことです。

  • どの変更で問題が解決したかを判別できません(「ディスクサイズまたはページファイルサイズを変更した後に解決した問題」で説明)

ディスクサイズまたはページファイルサイズを変更すると問題が解決しました

問題は後に解決されました

  • ページファイルのサイズを> RAM sizeに変更する

  • および/または空きc:ディスク容量を≥RAM sizeに変更する

この後、ページファイルのサイズを32 G(automaticmanagedpagefile = true)から2 G(maximumsize = 2000)に減らしても問題が戻らないことがわかりました。

どの変更で問題が解決したかを判断できません。

  • 空きディスク容量とページファイルサイズの両方を> RAM size(32 G)に変更した後、問題は解決しました。

  • 質問のwページファイルサイズが4G(maximumsize = 4000)の場合、BugCheckはミニダンプを保存する必要がありました。BugCheckがミニダンプの保存を再開した後、ページファイルサイズが4 G(maximumsize = 2000)未満に減少した後も、ミニダンプを保存し続けたためです。

システム

質問のトピック「システム」と比較したシステム(Speccy出力)の違いは

Hard Drives
    233GB Samsung SSD 840 EVO 250GB ATA Device (SSD)    34 °C

ディスクスペース

利用可能なc:ディスク容量は

fsutil volume diskfree c:
Total # of free bytes        : 82576859136
Total # of bytes             : 249844199424
Total # of avail free bytes  : 82576859136

ページファイルのサイズとミニダンプ

この出力で説明されているように、BugCheckがミニダンプを作成するページファイルのサイズ

wmic computersystem where name="%computername%" set automaticmanagedpagefile=true

dir %systemroot%\minidump /o:-d | head -9 | tail -2
2013-10-06  14:29           324▒949 100613-14570-01.dmp
2012-12-03  07:21           322▒616 120312-37830-01.dmp

wmic pagefileset where name="c:\\pagefile.sys" set initialsize=10000,maximumsize=10000

dir %systemroot%\minidump /o:-d | head -9 | tail -2
2013-10-11  18:46           324▒045 101113-13587-01.dmp
2013-10-06  14:29           324▒949 100613-14570-01.dmp

wmic pagefileset where name="c:\\pagefile.sys" set initialsize=5000,maximumsize=5000

dir %systemroot%\minidump /o:-d | head -9 | tail -2
2014-01-05  04:50           325▒061 010514-12417-01.dmp
2013-10-11  17:46           324▒045 101113-13587-01.dmp

wmic pagefileset where name="c:\\pagefile.sys" set initialsize=4000,maximumsize=4000

dir %systemroot%\minidump /o:-d | head -9 | tail -2
2014-01-23  03:45           323▒205 012314-11481-01.dmp
2014-01-05  04:50           325▒061 010514-12417-01.dmp

wmic pagefileset where name="c:\\pagefile.sys" set initialsize=3000,maximumsize=3000

dir %systemroot%\minidump /o:-d | head -9 | tail -2
2014-02-15  02:12           323▒013 021514-10873-01.dmp
2014-01-23  03:45           323▒205 012314-11481-01.dmp

未解決の問題

これらの問題は、トピック「回答」で説明されている解決策を適用した後でも未解決のままです。

ミニダンプの最小pagefile.sysは説明されていません

Microsoftは、RAMが32GBの場合にWindowsがミニダンプを保存するpagefile.sysの最小サイズを明確に説明していません。

誤解を招くBugCheck画面メッセージ

Microsoftは、「物理メモリダンプが完了しました」と記述して、ユーザーを誤解させます。ミニダンプが保存されていない場合もBugCheck画面で

Samsung Magicianの推奨事項は、Windowsがミニダンプを保存しない原因となる可能性があることを示していません

Samsungは、Samsung Magician4.2.1の「SYSTEMMANAGEMENT> OSOptimization」のpagefile.sysサイズの推奨により、BugCheckがミニダンプを保存しない可能性があることを示していません。

サムスンマジシャン4.2.1「システム管理> OS最適化」の推奨事項は

Maximum Capacity and Maximum Reliability

Virtual Memory

Virtual memory will be set to an initial size of 200 MB and a maximum of 1 GB.


Advanced

Manually set virtual memory in Windows Performance Options. If your PC has more than 4 GB of RAM, Samsung recommends you initially set virtual memory to 200 MB with a maximum of 2 GB. Use the shortcut to the right to adjsut settings.

i.o.w. 「高度な」推奨事項は

wmic pagefileset where name="c:\\pagefile.sys" set initialsize=200,maximumsize=2000

勧告

Pagefile.sysの最小サイズを説明する

Microsoftは、BugCheckがミニダンプを保存するc:\ pagefile.sysの最小サイズを説明する必要があります。

  • RAMサイズが32GBの場合RAM "wmic pagefile list/format:list"からの "PeakUsage"出力が0になる場合があります。pagefileのユーティリティです。 sysは0です

  • 32 GB SSDのコストは0を超えています(約€15)

Pagefile.sysが小さいときにBugCheckがミニダンプを保存するようにWindowsを変更します

Microsoftは、c:\ pagefile.sysが小さい場合(たとえば、0.2 GB)にミニダンプを保存するようにWindowsを変更する必要があります。

  • 前の推奨の理由
  • ミニダンプにはユーティリティがあります(BugCheckの原因となるドライバーを特定します)。 I.o.w. BugCheckは常にそれを作成する必要があります
4
John Peterson