ブルースクリーン発生

このところ立て続けに Windows 7 のブルースクリーンが発生しています。

をみて、NirSoft の BlueScreenView v1.31 をダウンロード

日本語化ファイルも同じページの下の方にあります。

BlueScreenView で見ると ATI Radeon Kernel Mode Driver や DirectX Graphics Kernel がピンク表示。オンボードのグラフィクスで問題が起きている可能性が高そうです。

GIGAZINE によると

Bug Check String:バグチェック文字列。この文字列の名前で検索エンジンを使って検索してみれば、大体どのような種類のエラーで何が原因かわかりますし、解決方法も場合によってはわかります。

ということなので、「UNEXPECTED_KERNEL_MODE_TRAP」でググると、Microsoft のページがありました。

まさにこれですね。

原因を推定するには、STOP 画面の最初の行に表示されているパラメータを調べます。

最初のパラメータは 0x00000008 で、「0x00000008 二重フォールト」 です。

二重フォールト

ある例外に対するハンドラを呼び出そうとしているときに別の例外が発生すると、二重フォールトが発生します。通常、2 つの例外は順番に処理されますが、順番に処理できない例外が発生することがあります。この場合、プロセッサから二重フォールトが送信されます。主な原因 は、ハードウェアとカーネルのスタック オーバーフローの 2 つです。ハードウェアの問題は、通常、CPU、RAM、またはバスに関連するものです。カーネルのスタック オーバーフローは、カーネル モードのドライバの不良による場合がほとんどです。

だそうです。ずっと使ってきたドライバですから、Windows 7 SP1 との相性ということでもなければ、ドライバの問題とは考えられません。やはり、ハードウェアでしょうか。Microsoft によると、

この問題を解決するには、次のうち適切な方法を実行します。

  • ソフトウェアまたはハードウェアが特定のトラップの原因になっている可能性がある場合、原因を特定するにはデバッグが必要です。ハードウェアに問題があると思われる場合は、次の手順に従ってハードウェアのトラブルシューティングを実行します。
    1. ハードウェア メーカーによって提供される 診断ソフトウェアを実行し、コンピュータの RAM をテストします。不良と報告された RAM を交換します。また、コンピュータのすべての RAM の速度が同じであることを確認します。
    2. コントローラ、カード、またはその他の周辺機器を取り外すか、交換します。
    3. コンピュータのマザーボードを交換します。
  • 想定されているクロック速度を超えてプロセッサを実行している場合、想定されているクロック速度に戻します。
  • 更新されたハードウェア ドライバと BIOS のいずれか、または両方がハードウェアの製造元にあるかどうかを確認します。

プロセッサの障害の詳細については、Intel プロセッサのリファレンス マニュアルを参照してください。

オンボードのグラフィクスでは、RAM のチェックや、ホコリ取りに掃除くらいしかやりようがありません。

こんなページもありました。

このページの下の方に、RAM チェックのソフトも載っています。

ハードウェアの不調でありがちなのは、電源の劣化です。できそうなことというと、

  1. 掃除機でホコリを取る
  2. コネクタ抜き差しで接触不良の抑制を試みる。(アルコールで接点清掃)
  3. メモリのチェック。状態により、交換
  4. 電源交換
  5. オンボードのグラフィクスをオフにして、ボードに換える
  6. マザーボードごと一式交換、Windows から再インストール

こんなところでしょうかね。

(2011/2/28)

経過

環境: CPU は AMD Athlon X2 Dual Core 5050e、マザーボードは ASUS M3A78 PRO でオンボード ATI Radeon HD 3200 GPU、OS は Windows 7 Ultimate DSP 32bit にアップデートでサービスパック1 を適用済み。

PC内部を、ケーブルを外して掃除機を掛けました。 (2011/2/28)

メモリのテストは Memtest86 や Memtest86+ が定番のようです。CD-R などのブータブルメディアに焼いて DOS モードで実行させるようです。

