VMware Player を導入してみました

【2009年10月29日追記】

VMware Player 3.0 についての記事をこちらで書いています。3.0 では VMware Player 単体での仮想環境の作成が可能となり、当記事で述べている様な方法を取る必要は無くなりました。



ネット上で、「VMware Player によって簡単に、しかも無料で仮想 PC 環境を構築することが出来る」という話を目にしましたので、私も挑戦してみることにしました。

ホスト OS が Vine Linux 3.2、ゲスト OS が Windows 2000 です。

取り敢えず絶対に必要なものは下記の3つ。

  1. VMware Player
  2. 空のディスクイメージファイル (*.vmdk)
  3. ゲストOSを使用する為の設定ファイル (*.vmx)

まずは、VMware Player のダウンロードページ から Linux 用の rpm 版を落としてきてインストールします。

# rpm -ivh VMware-player-1.0.1-19317.i386.rpm

KDE の場合は、K メニュー の [システム] の項目に VMware Player が登録されていました。

次に、VMware Player の初期設定を行います。幾つか質問が出てきますが、私はほとんどデフォルトのままにしました。

# /usr/bin/vmware-config.pl
Making sure services for VMware Player are stopped.

Stopping VMware services:

   Virtual machine monitor                                 [  OK  ]

You must read and accept the End User License Agreement to continue.
Press enter to display it.

-----(以下ライセンスについて表示されます。中略)-----

Do you accept? (yes/no) y ←ライセンスに同意

-----(中略)-----

Do you want to be able to use NAT networking in your virtual machines? (yes/no)
[yes] n  ← NAT を使用する場合はデフォルトの yes を選択

-----(中略)-----

Starting VMware services:
  Virtual machine monitor                                [  OK  ]
  Virtual ethernet                                       [  OK  ]
  Bridged networking on /dev/vmnet0                      [  OK  ]

The configuration of VMware Player 1.0.1 build-19317 for Linux for this running
kernel completed successfully.

次に空のハードディスクイメージですが、システムにオープンソースなエミュレータソフトである QEMU がインストールされていれば、QEMU に含まれている qemu-img というツールで作成することができます。

$ qemu-img create -f vmdk w2k.vmdk 10G

w2k.vmdk が作成されるディスクイメージのファイル名です。今回はゲスト OS として Windows 2000 を使用するのでこの名前にしましたが、これは適時変更してください。そして、最後の "10G" が作成する仮想ディスクの容量になります。

「QEMU はインストールしていない」という場合は、無料で構築! 仮想PC のページで、2G〜10G の容量の空のディスクイメージが配布されていますので、これを利用させて貰うのが手っ取り早いかと思います。希望の容量のものをダウンロードしてきて解凍するだけです。

なお、ディスクイメージファイルは、設定した大きさの容量と最初から同じファイルサイズになっているわけでは無く、使用するゲスト OS の環境によって変動します。ちなみに現在の私の w2k.vmdk のファイルサイズは、2.9GB となっています。

次に設定ファイルですが、これも上で紹介したページでサンプル (sample.vmx) が提供されています。私はこれに多少手を加えたものを w2k.vmx として使用しました。以下、参考までにその w2k.vmx の内容です。
なお、ディスクイメージファイルと設定ファイルは、同じディレクトリに置きます。

#!/usr/bin/vmware
config.version = "8"
virtualHW.version = "3"
displayName = "Windows 2000 on VMware Player"

# ----- Virtual HDD image -----
ide0:0.present = "true"
ide0:0.fileName = "w2k.vmdk"

# ----- CD-ROM Drive -----
ide1:0.present = "true"
ide1:0.fileName = "auto detect"
ide1:0.deviceType = "atapi-cdrom"

# ----- FDD -----
floppy0.present = "true"

# ----- Network -----
ethernet0.present = "true"
ethernet0.connectionType = "bridged"

# ----- Select Guest OS -----
# guestOS = "winnetstandard"	# Windows Server 2003 standard Edition
# guestOS = "winxppro"		# Windows XP Professional
# guestOS = "winxphome"		# Windows XP Home
guestOS = "win2000pro"	# Windows 2000 Professional
# guestOS = "win95"		# Windows 95
# guestOS = "win98"		# Windows 98/98SE
# guestOS = "winme"		# Windows Me
# guestOS = "winnt"		# Windows NT
# guestOS = "winvista"		# Windows Vista
# guestOS = "winvista-64"	# Windows Vista x64 Edition
# guestOS = "redhat"		# Red Hat Linux (generic)
# guestOS = "rhel4"		# Red Hat Enterprise Linux 4
# guestOS = "rhel4-64"		# Red Hat Enterprise Linux 4 64-bit
# guestOS = "suse"		# SuSE Linux (generic)
# guestOS = "sles"		# SUSE Linux Enterprise Server (generic)
# guestOS = "turbolinux"	# Turbo Linux (generic)
# guestOS = "ubuntu"		# Ubuntu (generic)
# guestOS = "other24xlinux"	# Other Linux 2.4.x kernel
# guestOS = "other26xlinux"	# Other Linux 2.6.x kernel
# guestOS = "other26xlinux-64"	# Other Linux 2.6.x kernel 64-bit
# guestOS = "otherlinux"	# Other Linux
# guestOS = "netware6"		# Netware6
# guestOS = "solaris9"		# Solaris9
# guestOS = "solaris10"		# Solaris10
# guestOS = "solaris10-64"	# Solaris10 64-bit
# guestOS = "freebsd"		# FreeBSD (generic)
# guestOS = "dos"		# MS-DOS
# guestOS = "other"		# Others

