VirtualBox 常见操作方法及说明

整机克隆

从4.2版开始,加入了虚拟机整机克隆,并解决因网卡、磁盘的uuid相同的问题(当然操作系统的’udev’设置管理也要支持)
VBoxManage clonevm |
[–snapshot |]
[–mode machine|machineandchildren|all]
[–options link|keepallmacs|keepnatmacs|keepdisknames]
[–name ]
[–basefolder ]
[–uuid ]
[–register]

$ VBoxManage clonevm ocentos –mode all –name pcentos –basefolder /data/vmos/ –register
0%…10%…20%…30%…40%…50%…60%…70%…80%…90%…100%

VBoxManage clonevm pde –mode all –name origde –basefolder /home/hto/data/vmos/ –register

解决了之前要克隆一台虚拟机要经过若干个步骤,有些麻烦,现在一条指令即可实现。

移除虚拟机

反注册:VBoxManage unregistervm router
现在列出时(VBoxManage list vms)可以看到’router’这台vm没有出现。

如果想把这台虚拟机再重新注册回来,可以使用(VBoxManage registervm /data/vmos/router/router.vbox)来将这台vm加入到可用虚拟机列表中,前提是没有删除与之相关的文件(包括从VBoxManage操作或直接文件删除)。

注意:虚拟机在删除时不能直接去相应目录从文件层面上进行删除,那样导致vbox报错。应在反注册时加上’–delete’参数从系统中彻底清除该虚拟机,如果再想要找回该虚拟机时就不可能了,所以在操作前一定要想好(在windows下并没有真正删除文件)。

创建host-only网络接口

VBoxManage hostonlyif create
会创建一个命为’vboxnet0’这样一个网口,前提为目前没有创建过,如果已经有一块这样的网口的话,将会以’vboxnet1’这样的方式来命名。它自动使用’192.168.56.1’这样的dhcp方式分配的ip地址,你可以为它更改。
VBoxManage hostonlyif ipconfig vboxnet0 –ip 192.168.18.3 –netmask 255.255.255.224

注意:创建了这样一个网口,但在宿主机上通过’ifconfig’不能看到,因为虚拟机没有使用到它,只有当它被使用时,才会在宿主机上看到。

在4.1下发现这样一个问题:宿主机仅有一个网口(eth0),采用vyatta做虚拟机的路由,它的主机名为router,在router上虚拟两张网卡,eth0与eth1:前者接入局域网(bridged),后者(bridged)通过前者连网,且两者在不同网段。在vm1上的网卡(bridged)设置好与router的eth1相关的地址后,刚开始能通过router连接到互联网的主机,但过一会儿,网络开始不通,有时根本就不能通。而4.0没有此现象,后不得不将它们的连接方式改为’hostonlyif’这种。

VBoxManage modifyvm scentos –cpus 2 –memory 1024 –nic1 hostonly –hostonlyadapter1 vboxnet0

为虚拟机另加磁盘

首先需要将运行的机器关闭,运行’VBoxManage list -l vms’看下该虚拟机磁盘控制器使用的情况:
Storage Controller Name (0): SATA Controller
Storage Controller Type (0): IntelAhci
Storage Controller Instance Number (0): 0
Storage Controller Max Port Count (0): 30
Storage Controller Port Count (0): 30
Storage Controller Bootable (0): on
SATA Controller (0, 0): /data/vmos/srouter/srouter.vdi (UUID: 66a94588-4909-479f-abd2-1d266ed017c9)
SATA Controller (1, 0): /home/hto/sf/os/vyatta-livecd_6.2.i386.iso (UUID: 0938dde8-5aa3-4c2a-a473-115f91d0c061)

已经有两个端口被用了,这里再为它加一个。
VBoxManage storageattach pcentos –storagectl “SATA Controller” –port 2 –device 0 –type hdd –medium /data/vmos/disk/pdisk0.vdi

—————
将’.img’镜像文件转为VDI格式的固态虚拟文件

