今更だけど、Windows Vista が発売されましたね。
今日は、昔書いたんだけど消してしまった日記で、結構需要がありそうな内容だから、再度載せておこう、という魂胆です。
決してネタ切れとかではない。決して。Never


Windows Vista Beta 2 を導入してみたが、使い物にならないので (うちの環境ショボイしね) 削除する事にした。

OSなので、アンインストーラなんてのは無い。
と思う。
それではパーティションを削除すれば完了、というワケにも行かないのだ。
なぜなら、Mater Boot Record (MBR) を書き換えられ、OS 選択用のメニューが表示される仕組みになっているから。
Windows2000/XP 等にも、インストール時 HDD 上に別の MS 製 OS を認識すると、自動的に OS 選択メニューを構築してくれる仕組みがあるので、分かる人は分かるだろう。
これの Windows Vista 用が導入されているのであーる。

今使っているのが Windows2000 なので、Windows2000 用のインストール CD から「回復コンソール」を起動して
fixmbr
を打てば元に戻る!
と大予想。
Windows2000 用のブートメニューツールが MBR を上書きしてくれるだろう、と。
で、実行してみた。
ところが、PCを起動して出てくるのは Windows Vista のブートメニューのまま
予想は裏切られた。

色々と考えて、MBR を書き換えるユーティリティ「MBMを思い出す。
MBM のページを見てもらえば分かるが、HDD の起動パーティション等を選択・操作するソフトで、HDD の MBR に書き込む事で利用する。
早速ダウンロードして、導入してみた。
が、これもまた失敗。
MBM のメニューの後、Windows2000 のパーティションから起動しても、Windows Vista のブートメニューが表示されてしまう。
どうやら MS 製 OS 全部のパーティションのブートセクターに、軒並み Windows Vista が潜入しているようだ。
この潜入っぷりはウィルスに近い。

さあ、これは困った。
OS 付属のユーティリティもダメ。
MBR 操作もダメ。
四面楚歌。独りハイジャック状態。
各パーティションのブートセクターを元に戻すにはどうすればいいのか?

Windows Vista の起動メニューから Windows2000 を選べば起動できるが、デフォルトが Windows Vista で固定されているため、マシン起動時に一々操作をしてあげる必要が出てくる。
些細な事だが、とても面倒だ。
というか、今後使わない OS のメニューなんか出されても気持ち悪い

では、最終的に何をしたかというと・・・。

Windows2000 のパーティションを覗いてみると、今までに無かったものが幾つかできている。
色々あるが、C:\Bootというフォルダに注目。
(Windows Vista のパーティションにも同じ物がある)
中を覗くと、素晴らしいファイル名が目に飛び込んできた!
fixfat.exe

fixntfs.exe
だ!

使い方は、下記の通り。
C:\Boot> fixfat

Usage: fixfat -xp|-lh [-rmv] [-all]
Replaces FAT bootcode on FAT-formatted partitions.
-xp   - Use XP-compatible bootcode.
-lh   - Use Longhorn-compatible bootcode.
-rmv  - Replace bootcode on removable (floppy) disks
          (default is harddisks)
-all  - Replace on all partitions
          (default is only system partition)
それと
C:\Boot> fixntfs

Usage: fixntfs -xp | -lh [-all]
Replaces NTFS bootcode on NTFS-formatted partitions.
-xp   - Use XP-compatible bootcode.
-lh   - Use Longhorn-compatible bootcode.
-all  - Replace on all partitions
          (default is only system partition)
という事だっ!

何がナンダカ分からない人のために書いておくと、やった事は下記の通り。

Windows2000 を起動して、「コマンド プロンプト」を開く。
c:\boot\fixntfs -xp
を実行。
すると
Wrote NTFS bootsector to 00000001(1)

Done NTFSBS.EXE execution
と表示され、ブートセクターの書き換えが完了。
OS が Windows95/98/Me 等、ファイルシステムが FAT 系の場合は、fixfat を使うのだろう。多分。

これで PC を起動した時、従来の Windows2000 のブート画面に戻りました。
めでたしーメデタシ。


P.S.
Windows Vista Beta 2 (Longhorn と呼ばれてた時代) でのお話なので、正式リリース版では仕様が違うかもしれないですよーだ。
オマケ
これが Aero の実力だ! ⇒ Windows Vista の フリップ 3D