時々、WindowsXP が入っている DELL Vostro 1000 ノートPCを使っています。
この Vostro 1000 は Vista Business の XPダウングレードオプションで購入したため、Windows Vista と XP で使えるのは当然なのですが、Windows7 以降はサポートがありません。つまり、Windows7, 8, 10 は使えないって事。厳密には、Vista のビデオドライバーが Windows7 でも使えるので、サポートを無視すれば Windows7 が動きます。購入した時のOSから一度も次のOSへアップグレード出来ない売り方って何事?って思いますが、機能的にはXPで十分。64bit Windows7 を入れないと メインメモリに 2GB の DDR2 SO-DIMMを2枚入れて4GBにしても、4GB のメモリ容量を生かせないのが残念。
さて、この Vostro1000 ですが、最近は出番が少ない。使おうとすると、ログオン時にパスワード認証がエラーになるという原因不明の症状が発生しています。
ログオンしようとすると、エラーとなって入れない。タイプミス?と何度かアカウント情報を入れるのですが、引き続きエラーが発生。パスワードを変えたわけでもないのに・・・・とよく見ると、NumLock ランプが点灯していて、アルファベットだと思って入力した文字が数字になってしまいパスワードエラーとなるわけです。
WindowsNT 3.5 の頃から使っているので、レジストリに NumLock の初期値が記録されていることは知っていて、この現象が発生する度に、regedit を開いてレジストリを修正していました。または、しばらく手動で NumLock を Off にしていました。
\HKEY_USERS\.DEFAULT\Control Panel\Keyboard キーの InitKeyboardIndicators 0 で起動時 非アクティブ、2 で起動時アクティブ
Vostro 1000 の場合は、BIOS設定には起動時の NumLock 状態を On/Off する設定は無く、OS起動時は Off のままです。(下図)
ところが、気づくと、ログオン画面では NumLock がアクティブになっていてイラってきていました。
先日、Vostro1000のバッテリーを交換するためにドタバタしていた時、ようやく原因がわかりました。
デスクトップPCからリモートデスクトップで接続した後、厳密にはリモートデスクトップクライアントのNumLock が On の状態で切断した場合、クライアントのNumLock の状態がサーバーである Vostro 1000 の NumLock に引き継がれ、さらにシャットダウン時に(なぜか)InitKeyboardIndicators レジストリに記録されてしまうために、このような現象になっていたと判明しました。
今まで原因に気づかなかったのは、Vostro 1000 をリモートデスクトップで使う時は、動作確認用のPCとして使う場合なので、PCをネットワークと電源につないで放置。リモートデスクトップだけで使って、コマンドプロンプトから shutdown コマンドで電源停止。
次回、Vostro1000をノートパソコンとして別の場所で使う時に、「あれ、NumLock がONだ!」と気づくわけです。利用する時間間隔が空いてしまい、前回の使い方を忘れてしまっていたというわけです。
今回たまたま、リモートデスクトップで使って切断した後、キーボードからログオンしようとしてようやく原因に気づくことが出来ました。
NumLock Off で起動する時のレジストリ
NumLock On で起動する時のレジストリ
リモートデスクトップクライアントが Windows PCである場合は、NumLock を Off にして切断すればこの症状を回避できます。
Mac OS から Remote Desktop Connection を使う場合、テンキーがあっても NumLock LEDがない場合があるので慣れが必要。
原因と解決策がわかったので、ここにメモしておきます。
確認できたのは、サーバーが Windows XP Pro の場合だけです。