D:\data\vmos\bsdrouter>vboxmanage convertfromraw –format VDI –variant Fixed BSDRP-1.4-full-i386-vga.img bsdrp-full.vdi

Converting from raw image file=”BSDRP-1.4-full-i386-vga.img” to file=”bsdrp-full.vdi”…
Creating fixed image with size 256000000 bytes (245MB)…

—————

克隆磁盘镜像(固定格式)

VBoxManage clonehd src_vdi_img des_vdi_img –format VDI –variant Fixed

ssh远程管理虚拟机

在宿主操作系统没有gui时,需要通过vrde协议来连接宿主上的某一端口来安装,或者通过ssh 的’X’转发来实现。

将虚拟机跨机器迁移

直接将’vdi’格式的镜像通过网络传到另外一台机器,vbox版本不要跨太多。下面是一个将windows平台的虚拟机磁盘文件移到高版本的linux虚拟机下。

VBoxManage storagectl “winxp” –name “IDE Controller” –add ide –controller PIIX4 –hostiocache on –bootable on
VBoxManage: error: Storage controller named ‘IDE Controller’ already exists
VBoxManage: error: Details: code VBOX_E_OBJECT_IN_USE (0x80bb000c), component SessionMachine, interface IMachine, callee nsISupports
Context: “AddStorageController(Bstr(pszCtl).raw(), StorageBus_IDE, ctl.asOutParam())” at line 879 of file VBoxManageStorageController.cpp

hto@debian:~$ VBoxManage storagectl “winxp” –name “IDE Controller” –remove
hto@debian:~$ VBoxManage storagectl “winxp” –name “IDE Controller” –add ide –controller PIIX4 –hostiocache on –bootable on
hto@debian:~$ VBoxManage storageattach “winxp” –storagectl “IDE Controller” –port 0 –device 0 –type hdd –medium /home/hto/data/vmos/winxp/winxp.vdi

VirtualBox 4.3 启动虚拟机时显示不能加载 R3模块并退出故障

不能为虚拟电脑打开一个新任务

Unable to load R3 module D:\programfiles\oracle\vbox/VBoxDD.DLL (VBoxDD): GetLastError=1790 (VERR_UNRESOLVED_ERROR).

返回 代码:E_FAIL (0x80004005)
组件:Console
界面:IConsole {8ab7c520-2442-4b66-8d74-4ff1e195d2b6}

VirtualBox 升级到 4.3后一直问题不断。发现从最近的某个版本开始,为了安全,要校验进程完整性,那些在运行时要注入Virtualbox进程的模块都要进行校验。于是便出现了软件不兼容等等故障。查一下日志,发现一行:
supR3HardenedErrorV: supR3HardenedMonitor_LdrLoadDll: rejecting ‘C:\Windows\system32\uxtheme.dll’: rcNt=0xc0000190

这是因为破解了系统主题文件uxtheme.dll的原因,只能还原系统主题文件uxtheme.dll,再次启动虚拟机就可以了。

解决方法

恢复系统主题文件即可。

完全的参考地址:http://www.aixq.com/post-328.html

日常使用vboxmanage的总结

显示所有虚拟机:vboxmanage list vms

显示所有正在运行的虚拟机:vboxmanage list runningvms

显示虚拟机详细信息:vboxmanage showvminfo winxp

修改虚拟机名称:vboxmanage modifyvm winxp –name winxp_clone

修改虚拟机所占用的cpu内核数:vboxmanage modifyvm winxp –cpus 2

修改虚拟机所占用的内存数量(默认为MB):vboxmanage modifyvm winxp –memory 2048

启动虚拟机:vboxmanage startvm winxp –type gui|sdl|headless
在gui环境下默认为gui,也可以使用sdl视频驱动;在没有gui的情况下使用headless在后台启动,当然前提是该vm已经配置好远程连接方式(远程桌面或ssh)。

