天天看點

安裝 vbox方法

一 安裝與配置 

sudo install apt-get VirtualBox 

2.新立得安裝或網站上下載下傳的編譯安裝完後,直接從"系統工具"就可運作Inntek VirtualBox了 

3.現在需将目前使用使用者添加到vboxusers組中(如果沒做這個使用者組設定的話您運作VirtualBox會報一個權限錯: 

VirtualBox kernel driver not accessible, permission problem) 

sudo usermod -G vboxusers -a user 

user是你的使用者名,然後重新開機電腦.否則運作會說你沒有權限. 

4.Virtualbox中安裝winXP 

我選擇的是DeepinXP-V5.5.iso版本(217MB),接下來開始安裝前的配置: 

1) 選擇New --next 如圖3 

建立你的guest機名字和選擇系統類型 

然後選擇記憶體大小,一般預設192夠了. 

2) 選擇guest機的虛拟硬碟大小.第一次運作當然選New新建立啦,點Next> 

一路點Next> 

選硬碟檔案類型,上面一種: 不固定硬碟檔案大小,随着系統擴大硬碟文會相應當擴大;下面一種: 固定硬碟檔案的大小.其他點Next.完成配置 

3) 安裝作業系統XP 

選擇File--virtualbox disk manager ,在CD/DVD Images中add你安裝檔案.iso 

接下來啟動虛拟系統start,接下來就像真的硬碟安裝系統一樣啦..!!不過我感覺要比真實安裝要快. 

4)進入系統後直接就可以上網了(前提是你的host聯網)..不過你是否發現guest中沒又聲音,哈哈不要急,關閉guest,在settings--Audio中選擇driver就行了,順便把USB也選上吧. 

5)Start 盡情享受同時運作2個系統帶來的樂趣吧! 

5.安裝VBoxGuestAdditions 

進入guest你會發現滑鼠隻能在guest中使用,而要切換出來需要按右Crtl,比較不友善 

打開虛拟機,點選菜單 Devices -> Install Guest Additions 點Nest>完了後重新開機guest 

這樣guest和host之間可以自由切換滑鼠, 就像普通的應用程式視窗那樣 

如果點選Install Guest Additions沒有反應? 

進入guest,選擇Devices->UMount CD/DVD-ROM,然後再點選Install Guest Additions就行了。 

在虛拟機視窗點選菜單 VM -> Auto Resize Guest Display 

拖動改變虛拟機視窗大小, 虛拟機分辨率會自動調整适應。全屏下"右 "crtl+f切換到視窗 

6. host與guest檔案共享圖形工具 

$sudo apt-get install vboxsharedfolder 

此軟體在本論壇置頂:vbox下的圖形化共享工具 

7.guest的備份很簡單,隻要把/home/...../.VirtualBox/VDI/NewHardDisk1.vdi 檔案備份下就行了. 

二 已知常見問題: 

1Q 不能運作,即點選virtualbox後沒反應; 

A 已知都是核心子產品沒加載,運作指令 

CODE: 

#dmesg | grep vboxdrv 

# vboxdrv: disagrees about version of symbol struct_module 

産生原因是進行了核心或者頭檔案單一更新,造成頭檔案與核心不符合,直接強制加載核心子產品即可解決: 

sudo modprobe -f vboxdrv 

使用這樣的方式要求每次host開機後都要手動運作一次,很不友善,要使核心與子產品相符合,可以: 

1 如果你隻是進行了頭檔案更新,隻需要再次更新核心就可以了; 

2 如果是更新的核心,需要先更新頭檔案後重新安裝VirtualBox。 

2Q 終端運作VirtualBox指令出現COM權限錯誤; 

A 主要産生原因是不是用deb包安裝而是用run包安裝後,第一次使用時就 sudo VirtualBox指令運作造成在使用者目錄下的配置檔案被修改成root了。可以手動修改權限回來,但是建議重新安裝deb包; 

3Q 不知道如何與主機通信; 

A VirtualBox主要采用smb與主機通信,預設采用NAT的方式,自帶DHCP服務,是以用戶端不要要進行任何設定。預設得到的用戶端ip是 10.0.2.15,網關是10.0.2.2,DNS是10.0.2.3,可以手動如此修改。但是,一般隻要重新開機一次主機後自帶的DHCP就會生效的。對 主機資源采用smb方式進行共享,需要采用\ip位址(主機的ip位址)的方式通路; 

