事象
- マシンのスペック
- OS: Windows2000SP4
- MB: Intel D865PERLK
- HDD: Seagate ST3300622A 300GB SATA100 c:\20GB + d:\280GBに分割
- CDROMからWindows2000SP4を起動し、Installerでc:\をNTFSでフォーマット。その後、通常手続でインストール終了。再起動したところHDDから起動せず、CDROMから立ち上がってしまう。
- その後、再びInstallerでパーティション情報を見たところ、↓の人と同じ状態に陥る。
300164 Re:現状です あっきー 2005/10/16-23:33
記事番号299950へのコメント
「未使用の領域」自体の削除はできません。
また、分かれているのはもともと
「C:新規」という領域と「未使用の領域」となっていて、
「C:新規」をDキーで削除するとこれも「未使用の領域」になって、
結果、「未使用の領域」がふたつできる結果となります。
- これまでも同じ状態に陥ったことは何回かありますが、他の要因の所為だと思ってあまり深く追求してませんでした。さすがにこうも続くと大問題なので、原因を追及してみたいと思います。年に数回はOSを再インストールする人なので、場合によってはWindows2000を捨てる判断をしないとならないかも。
調べてみた結果
- Googleで同様の事例を調べてみると、SP2以前のWindows2000は48bit LBAを扱えないため、137GB以上のHDDの容量を正しく認識できないという内容ばっかりですね。言い換えれば、48bit LBAを扱えないOSが稼働している状態で、新たに137GB以上のHDDを接続した状態で、如何にしてその容量を正しく認識させるかという問題。これは解決法含めて分かっていて、レジストリに↓のエントリを入れて再起動してあげればOK
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\atapi\Parameters]
"EnableBigLba"=dword:00000001
- 問題は、137GB以上の容量のHDDにOSそのものをインストールする方法。つまり、Installerが48bit LBAを正しく扱えるかどうかって事なんだろう。これについて調べると、一気に情報量が減ります。しかも、少なからず困った人がいることは把握した物の、解決に至った事例が見つからない。多分、英語ソースを調べた方がよいのだろうけど、適切なキーワードが選べない罠。orz 何となくだけど、BigDriveってのは和製英語なのか?
検証
- どうにも気持ち悪いので、納得できるまで検証してみることにしました。実デバイスで実験できればよいのですが、さすがに無理なのでVMWare Serverを使ってみます。バックアップ復元前のd:\に278GBほど空きがあるので、200GB位確保して実験してみる。仮想環境で再現するかどうかは分かりませんが、もしも再現するのであれば見切りを付けるしかないですね。
- VMWare ServerはWindows2000でも普通に動くのですが、一点だけ要注意。VMWare Registration Serviceだけ自動的に開始してくれないので、管理ツールから手動で開始しないとなりません。一年前に引っかかったっけ。
- しまった。VMWareで使用する仮想ディスクは、事前に領域確保しておかなくてもよいんだっけ。パフォーマンスが良くなるらしいが、この程度の実験じゃ関係ない。しかも、確保した領域がSCSIだった罠。一晩がかりの作業は何だったんだ。orz
-
- 前者はおそらく無理なんだろう。すると、後者で何とかするしかない。その最も確実な方法は、どっちも現実的じゃなさそうだなあ...
- いかなる容量のドライブを搭載していたとしても、c:\の容量は常に137GB未満に制限する。そして、再インストールのたびに全域をFDISK -> Formatすることにする。つまり、システムドライブにはパーマネントなデータを一切置かない事にする。
- c:\ 20GB + d:\ 280GBとしてもよいが、再インストールのたびにc:\もd:\も削除して、c:\を作成してインストールして、48bit LBAを使えるパッチを宛てた後にd:\を確保する。そしてd:\をバックアップから回復する。
- WindowsXPSP2で同じ問題が発生しないのであれば、これを機に母艦のOSをXにするのが最も確実なような気がしてきた。しかし、結構大変だぞこれは。何とかならんかなあ。