正常关闭机器:vboxmanage controlvm winxp acpipowerbutton

强行关闭虚拟机:vboxmanage controlvm winxp poweroff

克隆并注册虚拟机:vboxmanage clonevm winxp –name winxp2 –register

修改端口映射规则(将宿主机的本机端口对应到vm上某端口):vboxmanage modifyvm winxp –natpf1 rule_ssh, tcp, , 8888, 10.0.2.16, 8888

将网络连接修改成桥接:vboxmanage modifyvm winxp –nic1 bridged –bridgeadapter1 eth0
需要注意的是,接口的编号与新式的linux系统网口编号相似,从1而不是0开始。

磁盘控制器

IDE控制器

创建:
VBoxManage storagectl testvm –name “IDE Controller” –add ide

卸载
VBoxManage storagectl testvm –name “IDE Controller” –remove

SATA Controller

VBoxManage storagectl testvm –name “SATA Controller” –add sata

控制芯片:–controller,主流的选择:IntelAHCI,较低端的用:ICH6,非常早的主板用:PIIX3、4。–sataportcount,用于指定sata的端口号(1-30)。

–hostiocache,是否使用宿主机的I/O缓存。

–bootable,该盘是否可引导。

磁盘存储设备管理

删除存储设备

VBoxManage closemedium disk /home/freeoa/winxp.vdi –delete

重新设置存储设备在vbox中的uuid,其中my-uuid为指定的新uuid
VBoxManage storageattach “testvm” –storagectl “IDE Controller” –port 1 –device 0 –type hdd –medium /home/freeoa/winxp.vdi –setuuid my-uuid

显示磁盘信息

$ vbm showhdinfo ~/data/vm/xp/winxp.vdi
UUID:1595311c-3020-4c7a-a311-5c316ffbc7b7
Accessible:yes
Logical size:6144 MBytes
Current size on disk: 6144 MBytes
Type:normal (base)
Storage format:VDI
Format variant:fixed default
In use by VMs:xp (UUID: ba2f1edb-3d4a-4e74-8680-0623f94fefce)
Location:/home/hto/data/vm/xp/winxp.vdi

为虚拟硬盘重新分配UUID,即克隆指定的VDI虚拟硬盘
vbm clonehd | |
VBoxManage clonehd my-uuid /home/hto/data/vm//testvm/testvm2.vdi

修改
VBoxManage convertfromraw
[–format VDI|VMDK|VHD]
[–variant Standard,Fixed,Split2G,Stream,ESX]
[–uuid ] 将raw硬盘转换成vdi虚拟硬盘

VBoxManage modifyhd |
[–type normal|writethrough|immutable|shareable|readonly|multiattach]
[–autoreset on|off]
[–compact] 压缩指定的虚拟硬盘
[–resize |–resizebyte ] 调整其空间大小,对分配了固定大小的磁盘好像无效

挂载到磁盘控制器

VBoxManage storageattach testvm –storagectl “IDE Controller” –port 0 –device 0 –type hdd –medium /home/hto/data/vm/testvm/testvm.vdi

卸载
VBoxManage storageattach testvm –storagectl “IDE Controller” –port 0 –device 0 –type hdd –medium none

空置占位
VBoxManage storageattach testvm –storagectl “IDE Controller” –port 0 –device 0 –type hdd –medium emptydrive

虚拟光盘

挂载虚拟光盘
VBoxManage storageattach testvm –storagectl “IDE Controller” –port 1 –device 0 –type dvddrive –medium /usr/share/virtualbox/VBoxGuestAdditions.iso

卸载虚拟光盘
VBoxManage storageattach testvm –storagectl “IDE Controller” –port 1 –device 0 –type dvddrive –medium none

移|删除vbox中的存储设备(磁盘)

$ vbm showvminfo winxp

