(VMware) Windows over Linux を Linux over Windowsに変更
VMwareという優秀なソフトに出会って以来ずっとWindows over Linuxで生活してきた。つまりLinux(host OS)の上にVMwareを載せ、その上でWindows(guest OS)を動かしていた。Windowsは滅多に使用しないのでどうしてもWindows用ソフトが使いたい時だけ動かすにはこれが最適だったのだ。しかし最近その逆(Linux over Windows)の方が便利に思えてきたので思い切って変更してみた。
まずそれぞれの方式のメリットを比較
ポイント | Windows over Linux | Linux over Windows |
価格 | 同じ(VMwareはLinux版もWindows版も同価格) |
性能 | ◎Linuxが高速 | ○Windowsが高速 |
インストール | △Linuxディストリビューション依存なので難しい | ◎容易 |
バックアップの取り易さ | ◎Windowsバックアップが簡単になるメリット大 | ○Linuxバックアップはどっちにしろ簡単なので特にメリット無し |
ブラウザ使用 | ◎Linux版が便利、安全 | △Linux版はguest OS上で動かす |
メール | ◎Linux版が便利、安全 | △Linux版はguest OS上で動かす |
画像の編集/再生 | ◎Linux版もwindows版も使用可 | ◎windowsだけでも用は足りる |
映像の編集/再生 | △Linux版は貧弱、guest OS のwindowsでは物足りない | ◎Windowsが得意 |
TV番組の録画 | ×Linux版は困難、guest OSのwindowsも苦手(*1) | ◎Windowsが得意 |
MDタイトルの編集 | ×Linux版は無い、guest OSのwindowsでは動作しない(*2) | ◎Windowsが得意 |
上記×を解消するため、デュアルブートにして別OSをNative(host OS)にしなければならない場合がしばしばある。その場合の影響が下記 |
Nativeなデュアルブート | ×Native Windows起動時はLinuxが停止する | ◎Linux起動時は/homeの共有等によりWWWやmailを止める必要が無い |
(*1)VMwareはUSBのstream modeをサポートしないため動作しないTVキャプチャ装置もある
(*2)最近のVMwareはUSBのIsochronous転送ができるので動作するかもしれない
要するに、従来は、主として使用している方の、しかも一時的にでも止めると都合の悪い方の、OSであるLinuxをメイン(host OS)にした方が、Windowsアプリが動かしにくいデメリットを考慮しても優れている、と考え、ずっと Windows over Linux で使っていました。
しかし、最近のCPU性能のめざましい進歩により、Linuxをguest OSにしても(例えばその上のMozillaを使う場合であっても)性能的な問題は全く無くなってしまったので、Linux over Windowsのデメリットが消えてしまったのです。そうして思い切った宗旨替えを行いました。
Linuxは従来通りTurboLinuxを使いました。
作業
- partitionの切り直し。windows領域をより多く使うようになったのに合わせLinuxとの配分を変更した。これは念のためということで。
- homeやwwwコンテンツなど、2つ(guest/host)のLinuxで共用しても問題無い部分だけ1partitionとし、VMware上のLinuxからその物理partitionが見えるように設定した。これでVMwareからLinuxを起動してもNative Linuxを起動しても同じファイルを使ってサーバ類が動作するようになった。ただし当然syslog等は別々に出来るので注意。disk全体をshareしても良かったのだが、ハードとの不整合リスクが大きいのでこうした。
- Guest OS でlinuxを動かすためには、linux に vmware-toolbox をインストールする必要がある(次章に詳述)。本来、SVGA を動かすためのおまじないや、wheelマウスを動かすための設定が必要になる(いずれもvmware社のFAQにあり)場合があるが、通常(turboxcfgが動作する限り)何もしなくて済む。xf86config ではなく、turboxcfg を使うことに注意(商用フォントの利用などの設定が含まれている)。turboxcfgはなかなか動かないことが多いので、動いた /etc/X11/XF86Config は大事に保存しておく(動いたXF86Configの例)
vmware-tools が動いていないと都合の悪いことがいろいろあるが、特に時刻の同期ができなくて困る。Guest OS上ではntpは動作しないし、ほっておくと見る見る時計が狂ってくる。(オプションで時刻同期する選択を指定する必要あり)
- 動作する /etc/X11/XF86Config が無ければ作っておく
- VMwareのメニューからVMware Toolsインストールを選び、cdrom を mount すると必要なrpmファイルが見えるので、それをインストールする
- vmware-config-tools.pl を実行する。その際、/usr/src/linux... に configが無いなどと言われたら、cd /sur/src/linux && make oldconfig を実行すれば良い。
- vmware-config-tools.pl 実行時に表示される指示に従い、vmxnet を有効にする。
- vmware-guestd が動いていなければ /etc/init.d/vmware-tools start を実行する。
- ここまで終わると、/usr/X11R6/lib/modules/drivers/vmware_drv.o が出来ていて、/etc/X11/XF86Config も modify されているはずだ
- vmware-tools の設定は、X の上で vmware-toolbox を実行すれば良い。
ちなみに、turbolinuxをhost OSにするときは /proc/ksyms のパスの修正など面倒があるが、似たようなperlスクリプトにもかかわらず Guest OS用にのみこのバグが修正されている。つまり上記の通り、普通にインストール可能である。確かに host OSはサポート外になっているのだが... (注:VMware5.5.0での話)
ここに書いたさまざまな面倒なことは、VMware-workstationのバージョン6.5.2以降では問題にならなくなった(多少のコンパイル時エラーは出るが無視していい程度になった)。
逆にしたことによる意外な盲点
- Windows上のLinux2.6は(vmware-toolsを動かしても)とんでもなく時計が狂う(1分に数秒程度)。ntpdは動かないしntpdateでごまかすのも一苦労(kernel起動オプションでなんとかする方法がvmwareのサイトにあったがこれでうまくいくかはハード環境による)
- cdparanoia(音楽CDのリッパー)を使うとき、CD-ROMの "legacy emulation" のチェックを外さないとダメだが、CD-ROM からbootする際は逆にチェックしないとダメなので、うっかり忘れると面倒なことになる。cdparanoiaは全くエラー無く終了したように見えるが実は何も入っていないwavファイルが出来る。また、CDを入れ替えた時に、一旦切断/接続処理をしないとダメなのも面倒。
- ある日突然Windowsが再起動し、当然GuestOSのLinuxも一緒に落ちた。「コンピュータの管理」の「イベントビューア」で見たところ、落ちた時のメッセージとして更新のインストールのため再起動(その画面)と書かれている。つまり、自動更新の設定で「自動インストール」(その画面)としてはいけないことが判った。
ご意見、ご感想はこちらのFeedbackのページからどうぞ