によると、どちらでも似たようなものですが、どちらかというと Memtest86+ のほうが速くておすすめのようです。

からダウンロードします。ISO イメージを CD-R に焼いて、再起動。

パス1で50分、パス2で2時間半程かかりましたが、エラーは検出されませんでした。5パスくらいやったほうがいいという話もありますが、時間がかかるのであきらめました。少なくとも、明白なメモリエラーはないようです。

(2011/2/28)

使っているうちに、またブルースクリーン発生(2011/3/1)。今度はダンプをディスクに書き込もうとするところで完全に落ちたらしく、ログが残っていませんでした。

システム ハードディスクのエラーも疑い、 HDD の S.M.A.R.T. を

で眺めても、特に異常は見当たりません。

C: ドライブの[プロパティ]-[ツール]-[エラーチェック]でスキャンディスク(チェックディスク)を仕掛けます。時間がかかるので、夜中にセットして Windows 7 を再起動。

ログは [コンピュータの管理] – [イベント ビューアー] – [Windows ログ] – [アプリケーション] で Wininit を探します。「bad file」や「bad sectors」はなかったものの、

Cleaning up 267 unused index entries from index $SII of file 0x9.
Cleaning up 267 unused index entries from index $SDH of file 0x9.
Cleaning up 267 unused security descriptors.

ということで、修復が行われていました。この数が減るまで繰り返したほうがよいようですが、現在未実施。

新しい電源ユニットも届いたので、電源を交換してから再スキャンすることにします。

(2011/3/2)

電源を交換し、再度 C: をチェック。

Cleaning up 9 unused index entries from index $SII of file 0x9.
Cleaning up 9 unused index entries from index $SDH of file 0x9.
Cleaning up 9 unused security descriptors.

少しは減ったようです。

このディスクのチェック中にも応答なしになったり、BIOS 設定が変わったりしたので、ハードウェアがどこか不安定になっていそうな気がしてきました。

(2011/3/2)

新品の HDD と SATA ケーブルが来たので、Windows 7 を新規インストールしてみました。

その最中に別のサブマシンでもディスプレイドライバで障害が発生したので、もしかしたら、パソコンの本体ではなく、液晶ディスプレイか KVM スイッチ(キーボード・画面・マウスの切り替え器)が悪さをしているのではないかという疑いが出てきました。KVM スイッチを外して試しています。

HDD はいったん元の起動ディスクに戻して、SATA の場所を1番目から2番目にずらしてみました。IDE と違って、SATA はブートドライブの位置を簡単に変えられるので便利です。ハードウェアが不安定になってくると、コネクタの位置を変えて症状が緩和されることがあるのでやってみました。PCI や ISA バスで有効な手法でしたが、SATA では期待できないかもしれません。

(2011/3/4)

古い方の HDD では、なんとなく重くてブルースクリーンに至らない細かいエラーが頻発しているように見受けられる――たとえばエクスプローラがすぐ落ちる――ので、新規の起動 HDD に差し替えました。Tween、Adobe Reader、Thunderbird、Firefox、ATOK を入れて様子見しています。新規インストールしたばかりの Windows 7 Ultimate DSP 32bit は軽くて気持ちがいいですね。軽いだけでもブルースクリーンが出にくくなるのではないかと少し期待しています。

(2011/3/4)

その後….

KVM スイッチのハードウェアが原因だったのだろうと考えています。キーボード・画面・マウスの切り替え機を外してから調子よく動いています。代替のKVMスイッチは購入せず、Windows (Professional 以上?)に付属してくるリモートデスクトップや、TeamViewer のようなソフトを使っています。

(2012/2/15)

Librahack事件、中川氏と図書館が共同声明

岡崎市立中央図書館ならびに中川氏は、りぶらサポータークラブのコーディネートのもと、次の内容について合意いたしました。(以下略)

ということで、2011/2/25 付けで共同声明が岡崎市立中央図書館館長 大羽良と岡崎市立中央図書館利用者 中川圭右の連名で発表されました。上記リンクは「りぶらサポータークラブ」のもので、詳細については