Storage Controller Name (0): IDE Controller
Storage Controller Type (0): PIIX4
Storage Controller Instance Number (0): 0
Storage Controller Max Port Count (0): 2
Storage Controller Port Count (0): 2
Storage Controller Bootable (0): on
IDE Controller (0, 0): /home/freeoa/data/vmos/winxp/winxproxy.vdi (UUID: 54d85901-2cfd-426e-ae2d-20f5cd08fc7b)
IDE Controller (0, 1): /home/freeoa/swork/vmos/disk/winxp.dlext.vdi (UUID: a310850f-3ce1-4418-8d61-f960742dec96)

$ vbm storageattach winxp –storagectl “IDE Controller” –port 1 –device 0 –type hdd –medium none
VBoxManage: error: No storage device attached to device slot 0 on port 1 of controller ‘IDE Controller’
VBoxManage: error: Details: code VBOX_E_OBJECT_NOT_FOUND (0x80bb0001), component SessionMachine, interface IMachine, callee nsISupports
VBoxManage: error: Context: “DetachDevice(Bstr(pszCtl).raw(), port, device)” at line 381 of file VBoxManageStorageController.cpp

$ vbm storageattach winxp –storagectl “IDE Controller” –port 1 –device 0 –type hdd –medium emptydrive

IDE Controller (0, 0): /home/freeoa/data/vmos/winxp/winxproxy.vdi (UUID: 54d85901-2cfd-426e-ae2d-20f5cd08fc7b)
IDE Controller (0, 1): /home/freeoa/swork/vmos/disk/winxp.dlext.vdi (UUID: a310850f-3ce1-4418-8d61-f960742dec96)
IDE Controller (1, 0): Empty

成这样了,还来还是在port 0上,

$ vbm storageattach winxp –storagectl “IDE Controller” –port 0 –device 1 –type hdd –medium none
成功了。

Storage Controller Name (0): IDE Controller
Storage Controller Type (0): PIIX4
Storage Controller Instance Number (0): 0
Storage Controller Max Port Count (0): 2
Storage Controller Port Count (0): 2
Storage Controller Bootable (0): on
IDE Controller (0, 0): /home/freeoa/data/vmos/winxp/winxproxy.vdi (UUID: 54d85901-2cfd-426e-ae2d-20f5cd08fc7b)

这里只是将这个虚拟磁盘从虚拟机中移除了,但磁盘文件依然存在的vbox中(其uuid在本机中是注册过了的),只是没有被用罢了;如果有连磁盘文件删除,可以这样操作:
$ vbm closemedium disk /home/freeoa/swork/vmos/disk/winxp.dlext.vdi –delete
0%…10%…20%…30%…40%…50%…60%…70%…80%…90%…100%

对virtualbox中storagectl的 port 与 device 理解

其中的device是存储树的按添加存储器的顺序来标号的(与c语言中的标号一样,从0开始),像如下这个:
IDE (1, 0): Empty
SATA (0, 0): D:\data\vmos\clinx\clinx.vdi (UUID: b8d5efea-4edc-4daa-8a01-3606f9d7a804)
SATA (1, 0): E:\software\os\debian\debian-7.11-amd64-netinst.iso (UUID: 89fd152f-1127-4ae6-b493-61c308ed4537)

IDE在SATA设备之上,所以它先于被发现,为什么它俩设备编号是从0开始的呢?

因为它们不是同一设备(一个IDE一个SATA)。

port则是在该设备中的接入的磁盘顺序,同样也是从0开始计数。如上的结果,clinx.vdi就先于debian-7.11-amd64-netinst.iso被发现,因此编号在这个设备中是最小的。

存储设备的编写规则为:
Storage Controller(port,device)

port是跟着device走的。

常用指令参考

