更新时间:2023-03-19 10:29:46浏览次数:925+次
本文介绍如何使用VboxManage从命令行管理VirtualBox虚拟机的方法。
简介
Oracle VirtualBox是一种虚拟化工具,允许一个人同时运行多个虚拟机。VirtualBox提供了一个美观易用的GUI,方便管理虚拟机(VM)。除此之外,还有VboxManage,这是默认安装的VirtualBox的命令行工具。
尽管GUI工具易于使用,但VboxManage为您提供了更多功能,例如它提供了对虚拟化引擎的直接访问、它允许您通过GUI访问不可用的额外功能。
当前使用VboxManage CLI非常简单。请记住,所有命令都以vboxmanage开头,然后是一个子命令,如controlvm、list等。
注:在进行以下操作时,您需要在系统上安装VirtualBox。
使用VboxManage从命令行管理VirtualBox虚拟机的详细方法
1、使用VboxManage列出虚拟机
在开始使用VboxManage管理虚拟机之前,列出并了解系统上的虚拟机及其名称是很重要的。您会注意到,每个虚拟机都有自己的通用唯一标识符(UUID),用于标识虚拟机:
vboxmanage list vms
样本输出:
该命令可以被拉长,以便使用-l或--long flag为每个VM提供详细信息:
vboxmanage list vms --long
有时,您可能会对仅列出正在运行的虚拟机感兴趣。这可以使用下面的命令来完成:
vboxmanage list runningvms
2、使用VboxManage获取虚拟机信息
您还可以使用下面的命令获取与特定VM相关的更多信息,如硬件、网络和其他配置信息,比如运行以下命令:
vboxmanage showvminfo ubuntu20
样本输出:
3、使用VboxManage启动和停止虚拟机
在系统上列出可用的虚拟机后,您可以启动一个虚拟机,比如Ubuntu20,如下所示:
vboxmanage startvm ubuntu20
样本输出:
此虚拟机现在可以在运行的虚拟机下使用,如下所示:
$ vboxmanage list runningvms
"ubuntu20" {3b21f1b4-b93f-4e82-909a-47ecea31f097}
现在停止虚拟机,我们使用controlvm子命令、虚拟机名称和poweroff选项:
vboxmanage controlvm ubuntu20 poweroff
然后从输出中,您可以看到关机的进度,比如会返回0%...30%...60%...100%之类的信息。
或者,您可以暂停虚拟机,然后使用以下命令恢复:
vboxmanage controlvm ubuntu20 pause
暂停的虚拟机仍将列在正在运行的虚拟机下,但当前未消耗系统资源。将显示其他信息,例如VM暂停的时间:
vboxmanage list runningvms -l
暂停的虚拟机可以按如下方式恢复:
vboxmanage controlvm ubuntu20 resume
4、使用VboxManage创建虚拟机
管理虚拟机时的另一项重要任务是了解如何创建虚拟机并对其进行配置。例如,要创建Fedora Linux虚拟机,请运行以下命令:
vboxmanage createvm --name FedoraLinuxVM --ostype Fedora_64 --register
样本输出:
Virtual machine 'FedoraLinuxVM' is created and registered.
UUID: 7d2a0d73-8ff7-4379-b48b-fdfda9fbcbd5
Settings file: '/home/thor/VirtualBox VMs/FedoraLinuxVM/FedoraLinuxVM.vbox'
如果您不确定可用的操作系统类型,请按以下方式进行检查:
vboxmanage list ostypes
样本输出:
现在您将创建Fedora虚拟机,您可以修改虚拟机,例如更改名称,使用modifyvm子命令分配内存。
例如,我们可以将名称从FedoraLinuxVM更改为Fedora35,如下所示:
vboxmanage modifyvm FedoraLinuxVM --name Fedora35
如果是更改为Fedora38,则运行以下命令:
vboxmanage modifyvm FedoraLinuxVM --name Fedora38
将内存、CPU和图形控制器分配给VM,如下所示:
vboxmanage modifyvm Fedora35 --memory 4096 --cpus 2 --vram 20 --graphicscontroller vmsvga --rtcuseutc on
5、使用VboxManage设置VM网络
VboxManage可用于更新虚拟机网络设置,例如将网络类型设置为桥接。请参阅以下示例:
VBoxManage modifyvm Fedora35 \
--nic1 bridged \
--bridgeadapter1 eth0 \
--vrde on \
--vrdeport 5001
6、使用VboxManage管理虚拟机的存储
为虚拟机创建存储有点不同,这里我们使用了几个子命令,如下所示。
为虚拟机创建存储:
vboxmanage storagectl Fedora35 --name SATA --add sata --controller IntelAhci --portcount 30 --bootable on
现在创建硬盘,设置磁盘大小并将其连接到虚拟机。
首先导出存储磁盘的虚拟机名称和路径,如下所示:
VM_NAME='Fedora35'
VM_DISK=$(realpath ~/VirtualBox\ VMs/${VM_NAME})/${VM_NAME}.vdi
现在继续并创建存储:
vboxmanage createmedium --filename "${VM_DISK}" --size 10240 --format VDI
vboxmanage storageattach "${VM_NAME}" --storagectl SATA --type hdd --port 0 --device 0 --medium "${VM_DISK}"
使用以下步骤装载/附加ISO文件以安装在您的虚拟机上。
导出ISO文件的PATH:
ISO_DISK=$(realpath ~/Downloads/fedora-coreos-35.20210711.3.0-live.x86_64.iso)
现在安装ISO,如下所示:
vboxmanage storagectl Fedora35 --name IDE --add ide --controller PIIX4 --hostiocache on --portcount 2 --bootable on
vboxmanage storageattach Fedora35 --storagectl IDE --type dvddrive --port 1 --device 0 --medium "${ISO_DISK}"
7、使用VboxManage获取和恢复快照
在VirtualBox上,每当系统出现异常情况时,用户都可以获取并恢复到快照,这一过程相当的简单。例如,我将获取Ubuntu20虚拟机的快照,并将快照命名为十二月十四日快照:
vboxmanage snapshot ubuntu20 take "December 14th snapshot"
样本输出:
您可以稍后恢复到上述快照。在恢复快照之前,请确保VM已停止:
vboxmanage snapshot ubuntu20 restore "December 14th snapshot"
8、使用VboxManage删除虚拟机
如果不再需要虚拟机,您可以删除它,如下所示:
VBoxManage unregistervm --delete Fedora35
9、获取有关VboxManage的帮助
如果您在使用VboxManage时遇到问题,您可以随时获得帮助。这将为您提供使用和导航的选项:
$ vboxmanage
它将返回相关的帮助信息,如下截图:
结论
以上就是关于如何使用VboxManage从命令行管理VirtualBox虚拟机的内容,请记住,遇到不懂的地方,可运行vboxmanage命令查看相关的帮助信息。