VMware Tools インストールメモ 2008/03/01 * 序 VMware Player はフリーのソフトウェアであり, とても偉大だが, そのまま使うとちょっと不便である. 不便であることの具体例を挙げると, * ゲスト OS の時計がどんどん狂ってしまう. * ホスト OS とゲスト OS の間でマウスポインタが自由に行き来できない (VMware Player から抜け出て本体のマシンに戻るときにいちいち ctrl + alt を押さないといけない) * 画面のサイズを拡大したり, 全画面で表示することができない といった具合である. VMware-Tools というアプリケーションを追加すると, 以上の問題を解決することができる. そこで今回, VMware-Tools のインストールを試みた. (注): 例によってこの文書は「嘘八百」な個人用メモであるので, あまり信用なさらぬよう. (注): ちなみに自分の場合, ホストOS = Windows Vista, ゲストOS = Debian Sarge である. * 作業手順 [1] Debian のカーネルバージョンを確認 ~$ uname -a Linux xxxx 2.4.27-2-686 ........ [2] カーネルバージョンに合ったカーネルヘッダ, gcc のインストール(VMware Tools インストールに必要) ~# apt-get install kernel-headers-2.4.27-2-686 gcc [3] VMware のページから VMware server の tar.gz ファイルを取得 ※ VMware Player 2.0 の場合, インストールの際に linux.iso ファイルがデフォルトで C:\Program Files\VMware\VMware Player\ にもれなくついてくる. 従ってこの場合は [3], [4], [5] の作業 はスキップしてよい. [4] Debian 上で VMware server の tar.gz ファイル を展開(1 分少々かかった) ~$ tar zxvf VMware-server-1.0.3-44356.tar.gz [5] 展開してできたディレクトリの中から linux.iso を取り出し, 適当なディレクトリに移す(必須ではない) ~$ mkdir linux-iso ~$ cp vmware-server-distrib/lib/isoimages/linux.iso linux-iso/linux.iso [6] linux.iso をマウント ~# mount -o loop linux-iso/linux.iso /media/cdrom ※ linux のカーネルバージョンが 2.4 よりも新しければ, ISO イメージファイルを含めた任意のファイルをファイルシステムのようにマウントすることができる. このような機能を「ループバックデバイス」(loopback device) と呼ぶ. この機能を用いるために -o loop オプションを用いている. [7] /media/cdrom 内に読み出された tar.gz ファイルを展開 展開後, 現在いるディレクトリに vmware-tools-distrib というディレクトリが作られる ~$ ls /media/cdrom VMwareTools-1.0.3-44356.i386.rpm VMwareTools-1.0.3-44356.tar.gz ~/linux-iso$ tar zxvf /media/cdrom/VMwareTools-1.0.3-44356.tar.gz ~/linux-iso$ ls linux.iso vmware-tools-distrib [8] 新しく作られた vmware-tools-distrib ディレクトリに移動し, vmware-install.pl というスクリプトを実行する ~/linux-iso/vmware-tools-distrib$ ls FILES INSTALL bin doc etc installer lib vmware-install.pl ~/linux-iso/vmware-tools-distrib# ./vmware-install.pl ※ 後で設定(例えば画面サイズなど)を変更したくなったら, もう一度 vmware-install.pl を実行すればよい. [9] 質問に適切に答える(特に問題, こだわりがなければデフォルトで良いでしょう) 聞かれた質問は以下の通り. ・In which directory do you want to install the binary files? [/usr/bin] ・What is the directory that contains the init directories (rc0.d/ to rc6.d/)? [/etc] ・What is the directory that contains the init scripts? [/etc/init.d] ・In which directory do you want to install the daemon files? [/usr/sbin] ・In which directory do you want to install the library files? [/usr/lib/vmware-tools] ・The path "/usr/lib/vmware-tools" does not exist currently. This program is going to create it, including needed parent directories. Is this what you want? [yes] ・In which directory do you want to install the documentation files? [/usr/share/doc/vmware-tools] ・The path "/usr/share/doc/vmware-tools" does not exist currently. This program is going to create it, including needed parent directories. Is this what you want? [yes] ・Before running VMware Tools for the first time, you need to configure it by invoking the following command: "/usr/bin/vmware-config-tools.pl". Do you want this program to invoke the command for you now? [yes] ・None of the pre-built vmhgfs modules for VMware Tools is suitable for your running kernel. Do you want this program to try to build the vmhgfs module 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? [/lib/modules/2.4.27-2-686/build/include] ・Please choose one of the following display sizes (1 - 13) : ....... [5]< "1280x800" ....... インストール完了!! X window を立ち上げて ~$ vmware-toolbox & とコマンドすると, 画面表示サイズが自由に変更できるようになり, ポインタも自由自在に 行き来できるようになるはず. またこれによりゲスト OS とホスト OS 間で文字列のコピー&ペーストできるようになるらしいが, ホスト OS -> ゲスト OS へのコピー&ペーストしかうまくいかなかった. 何故だろう? [10] 最後に linux.iso をアンマウントする ~# unmount /media/cdrom * その後発生した問題(ネットワーク問題) ・症状 VMware Tools インストール後, ホスト OS・ゲスト OS 間のネットワークが確立できなくなってしまった. 具体的には ~# ifconfig eth0 と打っても, 「no such device」と言って怒られてしまう. ・原因 VMware Player における仮想のネットワークインターフェースカード(NIC)は pcnet32 となっている(あるいは vmxnet というものも使えるらしい). Debian に登録されているモジュールを lsmod コマンドで調べてみると, 本来あるはずの pcnet32 が存在しない. VMware Tools インストール時に何が起こったのか分からないが, 仮想マシン側で pcnet32 を認識できなくなってしまったようだ. ・処方箋 [1] modprobe コマンドでモジュール pcnet32 (vmxnet でも可, その場合 pcnet32 を全て置き換えて読んでください)を登録 ~# modprobe pcnet32 すると以下のようなメッセージが出現. ......................................... eth0: registered as PCnet/PCI II 79C970A pcnet32: 1 cards_found. [2] lsmod で登録されているモジュールを確認 ~# lsmod|less Module Size Used by Tainted: PF ........................................ pcnet32 18020 0 (unused) ........................................ [3] /etc/network/interfaces が自分の望む設定になるように記述されているか確認. ~# less /etc/network/interfaces auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp [4] ネットワークの再起動 ~# /etc/init.d/networking restart [5] ネットワーク状態の確認 ~# ifconfig eth0 Link encap:Ethernet ............ inet ............................ ....................................... eth0 が存在することを確認. その後, putty で接続可能であることを確認. オペは無事終了!! ※ 後日, もう一度 VMware Tools をインストールしてメッセージをよく読んでみると, 「ネットワークのモジュールを切断したので, 再びネットワークを確立するには ~# modprobe vmxnet ~# /etc/init.d/networking start としてください」 と書いてあった. つまりこのネットワークの設定は必須ということになる!! * 参考ウェブサイト * Vmware Player のメモ http://hyamada.ddo.jp/vmware-player.html * VMware Player ---Windows 上で Linux を動かす--- http://www.zinbun.kyoto-u.ac.jp/~mfujii/computer/vmware-player * @IT : ISO イメージファイルからファイルを取り出すには http://www.atmarkit.co.jp/flinux/rensai/linuxtips/366getfilefiso.html * @IT : ネットワークカードを認識させるには http://www.atmarkit.co.jp/flinux/rensai/linuxtips/091usenic.html * Bluewall GNU/Linuxのめも。 http://www.tunagu.gr.jp/cgi-bin/fswiki/wiki.cgi/isihara?action=SOURCE&page=Bluewall+GNU%2FLinux%A4%F2%BB%EE%A4%B9 * ISO イメージをマウントする方法 http://linuxtrouble.blog85.fc2.com/blog-entry-62.html