#列出全部虚拟机
VBoxManage list vms
#列出全部运行中的虚拟机
VBoxManage list runningvms
#列出虚拟机信息
VBoxManage showvminfo uuid|vmname
#开启虚拟机
VBoxManage startvm uuid|vmname
#开启虚拟机,无GUI模式
VBoxManage startvm uuid|vmname –type headless
#暂停虚拟机
VBoxManage controlvm uuid|vmname pause
#继续运行虚拟机
VBoxManage controlvm uuid|vmname resume
#按下机箱重启按钮
VBoxManage controlvm uuid|vmname reset
#直接断电
VBoxManage controlvm uuid|vmname poweroff
#按下机箱电影按钮
VBoxManage controlvm uuid|vmname acpipowerbutton
#按下机箱睡眠按钮
VBoxManage controlvm uuid|vmname acpisleepbutton

VBoxManage [-v|-version] 显示virtualbox的版本号
VBoxManage -nologo 隐藏logo
VBoxManage -convertSettings 允许自动转换设置文件
VBoxManage -convertSettingsBackup 允许自动转换设置文件,并在转换前作备份
VBoxManage -convertSettingsIgnore 允许自动转换设置文件,但是不保存结果

VBoxManage list vms|runningvms 显示列表虚拟机|正在运行的虚拟机
|ostypes|hostdvds virtualbox支持的系统类型|宿主机的光盘驱动器
|hostfloppies 宿主机的软盘驱动器
|hostifs|hostinfo 宿主机的网络接口|宿主机的信息
|hdds|dvds 已注册的虚拟硬盘|已注册的虚拟光盘
|floppies|usbhost 已注册的虚拟软盘|宿主机的USB设备
|usbfilters USB筛选器
|systemproperties 虚拟机的基本信息

VBoxManage showvminfo | 显示指定虚拟机的信息
[–details] 显示详细信息
[–statistics] 显示统计信息
[–machinereadable] 以清晰的格式显示虚拟机信息

VBoxManage registervm 将指定文件所在的虚拟机添加到列表

VBoxManage unregistervm | 从虚拟机列表清除指定的虚拟机
[-delete] 从虚拟机列表删除指定的虚拟机

