VirtualBox命令列VBoxManage建立與管理虛擬機器教程

NO IMAGE

VBoxManage is the command-line interface to VirtualBox.

前言

本文要操作的虛擬機器資訊如下:
名稱: UbuntuRDHome
映象名稱: ubuntu-16.04.3-server-amd64.iso
網路連線: 橋接
主機環境:
$ uname -a命令輸出:
Linux UbuntuServer 4.10.0-37-generic #41-Ubuntu SMP Fri Oct 6 20:20:37 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
$ lsb_release -a命令輸出:
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 17.04
Release:        17.04
Codename:       zesty
$ ifconfig命令輸出:
enp5s0f0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
inet 172.16.8.3  netmask 255.255.255.0  broadcast 172.16.8.255
inet6 fe80::dad3:85ff:fee3:8a56  prefixlen 64  scopeid 0x20<link>
ether d8:d3:85:e3:8a:56  txqueuelen 1000  (Ethernet)
RX packets 12193671  bytes 5948053357 (5.9 GB)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 19703213  bytes 21537731944 (21.5 GB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
device memory 0xc0400000-c041ffff  
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
inet 127.0.0.1  netmask 255.0.0.0
inet6 ::1  prefixlen 128  scopeid 0x10<host>
loop  txqueuelen 1000  (Local Loopback)
RX packets 12358  bytes 750596 (750.5 KB)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 12358  bytes 750596 (750.5 KB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

建立UbuntuRDHome虛擬機器

建立虛擬機器(同時註冊)

VBoxManage createvm --name UbuntuRDHome --register
註冊虛擬機器
VBoxManage registervm <Absolute Full Path>/UbuntuRDHome.vbox
僅登出虛擬機器
VBoxManage unregistervm UbuntuRDHome
刪除虛擬機器(!!!會刪除所有虛擬硬碟,謹慎操作!!!)
VBoxManage unregistervm --delete UbuntuRDHome

設定系統型別Ubuntu_64

VBoxManage modifyvm UbuntuRDHome --ostype Ubuntu_64

設定記憶體大小4G

VBoxManage modifyvm UbuntuRDHome --memory 4096

建立虛擬磁碟:系統盤100G

VBoxManage createmedium --filename UbuntuRDHome_HDD_SYS_100G.vdi --size 100000

建立虛擬磁碟:HOME盤100G

VBoxManage createmedium --filename UbuntuRDHome_HDD_HOME_100G.vdi --size 100000

建立儲存控制器IDE、SATA

VBoxManage storagectl UbuntuRDHome --name IDE --add ide --controller PIIX4 --bootable on
VBoxManage storagectl UbuntuRDHome --name SATA --add sata --controller IntelAhci --bootable on
移除控制器:
VBoxManage storagectl UbuntuRDHome --name IDE --remove
VBoxManage storagectl UbuntuRDHome --name SATA --remove

關聯虛擬機器磁碟

VBoxManage storageattach UbuntuRDHome --storagectl SATA --port 0 --device 0 --type hdd --medium UbuntuRDHome_HDD_SYS_100G.vdi
VBoxManage storageattach UbuntuRDHome --storagectl SATA --port 1 --device 0 --type hdd --medium UbuntuRDHome_HDD_HOME_100G.vdi
解除關聯:
VBoxManage storageattach UbuntuRDHome --storagectl SATA --port 0 --device 0 --type hdd --medium none
VBoxManage storageattach UbuntuRDHome --storagectl SATA --port 1 --device 0 --type hdd --medium none

關聯映象檔案

VBoxManage storageattach UbuntuRDHome --storagectl IDE --port 0 --device 0 --type dvddrive --medium ubuntu-16.04.3-server-amd64.iso
VBoxManage storageattach UbuntuRDHome --storagectl IDE --port 1 --device 0 --type dvddrive --medium VBoxGuestAdditions_5.1.22.iso
解除關聯:
VBoxManage storageattach UbuntuRDHome --storagectl IDE --port 0 --device 0 --type dvddrive --medium none
VBoxManage storageattach UbuntuRDHome --storagectl IDE --port 1 --device 0 --type dvddrive --medium none

設定網路為橋接(nictype和bridgeadapter要根據主機的實際情況選擇)

VBoxManage modifyvm UbuntuRDHome --nic1 bridged --nictype1 82545EM --cableconnected1 on --bridgeadapter1 enp5s0f0 

設定遠端桌面(可以使用VNC通過5540埠訪問虛擬機器桌面)

VBoxManage modifyvm UbuntuRDHome --vrdeport 5540 --vrdeaddress ""

開啟遠端桌面

VBoxManage modifyvm UbuntuRDHome --vrde on

關閉遠端桌面

VBoxManage modifyvm UbuntuRDHome --vrde off

檢視虛擬機器資訊

VBoxManage -v
VBoxManage list vms
VBoxManage list runningvms
VBoxManage showvminfo UbuntuRDHome
VBoxManage list hdds
VBoxManage list dvds

啟動與管理虛擬機器

啟動虛擬機器

VBoxManage startvm UbuntuRDHome --type headless

保持狀態關閉虛擬機器[推薦]

VBoxManage controlvm UbuntuRDHome savestate
放棄已儲存的狀態
VBoxManage discardstate UbuntuRDHome

斷電關閉虛擬機器

VBoxManage controlvm UbuntuRDHome poweroff

正常關機[不能徹底關閉,一直處於stopping狀態]

VBoxManage controlvm UbuntuRDHome acpipowerbutton

管理虛擬機器更多命令

VBoxManage controlvm UbuntuRDHome XXX

高階配置

參照著VirtualBox GUI,凡是想要的功能都可以通過命令列執行。

設定CPU數量(必須開啟IOAPIC)

VBoxManage modifyvm UbuntuRDHome  --ioapic on
VBoxManage modifyvm UbuntuRDHome --cpus 8

使能largepages選項

VBoxManage modifyvm UbuntuRDHome  --largepages on

設定CPU執行峰值

VBoxManage modifyvm UbuntuRDHome --cpuexecutioncap 80

虛擬硬碟的高階操作

VirtualBox的媒體是統一管理的,可以使用list檢視:

VBoxManage list hdds

克隆媒體(克隆已有的虛擬硬碟檔案,之後可以新增到虛擬機器)

VBoxManage clonemedium hddfilename

移動虛擬硬碟位置(不是簡單的cp或mv)

VBoxManage modifymedium hddfilename --move "new dir"

快照的建立和恢復(十分重要)

這裡以建立快照 snap20171204-installed 為例,進行演示。

快照列表:

VBoxManage snapshot UbuntuRDHome list
VBoxManage snapshot UbuntuRDHome showvminfo snap20171204-installed

建立快照:

VBoxManage snapshot UbuntuRDHome take snap20171204-installed
刪除快照:
VBoxManage snapshot UbuntuRDHome delete snap20171204-installed

恢復快照:

VBoxManage snapshot UbuntuRDHome restore snap20171204-installed

恢復當前快照:

VBoxManage snapshot UbuntuRDHome restorecurrent

安裝 Guest Additions(可選)

掛載CD/DVD虛擬光碟機

sudo mount -t auto /dev/cdrom /mnt
(這裡的cdrom是cd的,有時是dvd,具體有什麼光碟機到 /dev目錄下檢視)

安裝

cd /mnt
sudo ./VBoxLinuxAdditions.run 

重啟

sudo reboot

閱讀原文 | 作者官網 | 公眾號 | Feed | 訂閱 | 發私信