# ----- Sound -----
sound.present = "true"
sound.virtualDev = "es1371"
sound.autoDetect = "true"
sound.fileName = "-1"

# ----- Memory size for guest OS -----
memsize = "256"

青色の行の部分に付いてちょっと捕捉説明。

displayName は、VMware Player の窓のタイトルになります。適当な名前を入れてください。

ide0:0.fileName は、空のディスクイメージファイルの名前を入れてください。
ちなみに ide*:*. は、それぞれ以下の意味になります。

ide0:0. → Primary Master
ide0:1. → Primary Slave
ide1:0. → Secondary Master
ide1:1. → Secondary Slave

ゲスト OS 側でフロッピーを使用しないのなら、floppy0.present = "false" とします。

VMware Player の初期設定時にネットワークで NAT を使用するように設定した場合は、ethernet0.connectionType = "NAT" に設定してください。

memsize は、ゲスト OS に割り当てる物理メモリ容量です。適時変更してください。(この容量は、VMware Player の Player メニューからも設定出来ます)

サウンドに関しては、VMware Workstation では sound.virtualDev"sb16" という選択も出来るそうですが、VMware Player では "es1371" という設定しか有効にならないようです。

なお、一度 VMware player を使用すると、*.vmx ファイルの末尾には自動的に各種の情報が追記されます。


さーて、ここまで来たらゲスト OS をインストールする準備が整いましたので、CD-ROM ドライブに Windows 2000 の CD-ROM をセットし、VMware Playerを起動します。

$ vmplayer

起動すると、設定ファイル (*.vmx) を選択するダイアログが出ますので、先に作成した設定ファイルを指定します。

すると、下図のような仮想 PC の起動画面が出ます。ここで VMware Player の窓を選択後に [F2] キーを クリック 押すと、仮想 PC の BIOS 設定画面に入ることが出来ます。但し、この起動画面が表示されている時間はリアル PC と同様にかなり短いので、素早く行わないといけません。私の場合は特に設定する必要も無かったので、仮想 PC の BIOS 設定画面には入りませんでした。

VMware Player post 画面

で、そのままにしていると、Windows 2000 の CD-ROM を読みに行って、Windows 2000 のインストール画面が表示されます。後はリアル PC でのインストールと同様に進めて行けば OK です。 なお、仮想 PC の BIOS の初期設定では、ブート順位は FDD → HDD → CD-ROM → Network となっています。従って、Windows 2000 のインストール後の再起動時には、自動的に HDD の Windows 2000 が立ち上がります。

さて、ゲスト OS の Windows 2000 のドライバ関係で問題なのは、ディスプレイ・アダプタでしょう。デバイスマネージャを見ると、不明なデバイスとして ? マークが付いていて、画面の解像度も 640x480 16色 以外に変更出来ません。これを解消して高解像度で表示出来るようにする為には、VMware Workstaion に同梱されている VMware Tools をインストールする必要があります。

VMware Workstation のダウンロードのページ から、試用版の Linux 用 tar ボール を落としてきます。私は ver.5.5 を落としましたが、ver.5.0 でも大丈夫だと思います。

【 10月13日 追記 】

