もともと予定していたことだが、DISK と メモリを次のものに変更することにした。
- メモリ トランセンド DDR2 667 1GB (合計 1.5GB に)
- DISK WD3200BEVT (120GB → 320GB に)
値段は合計で 1万ちょっと。もし! これで済むなら安いものだ。
( 保証なくなるから、壊れたら終わりというリスクがある。これで済むとは限らない。)
参考にしたのは、
このページ。
やるべきことや注意点が書いてあってたいへん参考になった。
これだけ親切に書いてくれていても、いくつかはとまどった所があった。
- まず、キーボードのツメ。一見しただけではどう引っかかっているのか分からなかった。よくよく見て、キーボードから生えていて、枠(?)と隙間を作ることが理解できた。
- なのだが、手持ちのマイナスドライバーでは太すぎて隙間に入らなかった。彫刻刀(ノミみたいなやつ)を持っていたので、それを差し込んで、キーボードを浮かすようにしたら OK だった。
ちなみに、ツメを外したのは、真ん中、右、左の順。
- あと、キーボードと タッチバッドのフラットケーブルの外し方。黒い押さえのようなものが、レバーになっていて上に上げるというのがすぐには分からなかった。繊細な部品なので戸惑った。
あとは、書いてあるとおりにやれば 問題はなかった。
換装するまえに、リハーサルをやってみた。
- 初期化のためのファイルを用意して、USB DISK から Vine のレスキューモードを立ち上げる。
- grub4dos の grldr.lbr を DISK の先頭に書く。
- パーティションを PQSERVICE(FAT32, 6GB), C: 用の NTFS 領域 (16GB) , D: 用に残り全部に設定。
- mkfs.vfat -n PQSERVICE で パーティション1をフォーマット
- PQSERVICE のバックアップを元にもどす。
- grldr と menu.lst を PQSERVICE パーティションにコピー
これで、PQSREVICE パーティションを DISK から立ち上げることで、リカバリーが成功。
次に、Windows パーティションを立ち上げることで、設定が進むことまで確認。
このままだと、ブートローダが grub4dos になったままになる。機能的には全然問題がないのだが、ALT-F10 が効かないし、ブートローダも初期化しておきたい。
ただ、Windows を立ち上げて設定してから、PQSERVICE からコピーした、MBRwrWin.exe を実行する手順で時間がかかりそうなのでパス。
次は 新しい DISK のセットアップ。まずは、パーティションをどうするか。
いろいろ考えたのだが、Linux のシステム ( / ) 用のパーティションを 8GB x 2 。2つ作って実験をできるようにする。
Windows は、前と同じ 16GB 。正確に同じサイズになるようにした。
で、Linux と Windows で共用するパーティションとして NTFS 160GB。
あと、Linux の swap 4GB と、Windows ワーク用に 40GB 弱、Linux ワーク用(/home) に 80GB 弱の分配にした。
なかなかややこしいが、こんな感じ。
Disk /dev/sda: 320.0 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
デバイス Boot Start End Blocks Id System
/dev/sda1 1 957 7687071 83 Linux
/dev/sda2 * 958 2869 15358140 7 HPFS/NTFS
/dev/sda3 2870 3825 7679070 83 Linux
/dev/sda4 3826 38913 281844360 5 拡張領域
/dev/sda5 3826 4304 3847536 82 Linux swap / Solaris
/dev/sda6 4305 9167 39062016 7 HPFS/NTFS
/dev/sda7 9168 19000 78983541 83 Linux
/dev/sda8 19001 38000 152617468+ 7 HPFS/NTFS
/dev/sda9 38001 38913 7333641 83 Linux
メモ: バックアップのことを考えて OS 自体は小さめにする。Linux 8G x 2 / Windows 16G 。Linux の 1 つは実験用 (vine + 2.6.26) 。で、それぞれに専用の領域を割り当てる。Linux が大きいのはビルドなどをするため。1/2 を共有領域として割り当てる。NTFS だが、Linux でも一応アクセスできる。基本的に、大きなファイルしか置かない。OS のバックアップとか ISOファイル とか tar+gz で固めたいろんなものとか パッケージとか 辞書とか mp3 とか 動画とか動画とか。
ブートローダは、grub4dos 。パーティションを作る前に書いておいた。
Linux は tar+gz でバックアップしていたのを 展開して元にもどした。/dev/sda1 は 2.6.26 カーネル用、/dev/sda3 は オリジナルの 2.6.16 カーネル用にセットアップ。
さて、問題の WindowsXP 。ntfsclone でバックアップしたのを元に戻した。
... のだが、これが立ち上がらない。前と違う点は、ずれたということだけなので、それが原因なのか?
これは後でなんとかするとして... いまのうちにさらに実験。
PQSERVICE を USB DISK にインストールしてそこから立ち上げるとどうなるか ...
仮想環境では、NTDETECT failed でエラーになった。どうもドライバーとかの問題ではなく、構成が問題らしいので、実機でやると動くかも知れない。
で、やってみたところ ...
D2Dリカバリーの画面が立ち上がってきた。
なのだが、もともとの設定どおり 起動した DISK (USB DISK) のパーティション 2 にリカバリーしようとする。
そんな領域はないので、エラーになって終わり。
設定ファイルがどこかにあるはずで、内蔵 DISK にリカバリするように設定できるのではないか?と思い探してみたところ。
FmtFAT32.INI
RestoreFAT32.INI
の2つに
Des=\\harddisk0\partition2
という記述が見つかった。
ただ、これはどうみても Fat32 のときの設定で、使わなさそう。
NTFS に関しては、fmtntfs.ini というファイルをたぶん使う。
... なのだが。これには、
Des=T:
なんて書いてあったりする。???
さらに、FMTNTFS というディレクトリがあって、FMTNTFS_A.INI ... FMTNTFS_Z.INI というファイルがあり、それぞれに Des=ドライブ番号: という記述がある。
もうワケワカ。
で、さらにさがすと、NAPP2P_CREATE.ini というファイルがあり、
これにこんな記述がある。
:
select disk 0
select part 2
assign letter=E noerror
これらを、いろいろいじってみたのだが、期待どおりに 新 DISK の Windows を初期化はしてくれなかった。もっと時間をかければなんとかなるかも知れないが、もうメンドウ。
そんなことより、別の興味が出てきた。前の DISK は、初期設定を終えた状態で、USB DISK ケースに入れている。
さて、この DISK から Windows は立ち上がってくるのだろうか?
... 答えを行ってしまうと、×。
構成が変わってしまっているので、立ち上がりかけた後、ブルースクリーン→リブート。
では、前の DISK で再度、PQSERVICE を立ち上げるとどうなるか?
...期待どおりに、USB DISK の パーティション2をリカバリーしにいった。
で、それは立ち上がってくるのか?
というとやはりダメ。
次のファイルが存在しないかまたは壊れているため、Windows を起動できませんでした。
\system32\hal.dll
上記のファイルをインストールし直してください。
Linux を再度立ち上げて調べると、ファイルは確かにある。..ということは、<Windows root>が USB DISK と違うところになっているということだ。新 DISK のパーティション 2 にも、hal.dll はあるから、なにか全然違うところ にアサインされたか、そもそもまったくアサインされていないのか ...
これで、気が済んだ。さて Windows の方はどうしよう。
最初の状態にできるのは確実だが ...そんなことはしたくない。
さて、メッセージがなぜかすぐ消えてしまうのでわからなかったのだが、なんどもやりなおしてみると、NTDETECT failed エラーのようだ。確かに メモリとハードディスクの構成が変わったけれども。それが原因?
そういえば ... C:\I386 と nLite を使って インストール DISK を作っておいたのを思い出した。
これを使って、
修復インストールを試みてみる。
でやってみたが、現象は同じ。そもそも ブート部分に問題があって、中身は関係ないようだ。
しかたないので、C: ドライブに再インストールしてみる。
(プロダクトIDは、実機に設定されていた CXC9Y-... を使う。)
これは、普通にイントールできたようだ。
一応バックアップを取って、この状態から 再度 ntfsclone で リストアを試みることにする。
立ち上がらない ... まぁ当然だ。ならば、バックアップしたときと同じ位置に戻せばどうか。
実は、サイズは変えていないが、partition 1 に Linux を入れるために位置をずらしていたのだ。で、Linux をいったんつぶして、Windows のパーティションを 前の DISK と同じ位置にずらしてからリストアした。
... 馬鹿馬鹿しいことに、当然のように立ち上がった。
さて、Windows が立ち上がったので、EASEUS Partition Manager を使って、新 DISK 本来の場所にまたずらす。
あとは Linux のパーティションを 作り直してリストア。
なんだか馬鹿馬鹿しいのだが、これでしたいことが出来た。
パーティションをずらすときの おまじないさえ知っていれば、こんなに遠回りする必要はなかった。
ではあるが、こういう機会でしかいろいろ試せない。これで気が済んだ。
最後に、メモリと DISK を換装したかった理由など。
メモリを少しでも増やしたかったのは、VMware など仮想環境のため。本当は、Linux をメインにして、Windows のほうを仮想環境にしたいのだが、音が出ないとかいろいろあって常用するのはつらい。当面は、Windows をメインにして Linux を 仮想環境にすることにした。そのため、メモリは多いほうが嬉しい。
DISK を増やしたいのも 複数の Linux 環境と Windows 環境を持ちたいため。Linux を常用できるようにするために ビルド環境とか 実験用の環境とかで、結構 DISK を使うのだ。
使い込むなら DISK を 500G にすべきだと思ったのだが、まだまだ、おもちゃ感覚。なので、半端な 320G にしてしまった。
... というのはすべて建前。実はただ分解する理由と、アレコレ試す理由がほしかっただけかも知れない。
追記:取ったゴム足をはめているだけにしていたら紛失してしまった。 タカチ電機工業 黒 B−P42 ハリ付ゴム足をスライスして付けたらどうか?。