其實,VirtualBox本身還帶有一個虛拟的小型區域網路絡,提供額外的smb服務,即程式VBoxManage,使用該指令行的方式可以指定host 的目錄共享給guest機,主機被虛拟成netbios名為vboxsvr,客戶機通過通路 \\vboxsvr\共享名獲得讀寫共享,但是這種共享方式很麻煩,沒有直接host開啟smb來得友善。為簡化這種共享,網友huangjiahua (ubuntu中國)特地制作了一個配置軟體,此軟體在本論壇置頂:vbox下的圖形化共享工具。注意的是,安裝後的菜單也在系統工具下面,配置共享前 guest不能開啟。 

4Q 不能用USB裝置; 

A 由于系統自身usbfs權限限制,需要root權限運作VirtualBox才能加載USB裝置;即需要 

sudo VirtualBox 

方式來啟動程式; 

參考[url]http://www.cslog.cn/Content/ubuntu_virtualbox_usb_dev.html[/url],發現隻要隻要賦予普通使用者usbfs權限,也是可以直接啟用的usb的,即在/etc/fstab檔案中添加如下一行自動挂載: 

none /proc/bus/usb usbfs devgid=1000,devmode=664 0 0 

注意,并不需要添加usbfs組,直接使用一個已經存在的使用者組就行了。如果你桌面一般隻有一個使用者,使用gid=1000的使用者組就是你的第一個使用者的自身組。使用devmode=666就可以使得任意使用者都有了usbfs的使用權限了。 

還要注意,由于usbfs之前已經被挂載了,是以需要重新開機host。 

5Q 如何設定橋接模式網絡; 

A 雖然VirtualBox自帶的NAT模式網絡已經很好了,但要把guest機加入host機的網絡,就需要橋接模式,這裡網友leemars (linuxsir論壇) 作了詳細闡述,出于友善查找和收藏,我放在blog裡面了,看這裡:[url]http://blog.openrays.org/blog-htm-do-[/url] showone-tid-287.html 

關于橋接模式自動運作,把在另外一個文章的解決辦法也貼在這裡: 

使用blog裡面的第2中方法: 

先建立一個腳本檔案,比如 

sudo gedit /etc/init.d/VBoxBridgedRun 

将那段代碼寫入,然後 sudo chmod 755 /etc/init.d/VBoxBridgedRun 

再建立一個腳本檔案 

sudo gedit /etc/init.d/VBoxBridged 

寫入這行代碼: 

/etc/init.d/VBoxBirdgedRun & 

即:讓那段代碼在背景運作。 

後面就是将後一個檔案連結到rc2.d檔案夾中,最好放在最後,即S9999VBoxBridged之類; 

VirtualBox網絡配置詳解 

下面簡單介紹一下Test-bed Environment: 

Host : 偶的本本 

OS : Arch Linux (Kernel Version 2.6.20) 已安裝uml_utilities(包含tunctl工具)和bridge-utils(包含brctl工具)兩個包. 

Username : leemars 

LAN IP : 192.168.1.106/24 

Interface : ath0 

Guest : 偶的本本上的一個虛拟機 

OS : Win2003 

Host Interface : tap0 

Non-Host : 偶的桌上型電腦 

OS : WinXP 

LAN IP : 192.168.1.120/24 

Wireless Router: 

LAN IP : 192.168.1.1/24 Gateway 

WAN IP : 172.18.60.55/24 綁定MAC 

Router開啟了DHCP 

Network Environment : 

Non-Host直接接在無線路由上, Host通過無線網卡與無線路由連接配接. 無線路由開啟了DHCP功能. 

=================================== 

最簡單的方案 : NAT(by VirtualBox) 

Host : 

直接使用VirtualBox提供的NAT功能. 

Guest : 

網卡設定為使用DHCP. 

Guest -> WAN : 

由VirtualBox的NAT提供WAN的通路服務. 

Guest -> Host : 

需要注意的是, 如果直接通路Guest拿到的網關IP, 會發現這個IP似乎是Host. 不過事實上不能直接通路網關IP來通路Host. 因為這個IP是由VirtualBox負責的, 隻實作了NAT的功能, 其他的一些功能并不能正常運作(如FTP). 如果要通路Host, 應該通路Host的真實IP. 

Host -> Guest : 

不可通路. 雖然VirtualBox的NAT功能中包括了Port Forwarding的功能, 但截至到1.3.6 Snapshot, 這個功能仍沒有出現在GUI中. 不過在OSE Version中已經可以使用這個功能. 通過Port Forwarding可以實作部分的向内通路. 

