1. 程式人生 > >linux命令列下安裝配置virtualbox虛擬機器

linux命令列下安裝配置virtualbox虛擬機器

轉自:http://www.server110.com/virtualbox/201308/307.html

linux下安裝virtualbox虛擬機器命令操作
無意間看到一篇虛擬機器效能介紹的文章,說到開源的virtualbox性很不錯,於是最近到官方網站www.virtualbox.org下了當前最新版本VirtualBox-3.1-3.1.2_56127學習研究了一下,開始在windows 7下虛擬安裝xp及centeros5系統操作了一下,啟動速度比vmware要快得多,操作習慣上也很相似,又在linux下操作了一番,介面操作啟動和在windows上差不多,虛擬機器上xp啟動的速度一般在16-17秒左右,在一臺 Intel(R) Xeon(R) CPU  1.86GHz (雙CPU,4核每CPU),8G記憶體,Red Hat 3.4.6-8 linux作業系統下(系統自身比較乾淨,還沒安裝過其他應用),同時建立了3臺虛擬1CPU,1G記憶體,xp,X介面下操作幾乎同時啟動,實體機瞬間當前LOAD高達14,感覺很卡,同時不知道何故,3臺XP完全啟動後其中總一臺5分鐘內會掛掉。後來改用命令模式操作,3臺起來一點問題都沒有,xp上跑一些自動測試指令碼,觀察了一天,還算穩定,有空計劃繼續往上加上幾臺看看。    桌面介面上操作相對比較簡單,命令操作有點複雜,但是效能比較高,下面介紹一下命令模式下安裝操作過程。
   1.rpm包安裝
    rpm -ivh VirtualBox-3.1-3.1.2_56127_rhel4-1.i386.rpm
因為我的系統版本比較老是RHEL3,不過核心升級到了2.6.9,本想找原始碼包編譯安裝,直接拿這個在上面rpm包安裝試了好像也沒報錯。
  2.新增vboxusers 使用者組
    usermod -a -G vboxusers root
   上面virtualbox rpm包安裝好後會自動生成vboxusers組,系統上要用虛擬機器的使用者都可以把這個組新增進去。
  3.建立虛擬機器
    VBoxManage createvm --name "winxp" --register
    VBoxManage 是virtualbox的虛擬機器管理命令,命令模式下操作幾乎都跟他有關。這裡建立了一個winxp的虛擬機器。
    建立完後可以用 VBoxManage list vms 命令檢視一下當前可用的虛擬機器,也可以用VBoxManage showvminfo winxp 命令檢視一下當前虛擬機器winxp的狀態及一些預設配置。
   4.修改虛擬機器設定
    首先先建立一個磁碟:
    VBoxManage createvdi --filename /home/virtualbox/winxp.vdi --size 5000 --remember
修改虛擬機器winxp設定,作業系統,記憶體,視訊記憶體,啟動順序,磁碟位置,sata磁碟控制器,電源管理介面,CPU設定,網絡卡介面,遠端管理等
VBoxManage modifyvm "winxp" --ostype "WindowsXP" --memory "512" --vram "16" --boot2 disk --boot1 dvd --hda "/home/virtualbox/winxp.vdi" --sata on --acpi on --pae on --hwvirtex on --nic1 hostif --cableconnected1 on --nictype1 "Am79C973" --bridgeadapter1 eth0 --intnet1 brigh1 --macaddress1 auto --vrdp on --vrdpport 4000 --vrdpmulticon on
   上面引數具體說明可以用 VBoxManage modifyvm --help 查看了解
執行上面命令,可能會碰到如下錯誤:
ERROR: Could not find a storage controller named 'IDE Controller'
   在國外網站上查到需要新增一下IDE介面就可以了,執行如下命令:
VBoxManage storagectl winxp --name "IDE Controller" --add ide
再執行上面命令即可。
  5.掛載ISO安裝盤
    VBoxManage openmedium dvd /home/virtualbox/winxpsp3.iso
  6.系統安裝
    先將掛載的ISO檔案,加到虛擬機器的DVD光碟機裡
VBoxManage modifyvm "winxp" --dvd  /home/virtualbox/winxpsp3.iso
可能會報錯:
  ERROR: No storage device attached to device slot 0 on port 1 of controller 'IDE Controller'
  是IDE 埠沒設定好
執行如下操作:
  將winxp.vdi 磁碟放在裝置0的第0個埠
  VBoxManage storageattach winxp --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium /home/virtualbox/winxp.vdi
將ISO掛載在裝置0的第1個埠
   VBoxManage storageattach winxp --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium  /home/virtualbox/winxpsp3.iso
7.開始啟動
     VBoxManage startvm "winxp" -type vrdp
    或者
     VBoxHeadless -startvm "winxp" &、
   再通windows遠端桌面遠端連線過去,IP:4000 ,這個埠是之前設定好的,也可以啟動的時候加引數,沒有加密,直接連遠端連線操作。
8.安裝客戶端增強外掛
   mkdir /mnt/iso
   mount -o loop /usr/share/virtualbox/VBoxGuestAdditions.iso /mnt/iso
  進入系統,開啟光碟機安裝即可
9.系統複製克隆
  virtualbox 不像vmware的磁碟檔案,拷貝過來是不能直接使用,因為virtualbox的磁碟檔案裡都被記錄了獨立的uuid,所以複製只能用自帶的命令克隆磁碟。
   vboxmanager clonevdi $(pwd)/winxp.vdi $(pwd)/winxp2.vdi
   注意,路徑要寫全,因為預設路徑會指向/root/.virtualbox/
  然後再添加註冊個虛擬機器:
     VBoxManage createvm --name "winxp1" --register
  檢視一下預設設定:
  VBoxManage showvminfo winxp2
  修改虛擬機器配置:
     VBoxManage modifyvm "winxp2" --ostype "WindowsXP" --memory "512" --vram "16" --boot1 disk --boot2 dvd --hda "/home/virtualbox/winxp2.vdi" --sata on --acpi on --pae on --hwvirtex on --nic1 hostif --cableconnected1 on --nictype1 "Am79C973" --bridgeadapter1 eth0 --intnet1 brigh2 --macaddress1 auto --vrdp on --vrdpport 5000 --vrdpmulticon on
  啟動系統:
VBoxManage startvm "winxp" -type vrdp
10.檔案共享(資料空間)
  virtulbaox 可以通過對映,直接將實體機檔案共享到虛擬機器中。
VBoxManage sharedfolder add winxp --name share --hostpath /home/virtualbox/share --transient
介面下操作很簡單,資料空間開啟實體機檔案,虛擬機器開啟網路對映掛載上來就可以。如果虛擬機器是linux,需要載入磁碟格式模組:
   modprobe vboxvfs
   mount -t vboxsf share_net_filename(實體機共享名)  /home/virtualbox/share(虛擬機器中檔案路徑)
這樣基本實現了virtualbox在linux命令下安裝,virtualbox命令很多,還在繼續研究學習中。
據有資料說:虛擬機器上安裝的虛擬系統的記憶體使用量必須要符合VBOX的要求,即不能超過機器實體記憶體的40%,換言之,要預留足夠的記憶體供真實系統使用,否則會經常異常宕機,或無法執行虛擬系統。舉例:我機器記憶體為512M,虛擬XP分配128M記憶體,視訊記憶體分配32M即可。如果虛擬XP分配256M記憶體,則無法正常執行虛擬,總是異常退出。

相關推薦

no