ブルースクリーン(BSoD)特集
mixiを散歩していたら、ブルースクリーンならぬ、グリーンスクリーンになった人々が居たので、ちょっとネタにすることにしました。
ブルースクリーン(BSoD)ですぐにPCが再起動して文字が読めない
よくある話ですが、システムのプロパティの、起動と回復に設定があります。

システムエラーで自動的に再起動するのチェックが入っていると、BSoDの後のメモリダンプが終わると勝手に再起動してしまいます。
意図的にBSoDを発生させたい
Windows XP/2000/2003用
右の Ctrl キーを押しながら ScrollLock キーを 2 回押すことでBSoDを任意のタイミングで発生させることができます。
要するに、いつでも好きなときのWindowsのメモリの中身をファイル化することが可能になります。
標準キーボードの場合
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters
にCrashOnCtrlScrollという名前を作成して、 REG_DWORD で1を設定します。
USBキーボードの場合
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kbhid\Parameters
にCrashOnCtrlScrollという名前を作成して、 REG_DWORD で1を設定します。
BSoDの色を変更したい
Windows 9x 系の場合は \WINDOWS\System.iniに以下の設定を加えることで、色を変更できます。
| [386enh] woafont=app932.FON EGA80WOA.FON=EGA80WOA.FON EGA40WOA.FON=EGA40WOA.FON CGA80WOA.FON=CGA80WOA.FON CGA40WOA.FON=CGA40WOA.FON MessageBackColor=2 MessageTextColor=F |
デフォルトは 1が青、2が緑、4が栗色
Windows2000/XPの場合
NTOSKRNEL.EXEの中で処理されていて固定値です。
逆アセンブルしてみると栗色のRSoDと緑色のGSoDとネイビーのBSoDの3種類がコードの中に定義されています。
BSoDは KeBugCheckEx / KeBugCheck から呼ばれますが、コードを追ってみたところ、他の色は、NTOSKRNEL.EXEのメイン処理内でエラーが発生した場合に出てくるようです。
ちなみに該当箇所のコード
| call InbvAcquireDisplayOwnership call InbvResetDisplay push 00000004h … ネイビー指定 push 000001DFh … 右座標 479 mov esi,0000027Fh … 底座標 639 push esi push ebx push ebx call InbvSolidColorFill push 0000000Fh … テキスト白 call InbvSetTextColor push ebx call InbvInstallDisplayStringFilter push 00000001h call InbvEnableDisplayString |
色コードについては こんな感じ
1…粟色 2…緑 3…オリーブ(橄欖) 4…ネイビー 5…紫 6…ティール(水鴨色) 7…灰色 8…銀色 9…赤 10…ライム(酸橙色) 11…黄色 12… 青 13…フクシア(紫紅色) 14…水色 15…白


真っ白に燃え尽きたり、赤くしてみたり・・・。

緑にしてみたり。
XPの場合は、FFFF6A0468DF010000 を検索して 04 の部分を変更すると背景色変更、 その後に出てくる最初の 6A0F の 0Fを変更すると 文字色が変更できます。(SP1~SP3共通)
2000の場合は、FFFFBFDF0100006A04 を検索して、同様に04、0Fの部分を変更します。
後、fcwinで チェックサムをあわせて Windows File Protectionを無効にするか、\WINDOWS\Driver Cache\i386 のフォルダ名を変更してしまえば、後は、SYSTEM32にコピーしなおすだけで 置き換えることができます。

このダイアログが出てきてキャンセルすれば成功。
失敗した場合は、起動できなくなるので、オリジナルをバックアップしておきましょう。
自分で置き換えるのが怖い人は、BSOD Properties NTなんてのもあるようです。(こちらは、ドライバで関数をフックします)
関連サイト:
MessageBackColor および MessageTextColor の設定の色の値
HTML色名/颜色(色相)名称
キーボード操作でメモリ ダンプ ファイルを作成できる Windows の機能
Windows Server 2003 で、カーネル ダンプ ファイルまたは完全メモリ ダンプ ファイルを生成する方法
Kevins Crate.com/Blog ≫ Change The BSOD or Blue Screen Of Death To A Different Color
BSOD Properties NT公開 – やや温め納豆


Windows XP以降でしか使えない”Google日本語入力”をWin2000 Proで使いたいんです。よろしくお願いします。http://tools.google.com/dlpage/japaneseinput/thankyou.html?hl=ja&platform=win_i386
昔NECのPC9821Nr15でWindowsNT4.0を使っていた頃もよく『STOP0x00…』画面が出たのですが、PC9800用のNT4.0のSTOP画面はは黒背景に白い内蔵フォントでMS-DOSのコンソール画面と同じでした。(ブラックスクリーン?)
Windows2000Beta3のSTOP画面はAT互換機と同じ青背景に白いグラフィックフォントだったので初めてSTOP画面を見たときおかしくて笑い転げてしまいました。
なんだか無理して頑張ってる感が可愛らしかったです。