Hatena::ブログ(Diary)

satosystemsの日記 このページをアンテナに追加 RSSフィード

2013-03-06

[] 【絶対】PC の時計を 2099 年 12 月 31 日にしてはいけない【ダメ】

f:id:satosystems:20130306143837p:image

下手すると PC が起動しなくなります。

コンピュータには 2036 年問題というのがあって、簡単に言うと、2036 年のある時刻以降、内部時計が 1900 年に戻ってしまうというもの。まあこれぐらいならかわいらしい現象です。

僕は実際に 2099 年 12 月 31 日 23 時 59 分ちょうどに設定してみました。そこからの 1 分はまさにカタストロフィでした。

まず、常駐しているアプリが不正終了したりエラーダイアログを出したりして、1 分後の大惨事を知らない僕はこの状況を少し楽しんでいました。エラーダイアログのキャプチャなんかを撮ったりして。

Cygwin で date コマンドを打つと、196x 年ぐらいだったので、まさに 2036 年問題が発生していました。

出てきたエラーダイアログのひとつは .NET Framework のスタックトレースが出ていたので、なんだろうな、と眺めていた時に、年が明けて 2100 年になってしまったようです。

その瞬間、Windows は画面を表示したままフリーズしてしまいました。

復旧の手段がないので、電源を落として再起動。

なんと、PC が起動せず、ビープ音を発し続けます。BIOS すら出ない。

職場で PC がビープ音を鳴らし続け、周りの人が振り返るのは、結構こたえます。

とりあえずその日は定時を過ぎていたので、電源を落とし、何食わぬ顔で帰宅。

帰宅途中、いろいろ考察。

まず、PC がビープ音を出して起動しないということは、BIOS が正常ではないということ。ビープ音が出たことでいたたまれぬ思いをしたけど、逆に異常時にちゃんとビープ音が出るというのはよくできた BIOS で助かった。

Windows が 2100 年の時刻を BIOS に書き込んだのが原因なのか?でも OS から定期的に BIOS の時計をいじったりするかね?BIOS が勝手に時刻をインクリメントして、勝手に死んだというのが正しいような気がする。これを証明するには BIOS で時刻を 2099/12/31 23:50:00 にセットして、電源を切って 10 分放置すればよいが、そんなことはしたくない。

BIOS の時刻だけの問題なら、CMOS の初期化をすればいいはず。CMOS の初期化はバックアップ用のボタン電池を外せばいいだけだ。ということで、その日はそれ以上は考えないことにした。

翌日早めに出社してマザーボードを確認。幸いデスクトップだったので、マザーボードへのアクセスは比較的簡単に行えた。それでも、どでかいグラフィックカードが干渉するので、取り外さなければならなかったが。

ボタン電池を外し、放電 1 分。電池を装着し、仮組みをして電源 ON。

BIOS が出た!!

時刻は 2005 年になっていた。適当に直して OS を起動。事なきを得た。


これを読んで、「やってみたい」と思う人はいないとは思うけど、やるなら自己責任でお願いします。

ss 2013/03/09 23:27 はてブでタイトルだけ読んでやってみたらPCがぶっ壊れました・・・

もう顧客データ見れません・・・

mm 2013/03/10 03:24 ドキドキしながらやってみたけど無事2100年の元旦を迎えてしまった。
つまらん。
ちなみに環境はノートPCでsharpのPC-50S、OSはxpのsr3。
?59分にセットしてwindows起動中に新年を迎えるパターン、
?57分にセットして再起動後、windows起動中に新年を迎えるパターン、
?58分にセットしてwindowsシャットダウンし、新年を迎えてからwindows起動するパターン
やったけど全部無事だった。

CC 2013/03/10 05:06 量販店の展示PCが軒並み危なくなるな

へへへへ 2013/03/10 11:02 2000年問題で飽きた
何十回と騙された地球滅亡説と同じ

天誅天誅 2013/03/10 15:55 会社のPCで遊んでんじゃねーよ。自業自得だアホ。

MURMUR 2013/03/10 20:30 そうだよ(便乗)

C丼C丼 2013/03/11 22:41 http://ikakimchi.livedoor.biz/archives/6973662.html

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト

コメントを書くには、なぞなぞ認証に回答する必要があります。