VMWareで一つ上のデュアルブート環境を実現する

僕のマシンはWindowsと実験用のCentOSデュアルブートできるようにしてあり、通常はそのうちのWindowsを使っていたのですが、諸事情によりLinux環境で作業しなければいけなくなりました(cygwinとかVMWare上のLinuxでは駄目)。


しかし、Windows機でセットアップしたソフトウェアや、そこに置いてあるデータなどには今後もアクセスしたい。

#いちいちブートし直すというのは面倒です


かといってVMWareなどのVM上に一からWindows環境をセットアップして、データをコピーするなんてこともしたくない。


そこで、物理ディスク上にインストールしてあるWindowsVMWareで起動してしまうという方法をとることにしました。

  • 環境

VMWare: VMWare Workstation6
Windows: Windows XP SP2

HDD: シリアルATA ←ここ重要

失敗1 - とりあえずやってみる -

まずは普通にVMWareから物理ディスク上のパーティションをブートするよう試みました。しかし、Windowsのロゴ画面が出た後にブルーバックになって落ちてしまい、失敗に終わりました。

失敗1の考察

おそらくインストール済みのXPに、VMWareの仮想ハードウェアに対応するためのドライバが入っていなかったのだろうと考えました。警告メッセージでは、XPにはBus LogicのSCSIのドライバがないのでうんちゃかというようなエラーメッセージが出ていたので、それをどうにかすれば、行けそうな気がしました。

失敗2 - VMWare Toolsを入れてみる -

VMWare Toolsには例のSCSIのドライバが含まれているらしいということで、VMWare Toolsの実行ファイルをインストール済みのゲストから無理やり持ってきて、実マシン上のXPでインストールしようと試みました。
しかし、失敗。実マシン上のOSには入れるなと怒られてしまいました。

失敗3 - ディスクイメージ化してみる -

VMWare Workstation6にはインポート機能というのがありまして、物理ディスク上にインストールしてあるOSを丸ごとディスクイメージファイルに変換することができます。ほかには他社のVMイメージを変換したりとかもできます。
#VMWare Converterという製品が無料で配布されているので、VMWare Serverと組み合わせれば無料で同じことが実現できます


この機能を使えば、必要なドライバとかも入れてくれつつ変換してくれるのではと期待し、イメージファイル化を試みました。


結果は・・・・またしても失敗。抽出作業が1/3ほど終わったところでブルーバックになって落ちてしまい、ついぞ最後まで終えることができませんでした。

成功 - ドライバを無理やり入れてみる -

VMWareのサイトには、例のドライバの入ったフロッピーのイメージファイルが置いてあります(http://download3.vmware.com/software/vmscsi-1.2.0.4.flp)。しかし、それは本来、VMWareのフロッピードライブにマウントした上で、XPのインストール時に使ってやるものらしいです。


僕はそれを無理やり実マシン上のXPに入れてみることにしました。


まず、イメージファイルをダウンロードしてきて、Virtual Floppy Drive(http://chitchat.at.infoseek.co.jp/vmware/vfdj.html)を使ってそれを仮想フロッピードライブにマウントします。そして、Windowsのコントロールパネルから"新しいハードウェアの追加"を実行し、仮想フロッピードライブ上のドライバをインストールさせます。


そして、Linuxをブートさせてから、ドライバを入れておいたXPのパーティションをブートさせると・・・・・起動しました!!


原因のまとめ

原因はVMWareSCSIバイスのドライバがない事でした。
試していないので確証はありませんが、IDEのHDDを使っている人は上記のような事は必要ないのかもしれません。

Conclusion

そんなこんなで、デュアルブートの環境を、単一のOS上で同時に使えるようにすることに成功しました。
皆さんのなかにもデュアルブートをやっている方はたくさんいると思いますが、「いちいちブートし直すのが面倒だ!!」なんて人は試してみてください。なかなかに快適ですよ。

注意

  • VMWare上で、物理ディスク上にインストール済みのXPを起動させると、OSがハードウェアが変わったと認識し、再アクティベーションを求めてきます。再アクティベートにあたって、追加でお金を求められるなんてことはありませんが、再アクティベートなどが嫌な事は試さない方がいいです。また、まだ試していませんが、実マシンで起動させようとすると再びアクティベートが求められるのではないかと思います。こんな調子でアクティベートを繰り返していると何か嫌な事が起きるような気がしないでもないです。これについては何かあったらまたエントリ書きます。
  • VMWareは物理ディスク上の既存のOSを起動させることを推奨していません。そのため、何らかのトラブルが発生する可能性もあるものと考えられます。そこらへんは自己責任でお願いします。


#追記1
実マシン上でXPを起動し直してみましたが、再アクティベーションは求められませんでした。2つのハードウェア構成が両方登録されたのでしょうかね。


#追記2
実マシン上で起動したら、データの中身がVMWare上で動かしていた時と違うような。。なんだこの挙動は。。


#追記3
VMWare上で起動しているものをsuspendした状態で、実マシンで起動してがちゃがちゃやったらディスクに不整合が生じたみたいです。ブルーバックにも一度なりました。
そういうことはやめましょう。


#追記4
こういう事をするための公式なドキュメントを見つけました。
http://www.vmware.com/pdf/dualboot_tech_note.pdf
ちなみに英語です。
ドライバの事とかについてもちゃんと書いてありますね。最初からちゃんとこれを読んでおけばよかったです。。
XPの場合、ハードウェアプロファイルとかを作らないといけないらしいです。後でやろうっと。


#追記5
VMWare toolsを入れたら、実マシンでの起動時に、ネットワークインタフェースが見られなくなったり、デバイスマネージャが開かなくなったりしました。。
アンインストールしても直らないようです。。
なんてこった。。