VMWARE下fedora安裝後與Windows共享文件夾的問題

好久麼來這裏了,這次寫個小的技術問題。因爲fedora 8比較新,在網上搜了半天,也沒找到好的資料,解決了嘛,就留個痕跡吧,大家共享一下,以便當他們碰到同樣問題時,節省點時間。
問題描述:當我們用vmware在本地機上,安裝一個新的linux操作系統(比較流行的,Fedora是其中之一)時,怎樣使屏幕的
             分辨率高於800*600?怎樣使鼠標 在主機和客戶機之間平滑地移動?怎樣順利地在二者之間共享文件?
答     案:安裝vmware tools
二次問題:爲什麼很多人說即使安裝了vmware tools,還是不能解決分辨率和共享文件的問題?
原理分析:究其原因,是vmware tools沒有真正的安裝成功。
             1. 我不推薦用rpm格式包直接安裝,或者命令行,rpm -ivh vmware-tools.xxxx.rpm安裝。原因是,安裝時,
                並不提示具體的出錯信息。
             2.建議用源碼安裝包來安裝。即使出錯,我們還可以修改源碼來進行重新編譯。
           ==========================================================================
          源碼安裝步驟:
             1. 先解壓vmware tools壓縮包到某一目錄下,比如:/opt/下,最後得到的目錄爲:/opt/vmware-tools-distrib
             2. 進入解壓目錄的 lib/modules/source下,分別解壓 vmblock.tar 和 vmhgfs.tar 兩個壓縮包,解壓後得到
                 兩個文件夾:vmblock-only, vmhgfs-only
             3. 先修改vmblock包源文件,進入 vmblock-only/linux下,修改兩個文件:
                 a. os.h文件,第79行,找到kmem_cache_create()函數定義,去掉其最後一個參數,只留5個參數(其定義
                     見linux/slab.h)
                 b. filesystem.c文件,第125行,去掉kmem_cache_create函數最後一個參數,並去掉前面一個參數後的逗號。
             4. 再修改vmhgfs包源文件,進入 vmhgfs-only下,修改如下兩個文件:
                 a. file.c文件,註釋掉從第99行,#ifdef VMW_SENDFILE_NODE 開始到第101行的 .sendfile 定義。 
                                   繼續註釋掉第1011行,result = generic_file_sendfile()函數調用。
                 b. filesystem.c文件,去掉第693,704行kmem_cache_create函數的最後一個參數,並刪除前一參數後的逗號.
             5. 保存上述兩個包中修改的文件,若不能保存,可以先save as, 然後將原始文件刪除掉,再改名回原始文件名即可。
                 並且,將兩個文件夾重新打包成 vmblock.tar 和 vmhgfs.tar。
             6. 打開一terminal窗口,在先前的解壓目錄下如:/opt/vmware-tools-distrib/下,
                  輸入:./vmware_install.pl 開始安裝。
             7. 一路按yes安裝,但是到提示說系統的頭(header files)文件位置時,輸入以下路徑:
                 /usr/src/kernels/2.6.23.1-42.fc8-i686/include 
             8. 此時應該看到vmblock和vmhgfs能順利編譯成功。但是,vmxnet還不能安裝成功,但不影響我們的應用。
                (關於這個,我後面簡單地解釋一下)
             9. 當提示問是否配置屏幕分辨率時,回答yes,可以選取你想要的分辨率,例如:3: 1024*768
            10. 現在你可以共享winXP和linux文件了。
                  a. 打開vmware的菜單VM ->settings,再選options,找到shared folders,選取always enabled,
                     add windows的共享目錄
                  b. 打開fedora 8的 /mnt/hgfs目錄,此時可以看到windows共享的目錄了。
後續問題:之所以出現vmware tools安裝不成功的原因,在於fedora 8的頭文件,有不少已經做了修改,但是vmware tools
             裏的函數還是舊形式,所以當然編譯不能通過。關於vmxnet問題,也是一樣,但是vmxnet的問題就沒那麼簡單
             了,主要是skbuff.h裏 struct sk_buff 這個結構改變太大了,修改很麻煩。
             第二個未解決問題,就是在主機和目標機之間的拷貝及拖拉問題還沒有很好的解決。按照vmware tools的解釋,
             只要安裝好vmblock就可以了,但不知爲什麼已經安裝好了,還是不可以用。這個有待進一步研究。
             第三個問題就是,在remote desktop中,如果進入vmware的客戶機,那麼鼠標會出現抖動等問題。這個問題很
             嚴重,假如我們在家裏通過vpn登陸到公司的機器上,想操作vmware的fedora,那基本上是沒辦法了。此問題,
             也待進一步研究。
             最後,就是,雖然vmware tools號稱已經開源了(可以在sourceforge上拿到原代碼),但是,似乎好像上面的
             問題並不能解決。這個也有待進一步研究。安裝 VMware Tools 主要是爲了使用共享文件夾功能。很可惜的是由於Fedora 8 源代碼的改動,不能順利的安裝這個功能。經過一個晚上的測試,總算把共享文件夾這個功能安裝上了。主要問題出在 VMware tools distrib/lib/modules/source/vmhgfs.tar 這個包裏面。首先把安裝包解壓到臨時文件夾中,然後
1.解壓vmhgfs.tar 得到 vmhgfs-only 文件夾
2.進入該文件夾 打開 file.c文件 註釋掉從第99行,#ifdef VMW_SENDFILE_NODE 開始到第101。 註釋掉第1011行,result=generic_file_.....; 保存
3.打開filesystem.c  把第693,704行kmem_cache_create 函數的最後一個參數刪掉,保存。
4.重新將vmhgfs-only文件夾打包爲vmhgfs.tar.
5. 運行 vmware_install.pl 就可以安裝成功vmhgfs這個包了 
需要注意的是 當問到What is the location of the directory of C header files that match your running 的時候需要自己輸入以下路徑 /usr/src/kernels/2.6.23.1-42.fc8-i686/include/linux

其他VMware tools 由於文件的改動也有問題。但是不怎麼用,所以就不裝了。

 

 


發佈了4 篇原創文章 · 獲贊 6 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章