使用VMware11設定CentOS共享資料夾

2022-03-09 06:37:11 字數 3377 閱讀 4491

本以為裝個tomcat很容易,但是沒想到還是遇到了很多的問題,特此寫下這篇筆記,為其他有需求的同學提供一些參考。

系統環境:windows7 + vmware 11.0準備工具:centos 7安裝iso檔案, apache tomcat以及jdk

操作步驟:

一、使用vmware安裝好centos系統

這一步不作詳細敘述了,因為對大多數人來說太簡單。

二、設定共享資料夾

由於在離線狀態下安裝,所以一些工具需要從宿主機的共享資料夾裡複製到虛擬機器裡來,我採用的是設定共享資料夾的方式,不知道其他同學有沒有更好的方式。但就是在設定這個共享資料夾的時候出了很多的問題。

我在安裝系統的時候,系統是預設自動安裝好vmtool的,但是不知道是什麼原因,在我建立共享資料夾後,在/mnt/hgfs下沒有我存好的檔案。於是我在網上查詢了原因,有網友說是因為gcc版本需要公升級,但是我這是離線安裝,gcc版本公升級實在是不太好辦。於是我另想辦法,決定重新安裝vmtools。在vmware選項裡選擇重新安裝vmtools,然後進行了以下步驟

1.mount /dev/cdrom /mnt/cdrom將vmtools掛載到cdrom資料夾

2.將cdrom中的vmtool的tar檔案拷貝到本地磁碟,然後用tar -zxf vmtool 進行解壓

3.解壓之後執行其中的.pl檔案

4.出現一些需要確認的問題,一路enter

5.這時候問題來了,突然提示hgfswbrequestwait

函式裡有乙個wait_on_bit函式報錯,具體的提示內容我沒有拷貝下來。然後提示你如果繼續請按enter鍵,之後安裝完畢。看了一下hgfs資料夾,依然空空如也。

7.引用csdn的博主kyolong的文章,鏈結——

文中提到:

通過檢視後發現因為centos 7的linux核心用的3.10版本,在函式 wait_on_bit_io()中有三個引數,而vmtool的**在核心3.19後才用3個引數的wait_on_bit_io()函式,**如下

1639 #if linux_version_code >= kernel_version(3, 19, 0)

1640 return wait_on_bit_io(&req->wb_flags,

1641 pg_busy,

1642 task_uninterruptible);

1643 #elif linux_version_code >= kernel_version(2, 6, 13)

1644 return wait_on_bit(&req->wb_flags,

1645 pg_busy,

1646 #if linux_version_code < kernel_version(3, 17, 0)

1647 hgfswbrequestwaituninterruptible,

1648 #endif

1649 task_uninterruptible);

1650 #else

個人推測,在其他linux版本中可能也會出現類是的問題,只要看看報錯原始碼,如果是由於#if linux_version_code < kernel_version(3, 17, 0),這種判斷造成的報錯,只要把巨集改成當前的版本號,一般都能解決問題.

vmware-tools-distrib/lib/modules/source的目錄下有不少tar檔案,我是根據報錯的提示

「/tmp/modconfig-71euqe/vmhgfs-only/page.c:1649:23: error: too many arguments to function 『wait_on_bit』」 乙個個去解壓了找的

解壓指令

tar xf vmhgfs.tar

修改目錄下的page檔案的1639行

1639 #if linux_version_code >= kernel_version(3, 19, 0)

改為如下↓

1639 #if linux_version_code >= kernel_version(3, 10, 0)

解壓後修改完成打包指令

tar cf vmhgfs.tar vmhgfs-only

然後執行vmware-install.pl 問題解決

我按照這位博主的方法找到了這個檔案,發現第1639行並不是文中的**,而是一串長長的注釋。於是我估計是版本的問題,我查了一下我使用的centos以及vmware的版本號,

uname -r 得到centos核心版本是3.10.0-514.e17.x86_64

cat /etc/redhat-release ,系統版本是 centos linux release 7.3.1611 (core)

vmware版本是11.0.0 build-2305329

我又根據提示找到這個函式hgfswbrequestwait

發現其實問題出在這

hgfswbrequestwait(hgfswbpage *req) //

in: request of page data to write

在第1619行,我把

#if linux_version_code >= kernel_version(2, 6, 13)

return wait_on_bit(&req->wb_flags,pg_busy,

#if linux_version_code < kernel_version(3, 17, 0)hgfswbrequestwaituninterruptible,

#endif

改成了

#if linux_version_code >= kernel_version(2, 6, 13)

return wait_on_bit(&req->wb_flags,pg_busy,hgfswbrequestwaituninterruptibl

task_uninterruptible);

是的,我把這個大於3.17.0的版本判斷去掉了。因為我實在不理解為什麼還要設定版本上限。

ok,打包壓縮包,重新安裝vmtool,沒有再出現這個提示,再看看/mnt/hgfs資料夾,發現裡面已經有內容了。至此,用vmware共享資料夾終於完成。

VMWare共享檔案設定

vmware共享檔案設定 方法一 我使用的是vmware4.5,在硬碟中劃分了10g的空間給它,在使用中需要和宿主系統windowsxp交換資訊。除了配置共享資料夾外,還可以使用u盤。在虛擬機器識別出usb之後,用 fdisk l dev sdb 或fdisk l dev hdb 檢視,會看到u盤被...

VMware設定centos7共享資料夾

前言 vmware在設定centos6共享資料夾的時候,只需要安裝vmware tools,然後在vmware裡面配置共享資料夾即可,但是對於centos7,設定完之後,並不能如願的將我們共享的目錄顯示在 mnt hgfs目錄下,這裡我們需要自己進行掛載,以下進行掛載講解,共享資料夾設定需要先安裝v...

vmware設定共享資料夾

第一步 安裝vmware tools 僅有命令列介面的 ubuntu server 1.轉到虛擬機器 安裝 vmware tools 或 vm 安裝 vmware tools 2.在 ubuntu 客戶機中,執行以下命令 a.執行如下命令以建立乙個掛載 cd rom 的目錄 sudo mkdir m...