解決vmware虛擬機中,已安裝vmware-tools卻沒法共享文件夾的問題

    衆所周知,在win7主機與linux虛擬機之家開啓文件夾共享,可以省去每次都ftp的麻煩。在測試的時候,可以方便很多。linux

    以前我在宿主機win7裏面安裝了vmware,而後裝了一個centos虛擬機。而後正常安裝了 vmware-tools,一切順利,最後也出現了「Enjoy」 的提示。可是就是死活沒法與win7共享文件夾。這在之前是沒有發生過的事情。在將vmware卸載重裝升級爲 vmware 10 以後,問題依舊。最近因爲是在沒法忍受,怒上心頭,誓要解決該問題。c++

    在網上參考了這兩篇文章(1,解決 CentOS 7.0 在VMware 10下安裝 WMware Tools錯誤的問題http://blog.csdn.net/hang_zheng/article/details/41520271。2,VM下Ubuntu 10.10裏安裝VMtools成功仍是沒法顯示共享文件夾問題:http://www.linuxidc.com/Linux/2011-02/32038.htm),將兩篇文章結合起來看,就解決了個人問題。爲避免用戶本身花時間總結,下面我說出個人探索歷程,但願可以給看官一點啓發。之後即便遇到的不是我這同一種類型的錯誤,也能用相似的辦法解決。centos

    現象:設置了文件夾共享,可是在 虛擬機的 /mnt/hgfs目錄裏面並無個人共享文件夾。因而嘗試執行 vmware-toolbox-cmd 命令,看看 vmware-tools 是否正常。測試

    問題:執行 vmware-toolbox-cmd 命令直接報錯:
    vmware-toolbox-cmd: Missing command
    Try 'vmware-toolbox-cmd help' for more information..net

    此時我就想到從新安裝 vmware-tools,因而執行 sudo vmware-install.pl。看到這麼幾句話:orm

If you wish to have the shared folders feature, you can install the driver by
running vmware-config-tools.pl again after making sure that gcc, binutils, make
and the kernel sources for your running kernel are installed on your machine.
These packages are available on your distribution's installation CD.
[ Press Enter key to continue ]htm

    意思是說,若是想開去 文件夾共享的特性,在確保安裝了幾個庫文件以後,執行 vmware-config-tools.pl 來安裝。這提示仍是很到位的。而後就是安裝這幾個庫了: sudo yum install kernel-headers make gcc gcc-c++ kernel-devel binutils. 而後執行  vmware-config-tools.pl 腳本,卻報以下錯誤:blog

 

/tmp/modconfig-dBTDLE/vmhgfs-only/./shared/compat_dcache.h:57:38: error: 'struct dentry' has no member named 'd_count'
 #define compat_d_count(dentry) dentry->d_countget

提示說這個頭文件有問題!可是我想去/tmp/modconfig-dBTDLE/vmhgfs-only/./shared 目錄裏面找到compat_dcache.h文件,發現 /tmp 目錄裏面壓根就沒有那個文件夾啊,它是臨時生成的。把這一行報錯百度以後,找到了第一篇文章,而後裏面的這一句: 修改vmhgfs-only/compat_dcache.h 。但是找遍了全部的目錄,也沒有發現 這個東西。因而繼續找,找到了第二篇文章,第二篇文章裏面雖說的是另一個問題的解決辦法,找的文件不是 compat_dcache.h,而是 compat_slab.h ,可是 它卻告訴了我 vmhgfs-only 這個文件夾是怎麼來的!因而,將這兩篇文章結合起來看,我就知道我應該進入個人 vmware 文件夾cmd

/home/lk/vmware-tools-distrib/lib/modules/source裏面,解壓vmhgfs.tar(終端命令:tar -xvf vmhgfs.tar),解壓後生成文件夾vmhgfs-only,刪除文件夾vmhgfs.tar(rm -f vmhgfs.tar)(由於後面要修改後從新壓縮生成該名稱文件夾),而後進入/vmhgfsr-only/share 找到compat_dcache.h,首先用命令:chmod +w compat_dcache.h修改該文件的只讀屬性爲可寫,用vi或gedit進入對其修改(vi compat_dcache.h),找到該行:

#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 11, 0)

,將該行替換爲:

#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)(即將 11 改成 10),保存退出.

原來的 vmhgfs.tar 已經刪除了, 從新打包成 vmhgfs.tar,

tar -cvf vmhgfs.tar vmhgfs-only/,

從新運行 ./vmware-install.pl 便可。

相關文章
相關標籤/搜索