目次へ 前へ

128Gの壁を突破する

500GのHDDが届いたのでwindows2000をインストールしようとしてみたら……。
「131GBしか認識していない……」
え〜?そんな〜?聞いてないよ〜!
ネットで調べてみると、どうもBIOSで28bitLBAの場合
268,435,456セクタ×512bytes=137,438,953,472=約137GBを認識しないものがあり
BIOSが認識してもwindows2000やwindowsXPの初期バージョンでは、
やはり同じように認識しないものがある……と。
え〜?
どうしてそんなことになるのかな〜……というか、反省していないのかMicrosoftは?
というのは前から「540MBの壁」「2GBの壁」「8GBの壁」「32GBの壁」は言われていたし
(とはいえ私自身は32GBの壁が障害になったことは一度もなかった)
理由はなんのことはない設計のまずさだった
(というか、これだけあれば当座大丈夫だろうって読みが
 それ以上のハードウェアの進歩でひっくり返される。)
わけで、当時からUNIX系を筆頭に他のOSではたいして問題にならなかったわけで、
あまり話題になってないけど他のOSで問題を回避してからwindowsにとりかかるという技は
あったわけです。
今度もそれでいこうかとも思ったんだけど
解決策がそこそこ提供されていたので、
今回はwindowsだけでやってみようと思ったのでした。
……もっともwindowsもターゲットの2000の他XPが登場しています。
  ……買っておいてよかったなあ……。

筋のいい解決法

壁を乗り越えられるインストール用CDを別途作成してそれでインストールというのが
一番素直だと思います。
お手軽なのはフリーソフト「SP+メーカー」を使うこと。
これで作ったCDでインストールすればよし。
……だけど私はこれでできなかったのです。
毎度「もしかしたらHDDがウイルスに感染しているかも」って青い画面で叱られる……。
だめならこちらも試す価値あり
……私これ試す前に次の方法に行っちゃった。

で、筋悪な方法

要はまともに動いているwindows2000を別のHDDに移動できればいいわけで……。
ここここを熟読。
よし、いきましょう。
……この記述でわからない人はやらない方がいいとも正直思うので、この程度の記述で勘弁。
1 大HDD(500GB)だけをつないでwindowsXPをインストール
 もっともパーティションが切れてNTFSのフォーマットができればよいので、適当なところでインストールをやめてよし。
2 大HDDを外して小HDD(128G以下……もっとも動かすだけなので5Gもあれば十分じゃない?って思う。)をつなぐ
3 小HDDにwindows2000を普通にインストールする
4 セキュリティパッチも「高速」の方は全部あてる
5 臨時のユーザーとして適当なユーザー名でユーザーを作成する
6 そのユーザーにはAdministrators権限を与えておくこと=グループをAdministratorsにする
 ……後でファイルをコピーする際コピーできないファイルをなんとかするため。
7 regeditを使ってレジストリの編集
 具体的にはHKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Atapi\Parameters内に
 「EnableBigLba」を新しく作り、値として1を設定する
(この作業が128GB超HDDを扱えるようにする変更の本質)
8 一旦ログオフし、5のユーザー名でログインする。
9 「コントロールパネル」→「システム」→「詳細」で「パフォーマンス オプション」を押す
10 「仮想メモリ」の「変更」を押す
11 たぶんCドライブしかないだろうから、初期サイズ・最大サイズともに空白にして「設定」を押す
 警告が出ても気にしない。
 ※ 仮想メモリの実態はpagefile.sysで後で出てくるcopyコマンドではコピーできないけど、
   一方で仮想メモリが1.5G近くある状態のままで起動すると
  「ない場合は自動的に作る」わけではなく、「ないか、容量が小さすぎる」というエラーが出て
   しかもOK押してもまた同じエラーが出てループしてしまったのだ。
   だからといってなんとかpagefile.sysを作っても、それを今度は認識してくれない
   ところが「空白設定」だと「小さすぎたんで臨時に作った」といって作ってくれるのだ。
12 5のユーザー名で再起動
13 「プログラム」→「アクセサリ」→「システムツール」→「バックアップ」を起動
14 バックアップタグを選択
15 「マイコンピューター」の下の「システム状態」にチェックを入れ
   バックアップ先に適当なフォルダを指定し、「バックアップ開始」を押す
   (レジストリとかがコピーできるわけだ)
   たぶんc:\winnt\repair\RegBackにできているはず
16 電源を切って大HDDもつける
   HDDのジャンパーピン設定は小HDDがプライマリー、大HDDがセカンダリー
17 起動し5のユーザー名でログイン
18 大HDDの中のファイルを全部削除
   フォーマットできればいいんだけど、できなかった……。
19 「コントロールパネル」→「管理ツール」→「サービス」で
   「開始」となっている状態のサービスを右クリックで「停止」していく。
   もっとも停止できないものは仕方ない。
20 (大HDDがX:ドライブだとしたら)コマンドプロンプトで「xcopy c: x: /e /c /h /r /o」とする。
   Cドライブの全ファイルをディレクトリー構造を保存したまま全コピーするわけ。
21 たぶんc:\winnt\repair\RegBack内にある「default」、「sam」、「security」、「software」、「system」の5ファイル
  (しかないと思うけど)を、
   x:\winnt\system32\configフォルダにコピーする
22 電源を切って小HDDを外す
   大HDDのジャンパーピンもプライマリーに変えておくのを忘れずに
23 windows2000のCDを起動
24 R(修復)→C(コンソール)を選択する
   コマンドプロンプトが出るはず
25 fixmbrと打つ
26 「新しいマスターブートレコードを書き込むけど危険……」なんて警告に堂々と「y」esを打つ
27 exitと打つと再起動がかかる
   ちなみに5のユーザー名ではない方でログインしているはずだ。
   違うなら5のユーザー名ではない方でログイン
28 CD起動させなければ……うまくHDDから起動して、しかも128G以上をちゃんと認識しているはずだ。
29 9〜11の手順で仮想メモリを
   「初期値」としてメモリーの1.5倍、「最大値」でメモリーの3倍も指定しておけばいいでしょう。
30 5のユーザー名は削除してしまい、c:\Documents and Settings内のユーザー名のフォルダも削除
31 これで一件落着。
(2008.11.29.)

目次へ 前へ