実は夕べ、久しぶりに自宅メインPCのOSリストアを施しました。
Windowsは使用している間にファイルや設定のゴミが溜まります。
アンインストールしたと思っていたアプリケーションも実は
それに付属していたサービスがまだ動いているかもしれません。
すると、OSが重くなってしまったり
メモリを余計に食われてしまいます。
想定外のファイルがあったりすると
予期できないエラーが発生するかもしれません。
コツをつかめば、そういったことを最小限に抑えられるのですが
なるようにしかならないので、リストアが手っ取り早いです。
今回のリストアは困難を極めました。
さて
…うちのHDD構成
HDD0(ATA)
0番目 論理 80GB NTFS >C: WindowsXP
1番目 基本 40GB NTFS >E:
HDD1(ATA)
0番目 基本 40GB NTFS >D:
HDD2(FireWire)
0番目 基本 160GB NTFS >F:
この、HDD0の0番目パーティション(C:)をリストアする。
初期化して、XPをクリーンインストールするのだ。
HDD0の0番目以外のパーティションには一切手出し無用だ。
データ消えたら雛見沢症候群が発病して死ぬからな。すぐにL5だ。
実は、この時点で異変に気づいているべきだった。
C:が論理パーティションであること。
通常、DOSは最初の基本パーティションをCにする。
0番目とはいえ論理パーティションなのにCとして使われていた。
基本と論理の違いはここでは割愛する。
よりベーシックで互換性の高いものが「基本」である。
通常の方法でC:へWindowsをインストールしようとしたら
インストーラがこれをFドライブだと言い出した。
つまり、以下のように認識されたのだ。
HDD0(ATA)
0番目 論理 >F
1番目 基本 >C
HDD1(ATA)
0番目 基本 >D
HDD2(FireWire)
0番目 基本 >E
これはDOSの正しい認識順だ。疑いようも無い。
でも、今からOSをインストールしようとしているのに
パーティションのドライブ文字がCでなくなるのは困る。
システムのパーティションは、文字を容易に変更できない。
ぶっちゃけ、試したらログインできなくなった。
これはこまった。
とりあえず、HDDを最小構成にし、インストーラを起動。
すると以下のように認識された。
HDD0(ATA)
0番目 論理 >D
1番目 基本 >C
この後どうがんばっても、覆せなかった。
ガンタと緊急協議した結果、
どうせHDD0の0番目は初期化するのだから
HDD0の0番目を基本パーティションで作り直すことになった。
Windowsインストーラを起動後
インストール先のパーティション指定画面で
HDD0の0番目を消し、新しくパーティションを作った。
衝撃の事実
Windowsインストーラで2つ目以降のパーティション作ると
必ず論理パーティションになる。
なんでじゃー!
こいつか、0番目が論理なのはこいつのせいか!
普通に考えると0番目は基本にならなきゃいけないんだ。
論理は基本の上に乗っかるから。
これはもうLinuxに頼るしかない。
しかし俺の持っているKNOPPIXは3.6。。。古すぎる。
KNOPPIX5を落とし始める。パーティションツールに頼ろう。
さて、この間に、HDD0の0番目を基本として作り直さなきゃいけない。
ちょうど、DebianのインストールCDが手元にあった。
Debianのインストーラのパーティションツールは、ちょっと便利。
ファイルシステムも結構選べる。
まあどうせ使うのはFAT32なんだけど。
ちょいちょいと、HDD0の0番目を基本のFAT32として作り直した。
HDD0(ATA)
0番目 基本 80GB FAT32
1番目 基本 40GB NTFS
この状態でWindowsインストーラから見ると
HDD0(ATA)
0番目 基本 >D
1番目 基本 >C
何でじゃいボケが!!
更にKNOPPIXから起動した。
パーティションツールで中を見てみると
HDD0(ATA)
0番目 基本 80GB FAT32
1番目 基本 40GB NTFS 状態:アクティブ
「アクティブ」という見慣れない文字列があった。
どうやら、HDD0の1番目はアクティブ状態らしい。
これはアクティブパーティションといって、ブート対象パーティションだ。
アクティブフラグが立っていると、そのパーティションが起動される。
すごく、これが原因のような気がしてきた。
パーティションツールで、HDD0の0番をアクティブにした。
すると、Windowsインストーラでなんとちゃんと認識された!!
HDD0(ATA)
0番目 基本 >C (アクティブ)
1番目 基本 >D
ながかったTT。
尚、PCの起動シーケンスは次のようになる(はず)
1 スイッチオン
2 CPU起動。CPU内部シーケンスによりBIOS(一次ブートローダ)を起動
3 BIOSがハードウェアの状況を調べ、二次ブートローダを探す
4 HDDなど、外部記憶装置のマスターブートレコードを走査。二次ブートローダがあれば起動
5 二次ブートローダは自分のボリュームのパーティションテーブルを走査
6 テーブルに、アクティブフラグが立っていたら、そのパーティションのセクタアドレス取得
7 セクタアドレスからそのパーティションのブートレコードをメモリにロード
8 CPUがメモリからOSの起動を開始。
Windowsの事に関して時間を掛けることほど無益なことは無い。
Linuxのことに関して時間を掛けることほど有益なことは無い。
パーティションツール使ってブートフラグ立ってるの見るのとか、
フラグ立たせるのとかぜひ手順書に残してくれ。
いつもDebianインストーラのパーティションツール使っちゃってて、
インストール後にどのコマンドでファイルシステムいじるかよく知らんのだ。
がんたさんは、最近システムやさんらしくなりましたね。
でも手順書といってもなあ。
fdiskが主流だけど、せっかくのKNOPPIXだからGUIつかおう。
QTPartedというパーティションツールが便利でした。
ただ、どちらにしろNTFSは鬼門らしく、読み込み以外は使わないほうが無難です。
壊したり消したりする分にはよいでしょう。