VMware

VMware 3.0

以下は古いものです。

Linux 2.2.x 時代に書いたもの

VMware は Linux の中でもう一つのパソコンをエミュレートするソフトです。 そこに Windows などをインストールすれば,一つのマシンで同時に二つの OS が使えます。

フリーソフトではありません。 お試し期間が終わらないうちにライセンスを購入する必要があります。

インストールは単純です……と思ったら,ちょっとはまってしまいました。 Vine 1.1 ベースにカーネルを 2.2.14 に上げたシステムですが, インストーラが 2.2.11 用のモジュールをインストールしてしまい, しかもそれを強制的に insmod してしまうので, おかしな動作になり,場合によっては終了もできなくなります。 結局 VMware の配布の中からモジュールのソースを make して置き換えました。

設定は,ホストオンリーネットワーク,固定 IP にして, 起動スクリプト /etc/rc.d/init.d/vmware から dhcp と vmnet-bridge に関するデーモンの起動部分を外してしまいました。 必要に応じて Linux 側で ipchains することにします。

カーネルを make するときに CONFIG_RTC をオンにしておく方がいいようです。

フロッピーは起動のたびにがちゃがちゃ言ってうるさいので, VMware の BIOS で切ってしまいました。

カーネルモジュール vm*.o は3つありますが,そのうち vmppuser.o は仮想マシンを固定 IP にするなら不要のようですので,外しておいてかまいません。

[Note] usename を add する: /usr/bin/vmware-smbpasswd vmnet1 -a username

リンク

Linux 2.2.x → 2.4.8

以下のやりかたはもう古いので次の節を見てください。

2.4.x にしたらVMware が動かなくなった。 linux-users で質問したら, このメッセージ を教えていただいた。さっそく vmmon-for-2.4.7-only.tar.gz を取ってきてやってみた。 うまくいった! 方法をざっと書いておくと、VMware のサイトから最新の VMware-2.0.4-1142.i386.rpm をいただいてきて

rpm -Uvh VMware-2.0.4-1142.i386.rpm
cd /usr/lib/vmware/modules/source
tar xvzf ...../vmmon-for-2.4.7-only.tar.gz
tar cf vmmon.tar vmmon-only
としてから,マニュアルにあるように vmware-config.pl と打ち込んで質問に答える。

VMware は正常に動くが,「ネットワークに同じ名前があります」というエラーが出るようになり,Samba が使えない(原因は後述)。

井上さんによれば、linux-2.4.9 + iptables-1.2.2 をインストール後、 ここ からたどれる VMware-2.0.4-1235.i386.rpm と ここ にある vmware-ws-1142-for-2.4.7.tar.gz を解凍し runme.pl を実行すれば vmware-config.pl が使えるとのこと。

Linux 2.4.8 → 2.4.10

ここ からたどれる新しい VMware-2.0.4-1235.i386.rpm はインストール済み。 ここ にある vmware-ws-1142-for-2.4.7.tar.gz を展開したディレクトリに入る。

# ./runme.pl 
The file /usr/lib/vmware/modules/source/vmmon.tar that this script was about to 
install already exists. Overwrite? [yes] 

The file /usr/lib/vmware/modules/source/vmnet.tar that this script was about to 
install already exists. Overwrite? [yes] 

VMware modules in "/usr/lib/vmware/modules/source" has been updated.

Before running VMware for the first time after update, you need to configure it 
for your running kernel by invoking the following command: 
"/usr/bin/vmware-config.pl". Do you want this script to invoke the command for 
you now? [no] 

Enjoy,

--the VMware team

VMware の設定。

# vmware-config.pl 
……略……

None of VMware's pre-built vmmon modules is suitable for your running kernel. Do
you want this script to try to build the vmmon module for your system (you need 
to have a C compiler installed on your system)? [yes] 

What is the location of the directory of C header files that match your running 
kernel? [/usr/src/linux/include] 

……略……

Do you want this script to automatically configure your system to allow your 
Virtual Machines to access the host filesystem? (yes/no/help) [yes] 

The version of Samba used in this version of VMware is licensed as described in 
the "/usr/share/doc/vmware/SAMBA-LICENSE" file.

Hit enter to continue. 

Enabling networking (this is required to share the host filesystem).

Trying to find a suitable vmnet module for your running kernel.

None of VMware's pre-built vmnet modules is suitable for your running kernel. Do
you want this script to try to build the vmnet module for your system (you need 
to have a C compiler installed on your system)? [yes] 

Extracting the sources of the vmnet module.

Building the vmnet module.

make: 入ります ディレクトリ `/tmp/vmware-config0/vmnet-only'
make: 出ます ディレクトリ `/tmp/vmware-config0/vmnet-only'
The module loads perfectly in the running kernel.

Your computer has multiple ethernet network interfaces: eth0, eth1. Which one do
you want the Virtual Machines to use? [eth0] 

Enabling host-only networking (this is required to share the host filesystem).

Host-only networking is currently configured to use the private subnet 
192.168.34.0/255.255.255.0. Do you want to keep these settings? [yes] 

This system appears to have a CIFS/SMB server (Samba) configured for normal use.
If this server is intended to run, you need to make sure that it will not 
conflict with the Samba server setup on the private network (the one that we use
to share the host filesystem). Please check your /etc/smb.conf file so that:

. The "interfaces" line does not contain "192.168.34.1/255.255.255.0"
. There is a "socket address" line that contains only your real host IP address

Hit enter to continue. 

This script previously created the file /etc/rc.d/rc3.d/S90vmware, and was about
to remove it. Somebody else apparently did it already.

Unable to remove the file /etc/rc.d/rc3.d/S90vmware.

This script previously created the file /etc/rc.d/rc6.d/K08vmware, and was about
to remove it. Somebody else apparently did it already.

Unable to remove the file /etc/rc.d/rc6.d/K08vmware.

Starting VMware services:
   Virtual machine monitor[  OK  ]
   Virtual ethernet[  OK  ]
   Bridged networking on /dev/vmnet0[  OK  ]
   Host-only networking on /dev/vmnet1 (background)[  OK  ]

You have successfully configured VMware to allow your Virtual Machines to access
the host filesystem.  Your system appears to already be set up with usernames 
and passwords for accessing the host filesystem.  Would you like to add another 
username and password at this time? (yes/no/help) [no] 

You can add more usernames at any time by invoking the following command as 
root: "/usr/bin/vmware-smbpasswd vmnet1 -a <username>"

The configuration of VMware 2.0.4 build-1142 for Linux for this running kernel 
completed successfully.

You can now run VMware by invoking the following command: "/usr/bin/vmware".

Enjoy,

--the VMware team

「ネットワークに同じ名前があります」というエラーがやはり起こる。 よく考えてみれば,nmbd がもう一つ inetd.conf に設定されていたからであった。 /usr/bin/vmware-nmbd -D -l /dev/null -s /etc/vmware/vmnet1/smb/smb というプロセスを止め,/etc/rc.d/init.d/vmware の nmbd,smbd 起動部分を消す。


リンクはご自由にどうぞ。

松阪大学 奥村晴彦 okumura@matsusaka-u.ac.jp

Last modified: Fri Nov 9 13:12:31 JST 2001