Vmware平臺,Windows實機和Centos虛機共享目錄hgfs問題的方法,不一樣於Ubuntu

在Vmware搭載Centos安裝vmtools過程當中有以下報錯node

/tmp/modconfig-ygOywn/vmhgfs-only/inode.c: 
在函數‘HgfsPermission’中: tmp/modconfig-ygOywn/vmhgfs-only/./shared/compat_dcache.h:57:38: 
錯誤:‘struct dentry’沒有名爲‘d_count’的成員 
#define compat_d_count(dentry) dentry->d_count ^ /tmp/modconfig-ygOywn/vmhgfs-only/inode.c:1904:23: 
附註:in expansion of macro compat_d_count’ int dcount = compat_d_count(dentry);

這個報錯致使虛機centos和實機windows共享目錄時, hgfs目錄會沒法顯示。 特別須要留意的是,centos虛機和window實機共享目錄的解決辦法不一樣於ubuntu虛機。 ubuntu通常經過安裝open-vm-dkms包, 並主動進行掛載就可解決共享問題。ubuntu

而對於centos虛機,這裏,咱們須要修改vmtools源碼中的compat_dcacche.h文件並從新安裝vim

cd /tmp/vmware-tools-distrib/lib/modules/source/
tar -xf vmhgfs.tar #解壓vmhgfs.tar,裏面有個vmhgfs-only文件夾
cd vmhgfs-only/shared/ #進入解壓後目錄
vim compat_dcache.h #打開頭文件

下面這塊報錯了,具體緣由未知windows

if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 11, 0)
    define compat_d_count(dentry) d_count(dentry)
elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 38)
    define compat_d_count(dentry) dentry->d_count
else
    define compat_d_count(dentry) atomic_read(&dentry->d_count);
endif

咱們將 #elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 38)下面的#define 改爲 define compat_d_count(dentry) d_count(dentry)centos

改完源碼後,從新歸檔bash

tar -cf vmhgfs.tar vmhgfs-only/
cd /tmp/vmware-tools-distrib
./vmware-install.p #從新安裝vmtools。

這下成功了, 成功看到hgfs目錄函數

相關文章
相關標籤/搜索