物理パーティションを使った Windows 2000 インストール
ポータブルハードディスクに物理的にパーティション*1を切り、そこに VMware workstation 4.5.2 を使って Windows 2000 をインストールしたのですが、あとでうっかりパーティションテーブルを触って*2起動しなくなってしまいました。数日ほど苦労してしまったので、ここで復旧方法を書いておきます。順番が違うとダメなので、以下の通りに試してください。ただしお約束ですが、うまくいかなくても当方では責任を負いかねます。
- まず、思い切って VMware 上で仮想ディスクを削除します。物理パーティションが残っていれば、たぶん大丈夫です。これが必要なのは、一度間違ったパーティションテーブルで仮想ディスクを作ってしまうと、あとで物理的にパーティションテーブルを修正しても反映されないからです*3。仮想ディスクを作ると *.vmdk と *-pt.vmdk というファイルができますが、前者にはパーティションの仮想ディスクの使い方と論理情報が書き込まれ、後者には物理パーティションには書き込まない(書き込めない)ブートブロック等の情報が補完的に書き込まれます。
- ホスト OS である Windows の論理ディスクマネージャとやらを使い、Windows をインストールしたパーティションをアクティブにします。Windows は、アクティブでないパーティションからはブートできません。(参考: http://support.microsoft.com/kb/228004/JA/)
- VMware 上で仮想ディスクを作り直します。ディスク全体でなく、Windows をインストールした当該パーティションだけを選択します。
- VMware 上で、インストール CD-ROM から起動します。回復コンソールを起動します。
- 目的の Windows インストール「1 C:\WINNT」などを選び、administrator のパスワードを入力してログインします。
- map コマンドで、パーティションを表示します。
- fixmbr \device\diskdrive0 (正確なところは忘れた。上記 map コマンドの出力を見てください。あと、http://support.microsoft.com/kb/229716/ も参考に。)でブートブロックにある MBR を修復します。
- 一応、念のために fixboot c: として(これも、map コマンドの出力を参考に。)ブートローダーを修復しておきます。
- 最後に CD-ROM を抜いて Windows を起動すれば、ちゃんと起動するはずです。