同時に、図書館と中川氏(librahack氏)も発表しています。

共同声明に至るまで苦労したであろう様子がうかがわれます。

(2011.2.25)

工学具

まだ単独では検索に引っかかってこない言葉のようなので、初出 (2011/02/19) として、考えたことをメモしておきます。

工学具とはなにか。工具であり、工学の具であるもの、工と学と具をつなぐものです。ガジェットという言葉に近いのかもしれませんが、ガジェットはしっくりきません。

言葉や文になってきたらまた書きます。

(2011.02.19)

100Wの人間

関東でも雪が積もりました。寒いですね。

工学的には、人間を暖房に換算すると一人あたり 100 [W] 程度の発熱とされています。

計算してみましょう。

基礎代謝 – Wikipedia によると、基礎代謝は成人で、一日に女性で約1,200、男性で約1,500 [kcal] となっています。性別、年齢、体重ごとに 基礎代謝基準値 [kcal/kg/日] の表から細かく計算もできます。たとえば、男性、30〜49歳では、 22.3 [kcal/kg/日] 、仮に体重は 65 [kg] とすると、基礎代謝は、

22.3 [kcal/kg/day] × 65 [kg] = 1449.5 [kcal/day]

ということで、成人男性、約1500 [kcal] です。

基礎代謝はなにもせず寝ているだけでも最低消費する熱量ですから、実際の熱量はもう少し多くなります。栄養 – Wikipedia から、身体活動レベルが、低い: 1.5、普通: 1.75、高い: 2.0 となっていますから、座っているだけなら 1.5 になります。

1500 [kcal/day] × 1.5 = 2250 [kcal/day]

1 [J] ≒ 0.24 [cal] ですから、カロリーをジュールにすると、1 = (1/0.24) [J/cal] を掛けて

2250 [kcal/day] ÷ 0.24 [J/cal] = 9375 [kJ/day]

1秒あたりの熱量 [J/s] = [W] (ワット)にすると、

9375 [kJ/day]} × 1000 [1/k] ÷ 24 [day/h] ÷ 60 [h/min]} ÷ 60 [min/s] ≒ 109 [W]

以上、男性の場合ですが、女性でも同様に計算すると約 89 [W] です。

有効数字は2桁未満なので、結局、人間の発熱は約 100 [W] ということになります。

人が部屋にぎゅうぎゅう詰めになっていると、100 [W] の電球だらけに相当しますから、かなり暖かいことが数字でも分かります。逆に、寒い部屋に一人だけだと 100 [W] 電球1個分ですから、なかなか暖まりません。熱工学的には、温度変化、熱の出入りは表面積や空気の流れなどに依存しますが、それはまた別の話。

途中、単位の換算で奇妙な表記方法を使っていますが、ご愛敬ということでご勘弁を。

(2011/2/15)
計算式を通常のテキスト化 (2013/7/12)

空集合の記号

Twitter で奥村先生が

@h_okumura: 本当にΦと書いてある本もあります。岩波数学辞典でも第3版はΦにかなり近い字形です RT @munepixyz: 空集合を \emptyset ではなく、「\phi」と入力してくるTeX原稿が結構ある。なんでやろう? #TeX ( 2011/2/10 9:28 pm )

とつぶやいていて、それぞれどんな形だったかなと、LaTeX で描画させてみました。

  • \emptyset : \emptyset
  • \phi: \phi

空集合は φ (ファイ)じゃなかったんですね。

(2011.2.10)

追記

どうやら、いろいろ混乱があるようで、奥村先生がさらにツイート

h_okumura Haruhiko Okumura
空集合の記号 http://oku.edu.mie-u.ac.jp/~okumura/blog/node/2577 を書いたところたくさんのご教示をいただきました。ウィキペディア「空集合」にも少し手を加えてみましたがまだ不完全です。加筆いただければ幸いです (2011/02/11 9:38 pm
(2011.2.11)