「ほっ」と。キャンペーン

[VMware]ホストとファイル共有ができないのを解決

注意:この状況は日々変化するようなので、
この記事の日付や、カーネルバージョン、
VMwareTools のビルドバージョンに注意してください。

host: Windows7 64bit
   VMwarePlayer6
guest: Ubuntu Server 14.04.2 64bit (GNU/Linux 3.16.0-30)

注)作ったVMをwin7 32bitの人にあげるため、
 あえて古いバージョンのVMwareを使っています

共有フォルダを行うためには、
VMwareTools をインストールする必要があり、
そのために gcc などが必要なので、
ゲスト OS インストール直後に以下を実施。
$ sudo apt-get install builed-essential

その後、VMwareTools をインストールする。
以下のページが一番細かくてよかった(ゲストOS違うけど大丈夫)。
CentOS6.2にVMware Toolsをインストールする | mawatari.jp
http://mawatari.jp/archives/centos-6-2-vmware-tools-install-log


普通であれば、これで終了、のはずなのだけど。

状況


そうだ、ゲストOS の Ubuntu Server のバージョンが 12 で古いから、
バージョンアップしてみよう!と思ったのがはじまり。
カーネルも全部バージョンアップしてみたら、
ゲスト OS が起動しなくなった。

その後、新規に VM を作ってみたが、
どれもゲストとの共有フォルダで失敗する。

・VMwarePlayer7 + Ubuntu Server14
・VMwarePlayer7 + Ubuntu Server12
・VMwarePlayer5 + Ubuntu Server12 ←数年前に成功した組み合わせなのに!
・VMwarePlayer6 + Ubuntu Server14

/mnt/hgfs 以下に何もない。

/etc/mtab, /etc/fstab に .host:/ に相当する記述がないので、
以下を実行するが、マウントされない。
$ sudo mount -t vmhgfs .host:/ /mnt/hgfs

/mnt/hgfs 以下も何も表示されない。
mtab や fstab に追記してみたが、変化なし。

VMwareTools がダメなら oss だぜ!と思ったけどやっぱりダメだった。
$ sudo apt-get install open-vm-tools


よく見ると、VMwareTools のインストール中に、エラーが出ていた。
エラーの詳細は以下のページとまったく同じ。
Linux 3.x の仮想マシンから VMware Fusion の共有フォルダが見えない - いままでのこと
HGFS fails to compile on kernel 3.16.2 ・ Issue #11 ・ rasa/vmware-tools-patches ・ GitHub
検索でお越しになる方のためにエラーメッセージの一部を書いておく。
vmhgfs-only/fsutil.h expected 'gid_t' but argument is of type 'kgid_t'
vmhgfs-only/file.c
incompatible type for argument 4 of 'HgfsSetUidGid'
HgfsAioRead
implicit declaration of function ' generic_file_aio_read'
HgfsAioWrite
implicit declaration of function ' generic_file_aio_write'

解決


VMwareTools のインストールに失敗していた。

VMwareTools のインストール中に、
エラーが出ていないことをちゃんと確認すること。
画面が流れてしまうし、
YES とか NO とか入力しなくてはいけないのでログをファイルに落とせないが、
エラー全部は見えなくても、
何か失敗していることはわかる。

VMwareTools を解凍して、vmhgfs-only のディレクトリで、
エラーが出なくなるまで、ソースの修正と make を繰り返す。
エラーが出なくなったら、それをインストールして解決。
make の仕方などは、以下のページを参照。
システムエンジニア☆あきき VMWareでhostとのファイル共有ができなくなって…対処
http://akiki2starlet.blog.fc2.com/blog-entry-7.html

make の前は必ず make clean を実施。

ソースの修正は、以下のページから、
自分のカーネルバージョンに合うものを探す。
パッチになっているが、大した量ではないので、
vi で手で直すのも可能。
vmware-tools-patches/patches/vmhgfs at master ・ rasa/vmware-tools-patches ・ GitHub
元のソースは必ずバックアップしておく。

確認


/mnt/hgfs 以下にマウントされるだけではダメで、
ファイルの送受信をしてみる。
それでエラーが出て何度かソース修正をやり直した。

以下のページに従って、VMwareTools の動作確認を行う。
VMwareToolsの動作確認・起動はどのようにすれば良いですか。 | ニフティクラウド
http://cloud.nifty.com/cs/catalog/cloud_faq/catalog_120416000931_1.htm


そのた情報


VMwareTools のバージョン確認方法
$ /usr/bin/vmware-toolbox-cmd -v


VMwareTools サービスの再起動方法
$ sudo service vmware-tools restart


VMwarePlayer のメニューからダウンロードした VMwareTools の
iso イメージは、ホストの以下のディレクトリにある。
以下は linux ゲスト向けのファイル。
C:\Program Files (x86)\VMware\VMware Player\linux.iso


VMwareTools は以下からダウンロードできる。
CDS Repository - /var/www/public/stage/session-43/cds/vmw-desktop/player
exe がダウンロードできるので、以下のページを見ながら解凍も可能。
解凍をくりかえすと、中から linux.iso が出てくる。
VMware Tools (9.2.2) をダウンロードする。 - 量産メモ
http://d.hatena.ne.jp/RMS-099/touch/20121109/1352452591

VMwarePlayer のメニューから VMwareTools のインストールに失敗した場合は、
この iso イメージを cdrom としてマウントしたら
インストールできるんじゃないだろうか。
これまではメニューからのインストールによく失敗していて、
面倒で放置していたのだが、今度失敗したらやってみよう。

VMwareTools は日々修正され、ビルドされているぽい。
前日ダウンロードしたものと、今日のビルドバージョンが違うということがあった。
また、ダンナも同じバージョンで新規インストールして試してくれたが、
ホストもゲストもまったく同じなのに、エラーは出ず、問題なく動いたらしい。
日によって挙動が違うのだろうか(謎
[PR]
by xiaoxia | 2015-07-30 18:45 | ソフトウェア | Comments(0)

ダメ女プログラマ&主婦&腐女子&バイオリン弾き


by 小霞