ライトブログ

どれかキーを押すと,続行します.

DownScalingSupportedとブルースクリーン

windows8をインストールして3週間が経ちました。
動作はそこそこ良好で、起動も高速ですが、やっぱり
ブルースクリーンは出ますね。
7までのブルースクリーンは、BSODとも呼ばれ、
多くの人から恐れられてきましたが、8のブルースクリーンは、
:( ←こんな顔文字がついて日本語表記になっているようです。
ちょっと可愛いw

先日、画像のサイズを下げようと、圧縮を行っていました。
使用したソフトはMicrosoft Office Picture Manager 。
Officeに標準で入っているソフトの一つですね。
圧縮作業中、画面が真っ暗になって、青い画面に。
なんだブルースクリーンか・・・厄介だなと思って見ると、なんだこれは。


読めない。てかなんだこの点は。
でも背景色的にブルースクリーンであることは確か。

私のPCは、障害発生時の自動再起動を無効化しているので、
こういう画面のときはシステムが止まるようになっています。
ただ、これでは何のエラーなのか(そもそもエラーなのか)さえ
分からず。仕方ないので、電源ボタンで再起動しました。

再起動後、障害報告があり、やっぱりブルースクリーンだったと確信。
でも、何がエラーだったのかは分からなかったので、
ブルースクリーンの原因を調査できるBlueScreenView というソフトを
使い、チェックしてみることに。

すると、0x00000050   PAGE_FAULT_IN_NONPAGED_AREA
とのこと。問題を起こしたファイルは、ntoskrnl.exe

流れ的には、こんな感じです。
①画像処理中に物理メモリが不足

②ntoskrnl.exeによって、一部のカーネル(中枢機能)を
ディスクにスワップアウト(ページプール領域の形成)
させて、物理メモリの空き領域を確保する。

③ntoskrnl.exeが、スワップアウトされたカーネルをコールし、
記録されているメモリアドレスを元に、物理メモリ上に読みに行く。

④しかし、呼ぶために使用したメモリアドレス上には、なにもない。
  →スワップアウトされて解放されているため。

⑤ntoskrnl.exeが、誤った(無効な)メモリアドレスを読んだことを検出。

⑥非ページプール領域(物理メモリ内のカーネル専用領域)で、
  読み込みの誤り(ページ誤り)が発生したため、Windows
  ブルースクリーン (PAGE_FAULT_IN_NONPAGED_AREA)を表示して
  停止した。

このntoskrnl.exeは、さまざまな要因によってエラーを引き起こします。
ウイルス、メモリダンプファイル、メモリの相性、
ハードディスクの論理・物理障害などなど。
今回は、どれにも属さないものでしたので、偶発的なものだと思います。

これ自体も大きな問題ではあるのですが、それよりもブルースクリーン
文字化けすることが問題ですw
原因は不明ですが、きっとDownScalingSupportedを使い、ディスプレイ
をダウンスケーリング表示させていることが原因だと思っています。
前もブルースクリーンが出たのですが、その時も文字化けしていました。

この機能は、ディスプレイを無理やり表示して解像度を上げられる分、
映らないリスクがあるだけと思っておりましたが、
ブルースクリーンなどの重要な場面でも、文字化けという大問題を
引き起こすのかもしれません。