Thursday, March 29, 2007

Windows のコマンドラインで実行される Java

アプレットやアプリケーションで使用される JRE は Windows コントロールパネル中の Java コントロールパネルで切り替えることができる。

http://fortunefield.blogspot.com/2005/12/thinkpad-r1-eclipse-311.html

ここでの変更は、コマンドラインや Cygwin で実行される java コマンドには影響しない。ユーザ環境変数 PATH での指定も効果がなかった。この理由は、設定した PATH の前に Windows が勝手にパスを付け加えてしまい、付け加えられる PATH の1つである

C:\WINDOWS\system32

には java.exe が存在しているからだ。そして、この java.exe は、レジストリに登録されている情報から使用する JRE の位置を取得するというわけだ。

Microsoft Windows プラットホームでの Java2 Runtime Environment

なお、javac コマンドは、system32 フォルダ中に存在しないので、ユーザ環境変数 PATH に設定したとおりに実行できた。

Monday, March 12, 2007

Windows で "STOP 0x0000007B" エラーが出ちまった!

職場の Windows 2000 サーバを起動しようとしたら、Blue Screen になって止まってしまった。ブートボリュームが破損していると判断し、復旧を試みる。

ドライブを取り外して、他の Windows マシンにつなぐのは面倒なので、Windows XP の OEM ディスクで CD-ROM ブートし、自動で実行されるコマンドプロンプトから


CHKDSK C: /F


を実行。これにより、ハードディスクの不良セクタが修正され、元通りハードディスクから起動できるようになった。ちなみに、CHKDSK に指定する引数の順番に注意。オプション、ドライブ名の順でも実行できたが、復旧には失敗し、ハードディスクからのブートはできないままだった。