VBoxManage createvm -name 创建指定名称的虚拟机
[-register] 将创建的虚拟机添加到列表
[-basefolder 指定虚拟机的基础目录
[-settingsfile ] 指定虚拟机配置文件的基础目录
[-uuid ] 创建指定uuid的虚拟机

VBoxManage modifyvm <uuid|name>编辑指定的虚拟机的配置
[-name ] 修改虚拟机的名称
[-ostype ]修改虚拟机的操作系统类型
[-memory ] 修改虚拟机的内存大小
[-vram ] 修改虚拟机的显存大小
[-acpi on|off] 启动或禁止acpi电源管理接口
[-ioapic on|off] 启动或禁止I/O APIC电源管理接口
[-pae on|off] 启动或禁止CPU的PAE支持,PAE是
Physical Address Extension : 物理地址扩展
[-hwvirtex on|off|default]启动或禁止CPU的硬件虚拟化支持
[-nestedpaging on|off] 开启或关闭CPU的嵌套页面列表支持
[-monitorcount ] 设置显示器数目,VRDP多用户模式时 [-bioslogofadein on|off] 开启或关闭bioslogo渐显效果
[-bioslogofadeout on|off] 开启或关闭bioslogo渐隐效果
[-bioslogodisplaytime ]设置bioslogo显示时间(以毫秒为单位)
[-bioslogoimagepath ]设置bioslogo图像路径,用于自定义bioslogo
[-biosbootmenu disabled| 设置是否显示bios启动菜单 关闭
menuonly| 只显示菜单
messageandmenu] 信息和菜单
[-biossystemtimeoffset ] 设置bios系统时间补偿(以毫秒为单位)
[-biospxedebug on|off] 打开或关闭biospxe调试
[-boot<1-4> none|floppy|dvd|disk|net] 设置启动顺序</uuid|name>

详细的常用指令参考

启动虚拟机
VBoxManage startvm 虚拟机名

无前端图形界面方式启动虚拟机
VBoxManage startvm 虚拟机名 –type headless

使用 VRDP 方式通过命令行启动虚拟机:(3389)
VBoxManage startvm 虚拟机名 –type vrdp

关闭虚拟机(强制)
VBoxManage controlvm 虚拟机名 poweroff

VBoxManage [-v|-version] 显示virtualbox的版本号
VBoxManage -nologo 隐藏logo
VBoxManage -convertSettings 允许自动转换设置文件
VBoxManage -convertSettingsBackup 允许自动转换设置文件,并在转换前作备份
VBoxManage -convertSettingsIgnore 允许自动转换设置文件,但是不保存结果

VBoxManage list vms|runningvms 显示列表虚拟机|正在运行的虚拟机
|ostypes|hostdvds virtualbox支持的系统类型|宿主机的光盘驱动器
|hostfloppies 宿主机的软盘驱动器
|hostifs|hostinfo 宿主机的网络接口|宿主机的信息
|hdds|dvds已注册的虚拟硬盘|已注册的虚拟光盘
|floppies|usbhost 已注册的虚拟软盘|宿主机的USB设备
|usbfilters USB筛选器
|systemproperties 虚拟机的基本信息

VBoxManage showvminfo | 显示指定虚拟机的信息
[-details] 显示详细信息
[-statistics] 显示统计信息
[-machinereadable] 以清晰的格式显示虚拟机信息

VBoxManage registervm 将指定文件所在的虚拟机添加到列表

VBoxManage unregistervm | 从虚拟机列表清除指定的虚拟机
[-delete] 从虚拟机列表删除指定的虚拟机

VBoxManage createvm –name 创建指定名称的虚拟机
[–register] 将创建的虚拟机添加到列表
[–basefolder 指定虚拟机的基础目录
[–settingsfile ] 指定虚拟机配置文件的基础目录
[–uuid ] 创建指定uuid的虚拟机

VBoxManage modifyvm <uuid|name>编辑指定的虚拟机的配置
[-name ] 修改虚拟机的名称
[-ostype ]修改虚拟机的操作系统类型
[-memory ] 修改虚拟机的内存大小
[-vram ] 修改虚拟机的显存大小
[-acpi on|off] 启动或禁止acpi电源管理接口
[-ioapic on|off] 启动或禁止I/O APIC电源管理接口
[-pae on|off] 启动或禁止CPU的PAE支持,PAE是Physical Address Extension : 物理地址扩展
[-hwvirtex on|off|default]启动或禁止CPU的硬件虚拟化支持
[-nestedpaging on|off] 开启或关闭CPU的嵌套页面列表支持
[-monitorcount ] 设置显示器数目,VRDP多用户模式时 [-bioslogofadein on|off] 开启或关闭bioslogo渐显效果
[-bioslogofadeout on|off] 开启或关闭bioslogo渐隐效果
[-bioslogodisplaytime ]设置bioslogo显示时间(以毫秒为单位)
[-bioslogoimagepath ]设置bioslogo图像路径,用于自定义bioslogo
[-biosbootmenu disabled| 设置是否显示bios启动菜单 关闭
menuonly| 只菜单
messageandmenu] 信息和菜单
[-biossystemtimeoffset ] 设置bios系统时间补偿(以毫秒为单位)
[-biospxedebug on|off] 打开或关闭biospxe调试
[-boot<1-4> none|floppy|dvd|disk|net>] 设置启动顺序
[-hd<a|b|d> none||] 为虚拟机添加三个IDE设备之一(第2个主盘被vm保留作为光驱,不能占用)在三个IDE中,你可以指定(硬盘)的vdi文件名或者它的UUID
[-idecontroller PIIX3|PIIX4] 设置IDE控制器的类型
[-sata on|off] 开启或关闭SATA硬盘控制器
[-sataportcount <1-30>] 设置虚拟机最多支持的SATA控制器数目
[-sataport<1-30> none| 没有硬盘连接到SATA控制器
| 指定uuid的硬盘连接到SATA控制器
] 指定文件名的硬盘连接到SATA控制器
[-sataideemulation<1-4> <1-30>] 指定一个SATA设备工作在IDE兼容模式,IDE设备编号是1-4,SATA设备编号是1-30
[-dvd none| 不连接DVD光驱
| 指定UUID的DVD光驱连接
| 将指定的光盘映像文件挂接到DVD光驱
host:] 将宿主机的DVD光驱挂接到虚拟机的DVD光驱
[-dvdpassthrough on|off]打开|关闭虚拟机里光盘的刻录功能
[-floppy disabled| 不连接软驱
empty| 连接软驱但不插入软盘
| 指定UUID的软驱连接
| 将指定的软盘映像文件挂接到软驱驱
host:] 将宿主机的软驱驱挂接到虚拟机的软驱
[-nic<1-N> none| 虚拟机不添加网卡
null| 虚拟机有网卡但不连接
nat| 网络连接使用NAT模式
hostif| 网络连接使用桥接模式
intnet] 网络连接使用内部网络模式
[-nictype<1-N> Am79C970A| 虚拟机连接AMD PCNet PCI II网卡
Am79C973| 虚拟机连接AMD PCNet FAST III网卡(默认)
82540EM| 虚拟机连接Intel PRO/1000 MT Desktop网卡
82543GC] 虚拟机连接Intel PRO/1000 T Server网卡
[-cableconnected<1-N> on|off]插入或拔出网线
[-nictrace<1-N> on|off] 开启或关闭网络追踪
[-nictracefile<1-N> ] 将网络流量追踪数据保存到文件
[-nicspeed<1-N> ] 设置网络连接的速度
[-hostifdev<1-N> none| 不连接到主机网络接口
] 桥接模式下连接到指定的主机接口
[-intnet<1-N> ] 内网模式下为虚拟机指定内部网络名称
[-natnet<1-N> | 配置NAT网络接口的地址
default] 默认NAT网络接口的地址是10.0.x.0/24
[-macaddress<1-N> auto| 自动生成虚拟网卡的MAC地址
] 指定虚拟网卡的MAC地址
[-uart<1-N> off| 不启用虚拟串口
]启用虚拟串口,并设置虚拟串口的I/O参数和IRQ参数
[-uartmode<1-N> disconnected| 启用虚拟串口,但不连接到宿主机的串口
server | 在宿主机创建PIPE通道,并将虚拟机串口连接到这个通道
client | 不创建PIPE通道,而是将虚拟机串口连接到已存在的通道
] 将虚拟机串口连接到宿主机的串口
[-gueststatisticsinterval ] 配置虚拟机静态时间间隔
[-audio none| 虚拟机不连接声卡
null| 将虚拟机的声卡连接到空的声音设备
dsound] 将虚拟机的声卡连接到宿主机的声卡
[-audiocontroller ac97| 将虚拟机声卡虚拟为ICH AC97声卡
sb16] 将虚拟机声卡虚拟为soundblaster 16声卡
[-clipboard disabled| 不共享剪贴板
hosttoguest| 将宿主机的剪贴板共享给虚拟机
guesttohost| 将虚拟机的剪贴板共享给宿主机
bidirectional] 宿主机和虚拟机共使用一个剪贴板
[-vrdp on|off] 开启|关闭virtualbox内置的VRDP服务器
[-vrdpport default| 使用默认的vrdp端口3389 ] 指定vrdp端口
[-vrdpaddress ] 指定VRDP主机地址
[-vrdpauthtype null| 不用授权,任何客户机都可以连接到VRDP服务器
external| 只有宿主机的用户才可以连接到VRDP服务器
guest] 只有虚拟机的用户才可以连接到VRDP服务器
[-vrdpmulticon on|off] 打开|关闭VRDP多用户连接模式
[-vrdpreusecon on|off] 打开|关闭VRDP断线重连
[-usb on|off] 打开|关闭虚拟USB控制器
[-usbehci on|off] 打开|关闭虚拟USB2.0控制器
[-snapshotfolder default| 将系统快照保存到默认文件夹 ] 将系统快照保存到指定文件夹
</a|b|d></uuid|name>

VBoxManage startvm | 开启指定UUID|名称的虚拟机
[-type gui|vrdp] 设置虚拟机标准显示设备GUI界面|VRDP

VBoxManage controlvm | 改变正在运行的虚拟机的状态
pause| 暂停,这时虚拟机窗口显示灰色
resume| 恢复暂停的虚拟机
reset| 复位
poweroff| 强行关闭
acpipowerbutton| 关机
acpisleepbutton| 使虚拟机处于睡眠状态
savestate| 保存状态然后关闭,相当于休眠
keyboardputscancode [ …] 键盘扫描码设置
setlinkstate<1-4> on|off 连接|断开网络连接
usbattach |

连接到指定UUDI|地址的USB设备
usbdetach |

断开指定UUDI|地址的USB设备
dvdattach none| 不连接虚拟DVD光驱
| 连接到指定UUID的DVD光驱
| 连接到指定名称的DVD映像文件
host: 连接到宿主机的DVD光驱
floppyattach none| 不连接虚拟软驱
| 连接到指定UUID的虚拟软驱
| 连接到指定名称的软盘映像文件
host: 连接到宿主机的软驱setvideomodehint 设置虚拟机的屏幕分辨率 水平像素
垂直像素
颜色深度
[display] 刷新频率
setcredentials 指定VRDP自动连接参数 用户名 密码

[-allowlocallogon <yes|no>] 允许|禁止本地登陆</yes|no>VBoxManage discardstate | 丢弃指定UUID|名称的虚拟机的保存状态

VBoxManage adoptstate | 将虚拟机从指定的保存状态中恢复

VBoxManage snapshot | 为指定的虚拟机拍快照
take 为快照取名
[-desc ]| 给快照添加描述
discard | | 丢弃指定的快照
discardcurrent -state| 恢复到最近的快照
-all | 恢复到倒数第二个快照
edit || 编辑指定的快照
-current 编辑当前快照
[-newname ] 修改快照名称
[-newdesc ] 修改快照描述

VBoxManage showvminfo | 显示快照的虚拟机信息

VBoxManage registerimage disk|dvd|floppy 注册硬盘、光盘、软盘映像文件
[-type normal| 注册为普通类型(可创建快照,可读写)
immutable| 注册为只读类型(相当于加了硬盘卡)
writethrough] 注册为可写类型(这种类型不能创建快照)
(disk only) (注册类型选项只适用于硬盘)

VBoxManage unregisterimage disk| 从虚拟介质管理器删除指定的硬盘
dvd| 从虚拟介质管理器删除指定的DVD光盘
floppy 从虚拟介质管理器删除指定的软盘
| 删除时指定UUID
删除时指定映像文件

VBoxManage showvdiinfo | 显示指定UUID|名称虚拟硬盘的信息

VBoxManage createvdi-filename 创建指定名称的虚拟硬盘
-size 指定虚拟硬盘的大小(以兆为单位)
[-static] 创建固定大小的虚拟硬盘
[-comment ] 添加一段解释性文字
[-register] 注册新创建的虚拟硬盘
[-type normal| 注册类型 普通(可以创建快照)
writethrough] 注册类型 可写(不能创建快照)
(default: normal) 默认是普通类型

VBoxManage modifyvdi| compact 压缩指定的虚拟硬盘

VBoxManage clonevdi | 克隆指定的VDI虚拟硬盘

VBoxManage convertdd[-static] 将raw硬盘转换成vdi虚拟硬盘

VBoxManage convertdd[-static] stdin 将标准输入参数指定的设备转换成vdi虚拟硬盘,比如:dd if=/dev/sda1 | VBoxManage convertdd stdin /media/disk/c.vdi

 

赞 (0)