Windows 2000 の署名を消去して、正常に起動できるようにする方法およびそのためのソフトウェアツール
Copyright(C)2002-2003 まりも
ところがWindows2000の領域を新しいディスクにコピーした場合は、そのディスクには署名というものが書かれていないか、レジストリにない値が書かれていることになる。 後者の場合、これまで接続したことのないディスクと判断されてしまう。これまで たとえば D: ドライブとして起動することになっていたWindows2000の領域は、それ以外の空いているドライブレターで起動しようとしてしまう。ここで、ページファイルの作成先 D: も存在しないことになってしまうために、永久にログインできないという症状になってしまうのだ。
いっぽう前者の場合、すなわち署名がまったく書かれていない場合は、「デフォルトのドライブレター順序」が割り当てられ、起動途中に署名が書かれ、レジストリにも登録される。そのときデフォルトのドライブレター順序と現在のそれとが一致している場合は、ログインできるのだ。
したがって、Windows2000起動前に次のことをやっておけばログインできるはずだということになる。
デフォルトドライブレター順序は、次のように決定される(これはWindows98のATセットアップの場合と同じ)。
たとえばいままで下記の構成であったとすると、
・IDE
領域1 A: MS-DOS
・SCSI ID=0
領域1 B: MS-DOS
領域2 C: Windows98
領域3 D: Windows2000
デフォルトのドライブ順序で D:のWindows2000が D:として起動できるようにするためには、IDEの領域1を取り外し、さらにSCSIの領域1を削除しなければならないということになる。
しかしたとえば
・SCSI ID=0
領域2 C: Windows98
領域3 D: Windows2000
のような場合は、既にデフォルトドライブレターどおりなので、とくになにもしなくてもい。このように、問題が生じやすいのは、
コマンド引数なしで
w2ksgn
と打つと、署名を削除したいディスクドライブの選択リストが現れるから、目的のディスクだけを選んで処理する。目的のもの以外を処理すると、あとでそのディスクの Windows200におけるドライブレターが正しくなくなるので、不用意に選択しないこと。
コマンド引数として、 /C を与えると、署名のコピーをおこなう。
w2ksgn /c
と打つと、どのディスクからどのディスクに署名をコピーしたいのか尋ねてくる。通常は、Windows2000のコピー前のディスクからコピー後のディスクということになるはずだ。このモードで注意しなければならないのは、同一署名値のディスクが複数存在したままWindows2000を起動してはいけないという点だ。署名をコピーしたら、どちらかのディスクは必ず取り外す必要がある。Windows2000は、同一署名値のディスクが複数あると、どちらかのディスクドライブの署名値を変更し、それに新しいドライブレターを再割付しようとするのだ。次回Windows2000を起動したときに、署名値が書き換えられている恐れがあり、その場合正常にログインできなくなる。