VirtualBox NAT沒有什麼玩法了. 下面的方案都是使用VirtualBox的Host Interface功能. 

----------------------------------------------------------------------------- 

方案一 : NAT(by Linux) + Route 

#echo 1 > /proc/sys/net/ipv4/ip_forward #打開轉發功能 

#iptables -t nat -A POSTROUTING -j MASQUERADE #利用iptables完成NAT功能 

#chmod 0666 /dev/net/tun #設定通路權限 

#tunctl -t tap0 -u leemars #建立一個tap裝置, 名字為tap0, 所有者為leemars 

#ifconfig tap0 up #激活tap0 

#ifconfig tap0 10.10.10.1 netmask 255.255.255.0 #為tap0指定IP和網段, 為10.10.10.1/24. 

網卡設定如下: 

IP : 10.10.10.10 

Netmask : 255.255.255.0 

Gateway : 10.10.10.1 

由Linux的iptables完成NAT功能, 提供WAN的通路服務. 

10.10.10.1是真實的Host. Guest對Host的任何通路都可以通過通路10.10.10.1來完成. 

10.10.10.10是真實的Guest. Host對Guest的任何通路都可以通過通路10.10.10.10來完成. 

Non-Host -> Guest : 

因為Guest是在Host的NAT之後的一個私有子網中, 是以直接通路是不行的. 不過可以通過iptables來完成Port Forwarding, 實作部分的向内通路. 

方案二 : Transparent Bridge (Layer 2) 

在我的機器上測試下來的結果很遺憾, 無線網卡似乎不能配合Bridge工作. 建好Bridge之後, Guest隻能通路Host, 連網關都通路不到. 是以我改用有線網卡來進行測試, 有線網卡為eth0, IP位址同ath0. 

#ifconfig eth0 0.0.0.0 promisc #使eth0進入promiscuous模式 

#ifconfig tap0 0.0.0.0 promisc #使tap0進入promiscuous模式 

#brctl addbr br0 #增加一個網橋 

#brctl addif br0 eth0 #将eth0加入網橋 

#ifconfig eth0 up #激活eth0 

#dhclient br0 #為br0設定IP位址 

#brctl addif br0 tap0 #将tap0加入網橋 

網卡設定為DHCP. 或者在設定為Host的Subnet中的一個IP位址, 如下例: 

IP : 192.168.1.201 

Gateway : 192.168.1.1 

由網關提供WAN的通路服務. 

直接通路Host的IP位址即可. 

直接通路Guest的IP位址即可. 

(由于建立了eth0和tap0的Bridge, Non-Host的ARP包被eth0接收到後, 被Brideg轉發至tap0上, 資料鍊路得以建立.) 

方案三 : Transparent IP (Layer 3) proxy ARP bridge (by parprouted) 

#ip link set tap0 up #激活tap0 

#ip addr add 169.1.1.1/32 dev tap0 #為tap0任意指定一個私有位址 

#parprouted [-d] ath0 tap0 #啟動parprouted監聽ath0和tap0. -d參數為Debug模式 

由網關來提供WAN的通路服務. 

Troubleshooting: 

這個parprouted軟體有時會出現無法連通的情況. 這時可以嘗試更換Guest的IP位址來解決問題. 這個貌似是parprouted軟體的BUG. 

方案四 : ARP Proxy(by Linux) + Route 

#route add -host 192.168.1.201 dev tap0 #增加一個路由, 将192.168.1.201定向到tap0 

#echo 1 > /proc/sys/net/ipv4/conf/ath0/proxy_arp #打開ath0上的ARP Proxy 

#echo 1 > /proc/sys/net/ipv4/conf/tap0/proxy_arp #打開tap0上的ARP Proxy 

作者:leemars(linuxsir論壇) 

關于橋接模式自動運作 

另類回答: 

/etc/sysconfig/network-scripts/ifcfg-eth0 : 

DEVICE=eth0 

TYPE=ETHER 

BRIDGE=br0 

ONBOOT=yes 

/etc/sysconfig/network-scripts/ifcfg-eth1 : 

DEVICE=eth1 

/etc/sysconfig/network-scripts/ifcfg-br0 : 

DEVICE=br0 

TYPE=Bridge 

BOOTPROTO=static 

IPADDR=192.168.1.1 

NETMASK=255.255.255.0 

ONBOOT=yes

本文轉自 song8575 51CTO部落格,原文連結:http://blog.51cto.com/song8575/36882

繼續閱讀