1. 程式人生 > >CentOS(三)主機與虛擬機器之間的檔案共享

CentOS(三)主機與虛擬機器之間的檔案共享

可參考:http://www.cnblogs.com/nick-pan/archive/2012/08/18/2645025.html

可參考:http://my.oschina.net/quanpower/blog/132359

可參考:http://www.it165.net/os/html/201410/9446.html
可參考:http://blog.chinaunix.net/uid-8305736-id-2033004.html

備註:如果不是root使用者進來,各命令前增加sudo 命令;


主要是在虛擬機器上安裝擴充套件包,選定主機上指定目錄為共享目錄。

虛擬機器是windows系統的,也同樣在虛擬機器上安裝擴充套件包,同樣是光碟機選ISO檔案,執行.exe安裝,重啟後進入虛擬機器作業系統>>我的電腦可看到多了個網路驅動器,建議重啟前先在主機上>>選中你的window虛擬機器>>設定>>共享資料夾>>新增共享資料夾。如果沒有看到網路驅動器,也可以在虛擬機器我的電腦右擊,選擇對映網路驅動器。)

1)選擇VBoxGuestAdditions.iso

在Virtual Box上選擇虛擬機器>>設定>>儲存>>光碟>>分配光碟機處選擇iso檔案;(虛擬機器沒有啟動無法選擇檔案)

對於主機host是windows系統,可以在virtual box安裝目錄找到VBoxGuestAdditions.iso;

對於主機host是mac系統,可以開啟Finder>>應用程式>>右擊VirtualBox,選擇顯示包內容>>Contents\MacOS\VBoxGuestAdditions.iso;

2)在虛擬機器Linux安裝VBoxLinuxAdditions元件


安裝系統元件

#yum install kernel-headers/*核心原始碼標頭檔案包*/
#yum install kernel-devel/*如果程式需要核心提供的功能,就需要核心的 C header 來編譯程式, linux-devel 裡面的東西就用上了。*/
#yum install gcc make

#yum install kernel* dkms gcc

#rpm -qa | grep kernel/*本機看到有兩個版本的核心一個是2.6.32-368xxx,另一個是2.6.32-504xxx,將其中的舊版本刪掉:#yum remove kernel-xxx版本號*/

#ls /usr/src/kernels/*看看裝了哪幾個核心版本,有幾個版本時啟動讀秒時按回車可以選擇版本啟動*/

#uname -r  /*檢視核心版本可執行命令*/

#echo export KERN_DIR=/usr/src/kernels/`uname -r`-`uname -m`/*竟然用1鍵左邊的鍵`,真奇特!沒有執行這一步可能會出現下面的異常*/

#ln -s /usr/src/kernels/`uname -r` /usr/src/linux (其中版本號看當前所進入的核心,在輸入kernels版本號時也可以用tab鍵協助快速輸入)

安裝VBoxLinuxAdditions元件

#mkdir /media/VirtualBoxGuestAdditions/*建立資料夾*/
#mount -r /dev/cdrom /media/VirtualBoxGuestAdditions/*載入指向自定義資料夾,#startx進入圖形桌面是自動載入的*/

#ls /media//*可看到VBOXADDITIONS_xxx版本號的資料夾和自己建的資料夾*/

#cd /media/VirtualBoxGuestAdditions/

#sh ./VBoxLinuxAdditions.run/*執行安裝*/

/*{異常處理:Building the main Guest Additions module [失敗] 

#cat /var/log/vboxadd-install.log /*檢視失敗提示中的日誌檔案*/

第一種錯誤是沒設定路徑:Error: unable to find the sources of your current Linux kernel.Specify KERN_DIR=<directory> and run Make again

第二種錯誤是找不到路徑,設了但沒設定對,可以檢查一下核心版本:Error: KERN_DIR does not point to a directory

第三種錯誤是沒找到Perl命令:/bin/sh: perl: command not found/*執行#yum -y install perl 就可以了*/

}*/


3)掛載共享資料夾 

#reboot  /*重啟*/
#mkdir /mnt/share /*在linux虛擬機器新建共享資料夾*/ 
#mount -t vboxsf winshare /mnt/share  /*將主機host上的共享資料夾掛載到linux虛擬機器*/

正常的話mount -t vboxsf winshare /mnt/share共享資料夾應該可以訪問了 
#cd /mnt/share 
#ls -al

如果提示 /sbin/mount.vboxsf: mounting failed with the error: No such device 
可能是沒有載入核心模組 vboxfs ,先檢視下: 
#lsmod | grep vboxsf 
如果沒有結果返回,說明 vboxsf沒有載入,執行 
#sudo modprobe vboxsf