測試環境:
HOST:HP NC6000筆記本,1.6G的CPU,512M+256M的內存,主機系統為Kubuntu 7.10,採用DHCP獲取地址,地址段為10.32.150.*,上外網需要通過代理。 GUEST:WINXP SP2
由於我是在內網,連接Internet比較慢,所以直接下載了VirtualBox 1.5.2的DEB包。安裝的時候還依賴libxalan110和libxerces27兩個包,我就直接在packages.ubuntu.com上下載了。由於在配置網路過程中還需要bridge-utils和uml-utilities我也一併下載了。
一、安裝VirtualBox 1.5.2
安裝過程很簡單,直接使用dpkg安裝: sudo dpkg -i libxalan110_1.10-3_i386.deb sudo dpkg -i libxerces27_2.7.0-3_i386.deb sudo dpkg -i virtualbox_1.5.2-25433_Ubuntu_gutsy_i386.deb sudo dpkg -i bridge-utils_1.2-1build1_i386.deb sudo dpkg -i uml-utilities_20060323-3ubuntu2_i386.deb
安裝完成後,在Kubuntu的開始菜單的系統裡面有可以看到VirtualBox了。
二、安裝操作系統
然後我是從硬碟鏡像安裝的,所以在CDROM的配置時直接選擇了在硬碟上的WINXP鏡像,然後直接將網路配成NAT了。安裝的時候我分了4G給虛擬機,內存分配了512M。
三、網路配置
VirtualBox的網路配置分為3種方式:NAT,Host Interface,Internal Network;我試了前兩種方式。
NAT 這種方式非常簡單,簡單得在某種情況下讓你感覺不到這種方式的存在。只要在“Setting/Network”里將“Attach to”選擇NAT就行了。然後虛擬機啟動后Guest機採用DHCP的方式從VirtualBox虛擬的DHCP伺服器上獲取IP地址。
不過這種方式有個問題, NAT地址池的地址不能修改,啟動系統用ipconfig /all可以看到網關就是10.0.2.2,同時在主機上又不能手工添加路由,十分鬱悶。而我們公司剛好也是使用10.*.*.*的網段,結果是我訪問外網可以,但是訪問內網反而不行了。所以,只能嘗試使用第二種方式。
Host Interface 這種方式搞得我比較鬱悶,我按照VirtualBox網站上提供的UserManual看了半天,試了幾次,總是不行。後來在網上搜了半天,滿世界都是leemars的那片文章在轉來轉去,且還用到了iptables,我對這個東東又不太熟,搞了半天還是不行。後來又發現Alexey Eremenko的《Using VirtualBox: the new era User-Friendly x86 PC Virtualizer》,照著一試還真行了,但是這種方法都是手工在執行命令,雖然可以寫成腳本執行也感覺挺麻煩的,就想著能不能像UserManual一樣直接修改/etc/network/interfaces文件搞定,然後就對照著這篇文章,發現UserManual里沒有注意的幾點,下面是我的配置步驟:
i.設置/dev/net/tun的讀寫許可權,這個東東早晚都得做,就早做了,並且只用一次就行了 chmod 0666 /dev/net/tun
ii.生成tap0介面 在/etc/network/interfaces中加入如下內容(username為使用VirtualBox的用戶名): auto tap0 iface tap0 inet manual up ifconfig $IFACE 0.0.0.0 up down ifconfig $IFACE down tunctl_user username
這一步對應的操作為: $sudo tunctl -t tap0 -u username $sudo ifconfig tap0 0.0.0.0 up
iii.生成br0橋 在/etc/network/interfaces中加入如下內容: auto br0 iface br0 inet dhcp bridge_ports eth0 tap0 up ifconfig $IFACE up
這一步對應的操作為: $sudo brctl addbr br0 $sudo brctl addif br0 eth0 tap0 $sudo dhcpcd br0 $sudo ifconfig br0 up
如果手工執行時,可能會報沒有dhcpcd命令,需手工安裝: $export http_proxy=http://代理伺服器:埠 $sudo apt-get install dhcpcd
iv.確保tap0和eth均未配置IP地址 這一步實際上就是把eth0的網口的地址清掉,將/etc/network/interfaces中的eth0段改為如下內容即可:
iface eth0 inet manual up ifconfig $IFACE 0.0.0.0 up
這一步對應的操作為: $sudo ifconfig eth0 0.0.0.0 up
v.現在打開VirtualBox的GUI,選中你的虛擬機,在“Setting/Network”中修改“Attached to”為“Host Interface”,然後在“Interface name”中輸入tap0即可。
vi.現在啟動虛擬機,我的Windows XP已經工作正常了,內網已經可以正常訪問了,然後進行代理伺服器設置,工作正常!
四、Windows與Linux文件共享
在VirtualBox的GUI中選擇虛擬機,“Setting/Shared Folders”,添加你要共享的目錄,然後在Windows中,打開我的電腦,在“工具/映射網路驅動器”的“文件夾”中輸入“\\vboxsvr\你的共享文件夾名”(無括弧),驅動器可以自己選擇,確定即可。
我把我原來Windows的幾個盤全部共享過來了,呵呵,就像在直接安裝的Windows系統下一樣使用。由於Kubuntu 7.10已經可以直接寫NTFS格式的磁碟,我甚至可以直接將相關文檔保存到我的本地硬碟了。
五、其他
VirtualBox還有一個小功能,可以在Guest和Host之間共享剪貼板,所以在Host上拷貝的東東,可以直接粘貼到Guest上,反之依然。 |
(責任編輯:A6)
[火星人 ] Kubuntu 7.10系統下安裝配置VirtualBox已經有486次圍觀