Skip navigation

VMware は、最近では Linux ゲスト OS の VMware Tools として、

Linux ディストリビューションが提供する open-vm-tools のパッケージをインストールすることを推奨しています。

 

そこで、VMware Workstation Pro 12 の共有フォルダ機能を open-vm-tools をインストールした Linux で使用してみました。

今回は、下記を使用しています。

  • VMware Workstation 12.5.5 Pro for Windows
  • ホスト OS: Windows 10
  • ゲスト OS: Oracle Linux 7.3 (UEK)

 

ちなみに、たまたま手元にあった Oracle Linux 7 を使用していますが Red Hat Enterprise Linux や CentOS でも同様です。

 

1. ホスト OS 側でフォルダを作成。

まず、ホストの Windows で、共有するためのフォルダと、

アクセス確認のための適当なテキストファイルを作成しておきます。

※Linux で開くので、テキストファイルのエンコードや改行コードには要注意・・・

 

今回は、C:\work\vmw_share フォルダに test.txt というファイルを作成してあります。

PS> cat C:\work\vmw_share\test.txt

VMTN Japanese Forum

 

2. VMware Workstation 共有フォルダを有効化 & 追加。

VMware Workstation で VM の設定を編集して、共有フォルダを有効にします。

 

「オプション」タブ → 「共有フォルダ」 で共有フォルダを有効(今回は「常に有効」)にして、
「追加」をクリックします。

vmw12-share-00.png

 

「共有フォルダ追加ウィザード」が起動するので「次へ」。

vmw12-share-01.png

 

ホスト OS 側のフォルダのパスと、ゲスト OS 側で認識される共有フォルダの名前を指定します。

今回は「vmw_share」という名前にしました。

vmw12-share-02.png

 

「この共有を有効化」のチェックを ON にして「完了」。

vmw12-share-03.png

 

「仮想マシンの設定」画面で、共有フォルダが追加されたことが確認できます。

vmw12-share-04.png

 

3. ゲスト OS 側でマウント & アクセス確認。

Workstation で起動する VM のゲスト OS で 共有フォルダをマウントして、

ファイルの読み取り、書き込みを試してみます。

 

今回のゲスト OS は Oracle Linux 7.3 です。

[root@vm72 ~]# cat /etc/oracle-release

Oracle Linux Server release 7.3

[root@vm72 ~]# uname -r

4.1.12-61.1.33.el7uek.x86_64

 

open-vm-tools のバージョンです。

[root@vm72 ~]# rpm -q open-vm-tools

open-vm-tools-10.0.5-4.0.1.el7_3.x86_64

[root@vm72 ~]# vmware-toolbox-cmd -v

10.0.5.52125 (build-3227872)

 

open-vm-tools がインストールされていない場合は、yum コマンドなどでインストールします。

# yum install -y open-vm-tools

 

Workstation で設定済みの共有フォルダ「vmw_share」は、ゲスト OS の Linux では認識されているようです。

[root@vm72 ~]# vmware-hgfsclient

vmw_share

 

Workstation 12 Pro のマニュアルだと、共有フォルダを mount コマンドでマウントしています。

Mounting Shared Folders in a Linux Guest

 

しかし、ただ mount コマンドを実行しても、共有フォルダの HGFS はマウントできませんでした。

[root@vm72 ~]# mount -t vmhgfs .host:/ /mnt/hgfs/

mount: unknown filesystem type 'vmhgfs'

[root@vm72 ~]# grep hgfs /proc/filesystems  | wc -l

0

 

そこで、open-vm-tools に含まれる vmhgfs-fuse コマンドでマウントしてみました。

[root@vm72 ~]# vmhgfs-fuse /mnt/hgfs/

[root@vm72 ~]# mount | grep hgfs

vmhgfs-fuse on /mnt/hgfs type fuse.vmhgfs-fuse (rw,nosuid,nodev,relatime,user_id=0,group_id=0)

[root@vm72 ~]# df -h /mnt/hgfs/

ファイルシス   サイズ  使用  残り 使用% マウント位置

vmhgfs-fuse      220G  198G   22G   91% /mnt/hgfs

[root@vm72 ~]# ls -l /mnt/hgfs

合計 0

drwxrwxrwx. 1 root root 0  4月  8 21:56 vmw_share

[root@vm72 ~]# ls -l /mnt/hgfs/vmw_share/

合計 1

-rwxrwxrwx. 1 root root 44  4月  8 21:56 test.txt

 

Windows で作成しておいたファイルを読み取ることができます。

[root@vm72 ~]# cat /mnt/hgfs/vmw_share/test.txt

VMTN Japanese Forum

 

ファイルに追記してみました。

[root@vm72 ~]# echo "wo yoroshiku." >> /mnt/hgfs/vmw_share/test.txt

[root@vm72 ~]# cat /mnt/hgfs/vmw_share/test.txt

VMTN Japanese Forum

wo yoroshiku.

 

ホストの Windows 側でも追記されました。

PS> cat C:\work\vmw_share\test.txt

VMTN Japanese Forum

wo yoroshiku.

 

ちなみに、vmware-hgfsclient と vmhgfs-fuse は、どちらも open-vm-tools に含まれています。

[root@vm72 ~]# rpm -qf `which vmware-hgfsclient`

open-vm-tools-10.0.5-4.0.1.el7_3.x86_64

[root@vm72 ~]# rpm -qf `which vmhgfs-fuse`

open-vm-tools-10.0.5-4.0.1.el7_3.x86_64

 

4. 一般ユーザからのアクセスについて。

共有フォルダは、vmhgfs-fuse コマンドのデフォルトのオプションでマウントした場合、
Linux でパーミッション設定が「rwxrwxrwx」となっていても 一般ユーザからはアクセスできないようになっています。

[gowatana@vm72 ~]$ id gowatana

uid=1000(gowatana) gid=1000(gowatana) groups=1000(gowatana)

[gowatana@vm72 ~]$ cat /mnt/hgfs/vmw_share/test.txt

cat: /mnt/hgfs/vmw_share/test.txt: 許可がありません

 

root 以外のユーザで共有フォルダを使用したい場合は、「allow_other」オプションを付与するアクセス可能になります。

※vmhgfs-fuse コマンドは root ユーザか、sudo コマンドで実行します。

[root@vm72 ~]# umount /mnt/hgfs/

[root@vm72 ~]# vmhgfs-fuse -o allow_other /mnt/hgfs/

[root@vm72 ~]# mount | grep hgfs

vmhgfs-fuse on /mnt/hgfs type fuse.vmhgfs-fuse (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)

 

一般ユーザでも読み取り / 書き込みになりました。

[gowatana@vm72 ~]$ echo "desu..." >> /mnt/hgfs/vmw_share/test.txt

[gowatana@vm72 ~]$ cat /mnt/hgfs/vmw_share/test.txt

VMTN Japanese Forum

wo yoroshiku.

desu...

 

以上、VMware Workstation の共有フォルダ機能を open-vm-tools の Linux で使用してみる話でした。