Virtual PC 2004でLinux

■ Virtual PC 2004とは?

 Virtual PC 2004(以下Virtual PC)とはMicrosoftの製品で、ホストOS上に名前のとおり仮想PC環境を実現するソフトウェアである。ホストOS上に仮想マシンを構成し、これにゲストOSをインストールすることで仮想PC環境が出来上がる。例えば、ある特定のOSでしか動作しない古いアプリケーションをゲストOS上で動作させること等が可能だ。サポートされているOSは以下の表を参照していただきたい。

ホストOS Windows 2000/XP Professional
ゲストOS MS-DOS 6.22
Windows 95/98/Me
Windows NT 4.0/2000/XP
OS/2 Warp

 この表を見ていただければお分かりと思うが、Microsoftの製品だけに当然ながらLinuxなどサポートされているはずもない。しかし、それはサポートしていないだけで、動作しないということを必ずしも意味しない。実際、MicrosoftもVirtual PCの仮想マシンではほとんどのx86OSを稼動することが可能と言っている。

■ Virtual PCでLinuxは動くのか?

 で、Virtual PCの使い道だが、先ほどの古いアプリケーションを動作させる以外に、例えばテクニカルサポートで顧客の環境を素早く再現して現象を確認するとか、開発用のサーバ環境を開発用端末に同居させてしまう等が考えられる。昨今のWEBアプリケーション開発では特にLinuxサーバが重宝され、実運用環境でもLinuxサーバは拡がりを見せている。

 では「Virtual PCでLinuxは動くのか」と訊かれれば「僕のThinkPad X31では問題なく動いている」とだけ答えることはできる。無論、Linuxの全てにおいてVirtual PC上で検証したわけではないし、ましてそれを保証するものでもない。しかし、僕のThinkPad X31にVirtual PCをインストールし、Red Hat Linux 9を入れ、そこでPostgreSQLやTomcatが問題なく動いている。そして、この環境でJSFアプリケーションの開発を実際に行っているのである。

 つまり、Virtual PCを利用することによってPostgreSQLも含めたWEBアプリケーションの開発を1台のノートPCだけで完結させることができ、しかも実際の運用環境に非常に近いものを構築可能だ。加えてこの仮想PC環境固有のデータはたった2つのファイルにまとまっているため、例えば普段の開発はデスクトップPC上の仮想のLinuxサーバとノートPCで行い、その仮想Linux環境をノートPCにコピーして持って行けば客先で簡単にデモができてしまう。しかも、基本的に環境は同じなので客先でアプリケーションがうまく動かず、「開発環境では動いたのに...」なんてこともなくなる。

■ デスクトップPCで環境を構築する

 これは何でもそうだと思うが実際に触っていただくのが一番だと思うので何はともあれインストールして使ってみよう。Microsoftでは無料の体験版も用意している。Virtual PCのインストール自体は非常に簡単で単に画面に従って操作を行えば良いため詳細は割愛する。Virtual PCをインストールしたらまず"新しいバーチャル マシン ウィザード"で仮想マシンを作成する。途中、オペレーティングシステムの選択では"その他"を選択し、仮想ハードディスクは新規に作成する。また、バーチャルマシンの名前は"Red Hat Linux 9"等動作するOSを示す分かりやすいものにすると良いだろう。




 仮想マシンでは自動的に物理CD-ROMドライブを仮想CD-ROMドライブとして認識してくれるため、仮想マシンから物理CD-ROMに問題なくアクセスできる。また、CD-ROMブートにも対応しているので、仮想マシンを再起動すれば仮想CD-ROMからブートすることも可能だ。

 そしていよいよLinuxのインストールに入るわけだが、携帯性重視のノートPCにはCD-ROMが搭載されていないことが多い。(実際、僕のX31には搭載されていない)そんなときは1度デスクトップPCでCD-ROMを利用して仮想Linux環境を構築し、その後必要なファイルをノートPCに移動すると良いだろう。まずはブート可能なLinuxのCD-ROMをドライブに挿入し、Virtual PCコンソールから"リセット"メニューを選択して仮想PCを再起動する。ただし、最初にCD-ROMドライブを使用するときには予め仮想マシンの"CD"-"物理ドライブ D:の使用"(環境によってD:の部分は異なる)メニューを選択しておく必要がある。

 最近のLinuxディストリビューションではインストールもWindowsのように簡単になったのでやはり画面に従って操作していくだけで特に問題なくできるだろう。今回はLinuxをDBサーバ+APサーバとして利用するだけなのでデスクトップ環境はインストールしない。無事にインストールが完了すればLinuxが起動するはずである。

■ ノートPCに環境を移す

 デスクトップPC上で環境を構築したらそれをノートPCに移す。My Virtual Machines\Red Hat Linux 9フォルダの下に"Red Hat Linux 9 Hard Disk.vhd"と"Red Hat Linux 9.vmc"ファイルがあるのでこれらをノートPCの適当な場所へ移動する。ノートPCではVirtual PCを起動し、"新しいバーチャル マシン ウィザード"で"既存のバーチャル マシンを追加する"を選択して先ほどの.vmcファイルを指定する。

 ■ネットワークの設定

 ホストOSとゲストOSの間でTCP/IP等通信を行う場合はVirtual PCコンソールで"設定"ボタンを押下し、"ネットワーク"で設定を変更する。仮想マシンもネットーワークに接続し、そのネットワーク内の端末と同様に通信を行う場合はホストPCにインストールされているネットワークアダプタを選択する。こうすればホストのPC以外からも仮想PCにアクセスが可能となるし、DHCPによるIPアドレスの自動割当も可能となる。

 ノートPC内に完結した通信であれば"Microsoft Loopback Adapter"をVirtual PCのヘルプに従ってインストールし、これを利用すると良いだろう。ただし、こちらはホストOS、ゲストOSともにIPアドレスを予め設定しておく必要がある。ホストOSのほうは"コントロールパネル"-"ネットワーク接続"-"ローカルエリア接続"で、Linuxでは例えばRed Hat Linux 9ならば以下のコマンドで設定可能だ。


# netconfig

 ■メモリは多いほど良い

 僕はX31にVirtula PC 2004を入れ、仮想LinuxサーバではTomcatとPostgreSQLを動作させて、Windows側ではEclipseを動作させてJSFのWEBシステムを開発しているが、正直に言って512MBのメモリではスワップが多発し快適とは言えない。このような構成で使うなら少なくとも768MBはほしいところだ。僕は結局元々の512MBのメモリにさらに512MB増設し1GBで使っている。

<Microsoft Virtual PC 2004>
http://www.microsoft.com/japan/windows/virtualpc/default.mspx

<評価ガイドと45日間無料体験版>
http://www.microsoft.com/japan/windows/virtualpc/evaluation/evalguide.mspx

(2004/11/03)

新着情報
【iOS Objective-C, Swift Tips】アプリアイコンにバッジを表示(Swift)
【iOS Objective-C, Swift Tips】画像の向きを指定して保存する(Swift)
【iOS Objective-C, Swift Tips】UIImagePickerControllerの表示を日本語にする(Swift)

Copyright(C) 2004-2012 モバイル開発系(K) All rights reserved.
[Home]