このエントリを書いた時点では、VMware Workstation のダウンロード自体は自由に出来たのですが、現在ではレジストしないとダウンロード自体が出来ないようです。
現在では、フリーの VMware Server に VMware Tools が同梱されていますので、そちらをダウンロードして VMware Tools を抽出することが可能です。なお、VMware Server は、ダウンロードサイズが 100MB ほどあります。(^_^;;

解凍すると lib/isoimages ディレクトリ下に windows.iso という Windows 用 VMware Tools の ISO イメージファイルが在りますので、これを *.vmx ファイルと同じディレクトリに置きます。次に *.vmx ファイルの CD-ROM Drive の部分を以下のように変更します。後から元に戻しますので、最初の設定は行頭に # を付けてコメントアウトしておくのが良いでしょう。( VMware Player 上で Windows 2000 を使用している場合は、先に Windows 2000 をシャットダウンさせてから *.vmx ファイルを編集してください)

# ----- CD-ROM Drive -----
ide1:0.present = "true"
# ide1:0.fileName = "auto detect"
# ide1:0.deviceType = "atapi-cdrom"
ide1:0.fileName = "windows.iso"
ide1:0.deviceType = "cdrom-image"

勿論、windows.iso を CD-R に焼いて使用しても構いません。その場合は、上記の *.vmx ファイルの変更は不要です。

さて、VMware Player で Windwos 2000 を起動し、[マイコンピュータ] から CD-ROM を開き setup.exe を実行すると、VMware Tools のインストールが始まります。私はインストールは「標準」で行いましたが、適時選択してください。(インストール後でも、[アプリケーションの追加と削除] からインストール内容の変更が可能です)

インストールが完了したら、Windows 2000 を再起動してください。なお、VMware Tools の導入完了後は、先に変更した *.vmx ファイルの CD-ROM Drive の部分を元に戻しておいてください。

VMware Tools をインストールすると、VMware SVGA II という仮想ディスプレイアダプタが設定されてドライバがインストールされています。これで画面の解像度を変更出来るようになります。

なお、VMware SVGA II では VRAM 容量が初期設定では 16MB になっていますが、*.vmx に下記のような記述することで容量を変更することが出来ます。但し、ここで設定したメモリはホスト側のメモリを消費しますので注意が必要です。

svga.vramSize = "16777216"

数値が VRAM のメモリ容量で、16MB は 16777216、32MB は 33554432、64MB は 67108864、という値になります。

また、私は確認していませんが、*.vmx ファイルに下記を記述することで Direct 3D が利用可能となるそうです。

mks.enable3d = "true"


以上、これで Windwos 2000 をリアル PC 上で使用しているのに近い環境が VMware Player 上に実現出来ました。

速度的な面は、Athlon XP 2500+, 512MB(仮想 PC への割り当てメモリ 256MB), という私の環境では、サブ PC(Celeron 900MHz, 384MB)で Windows 2000 を使用していた時よりもやや速いかなぁ、という感じです。また、ホストとゲスト間のファイルの受け渡しは、ホストの Vine 側で samba サーバを稼働させることで行っています。

何はともあれ、Vine Linux 上で多くの Windows ソフトをほとんどネイティブに近い環境で使用することが可能になったわけです。これは使えます。(^o^)

Windows 2000 on VMware Player


【ライセンス面についての考察】

(1) VMware Workstaion の試用版に同梱されている VMware Tools の ISO イメージを取り出して VMware Player 上で使用することについて。

VMware.com の Discussion Forums の『VMWare Tools + VMWare Player = Legal?』というスレッドにおいて、VMware の中の人である bac 氏が下記のように述べていることを知りました。

yes it's legal. VMware does not impose any limitations on how you can use the VMware Tools.

従って、VMware Tools を VMware Player 上で使用することは、ライセンス面では問題が無いと判断しました。

(2)ゲスト用として使用する OS に関して。

当然のことながら正規のライセンスを所有していることが必要となります。無償版の Linux などをゲスト OS として使用する場合は特に問題は無いと思いますが、Windows 等の有償の OS をゲスト OS として使用する場合にはライセンス違反とならないように注意する必要が有ります。

今回の私の場合は、以前にサブ PC で使用していた Windwos 2000 のライセンスが余っていたため、これを使うこととしました。

仮想環境 | comments (4) | -

コメント

ト吉 | 2007/03/19 11:38 AM
こんにちは。VMWareの設定を詳細に記述してくれているので、大変参考になりました!!

最初うまくいかなくて、いろいろやってみたところ、w2k.vmx内のvmdkファイル名指定が、大文字になっているので、それを小文字にしたらうまく動きましたので、一応お知らせ致します。

# ----- Virtual HDD image -----
ide0:0.present = "true"
ide0:0.fileName = "W2K.vmdk"

ide0:0.fileName = "w2k.vmdk"

Wineよりこちらの方が確実そうですね。
お礼までに。
tomcat | 2007/03/20 09:06 PM
ト吉さん、コメントありがとうございます。
ファイル名の件は私のチョンボです。修正させて頂きました。m(_ _)m
あのまろかりす | 2007/08/16 10:20 PM
お礼がわりに、私もコメントさせていただきます。
VMWarePlayerの設定、大変参考になりました。

動画再生をWindowsでやってみたくて、いろいろやってみたところ、w2k.vmx内のネットワーク設定が"bridged"であるため、うまく動きませんでした。ところが、"nat"に変えたところうまく動きましたので、お知らせ致します。
この設定ですと、Vmwear上のOSのネットワーク設定で動くようです。
# ----- Network -----
ethernet0.present = "true"
ethernet0.connectionType = "bridged"

ethernet0.present = "TRUE"
ethernet0.connectionType = "nat"

大変参考になり、ありがとうございました
tomcat | 2007/08/18 08:49 PM
コメントありがとうございます。

> w2k.vmx内のネットワーク設定が"bridged"であるため、うまく動きませんでした。ところが、"nat"に変えたところうまく動きました

vmware-config.pl による VMware Player の初期設定時に NAT を選択していた、ということではないのですかね?
デフォルトでは NAT が選択されるようになっていますし。

コメント フォーム