解決linux kernerl3.13 安裝vmware10 vnet錯誤

查找相關資料發現原因在於升級到ubuntu 14.04之後現在的Linux內核版本是3.13,這個內核版本修改了一些底層函數,而VMWare的相關源碼包還沒有來得及修改相關代碼。由於是內核版本的問題,所以同樣的問題也大量出現在Fedora等系統上。

因此同樣的問題可以繼續存在於3.14, 3.15等後續版本中。

解決方法爲修改vmnet模塊的源碼包中的兩處代碼。

1,獲取root權限,進入相關目錄:

su - root
cd /usr/lib/vmware/modules/source

2,解壓vmnet源碼包(得到vmnet-only文件夾):

tar -xf vmnet.tar

3,備份原來的文件:

mv vmnet.tar vmnet.tar.bak

4,修改源文件filter.c:

4.1,修改206行的:VNetFilterHookFn(const unsigned int hooknum // IN:

爲:VNetFilterHookFn(const struct nf_hook_ops *ops, // IN:

4.2,修改255行的: transmit = (hooknum == VMW_NF_INET_POST_ROUTING);

爲: transmit = (ops->hooknum == VMW_NF_INET_POST_ROUTING);

5,打包修改過的文件,刪除無用的文件

tar -uf vmnet.tar vmnet-only

rm -rf vmnet-only

6,重新編譯內核模塊,啓動vmware

可以直接點擊vmware workstation的圖標,啓動自動檢測和編譯過程;也可以通過命令:

vmware-modconfig --console --install-all
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章