CentOS VirtualBox VBoxManage命令使用教程
作者:技术拾光时间:2026-06-03 15:27:12浏览:595
在CentOS上安装VirtualBox后,VBoxManage可管理虚拟机的创建、启动、暂停、关闭等生命周期,配置网络与硬件资源,创建快照,并设置开机自启。使用时需注意执行权限、使用绝对路径,以及内核更新后重新编译内核模块。
在日常运维或开发测试中,VirtualBox的命令行工具VBoxManage发挥着关键作用。对于习惯在CentOS上工作的工程师而言,掌握这套命令能显著提升虚拟机管理效率。下面直接进入正题,系统梳理从安装到实战的核心用法。

1. 安装VirtualBox与VBoxManage
要使用该工具,首先需确保VirtualBox正确安装。VBoxManage作为内置命令行工具,不会单独分发。具体步骤如下:
- 配置Yum源:在
/etc/yum.repos.d/virtualbox.repo中写入以下内容,指向Oracle官方仓库:[virtualbox] name=Oracle Linux / RHEL / CentOS-$releasever / $basearch - VirtualBox baseurl=http://download.virtualbox.org/virtualbox/rpm/el/$releasever/$basearch enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://www.virtualbox.org/download/oracle_vbox_2016.asc - 安装主体包:更新缓存后直接安装:
sudo yum update && sudo yum install VirtualBox - 处理依赖与内核模块:这一步容易忽视但极为关键,需要安装编译工具并启动vboxdrv服务:
sudo yum install gcc make perl kernel-devel sudo systemctl start vboxdrv sudo systemctl enable vboxdrv
2. 常用命令分类详解
虚拟机生命周期管理
这部分是日常操作中最频繁的内容,从查看、创建、启动、关机到删除,逐一说明。
- 查看虚拟机清单:
- 列出所有已注册的虚拟机(含UUID):
VBoxManage list vms - 查看当前运行的虚拟机:
VBoxManage list runningvms
- 列出所有已注册的虚拟机(含UUID):
- 创建新虚拟机:需指定名称、操作系统类型(如
RedHat_64),并注册到VirtualBox。同时可指定存放路径:VBoxManage createvm --name "MyCentOS" --ostype "RedHat_64" --register --basefolder /data/VirtualBox/VMs - 启动虚拟机:三种模式可选——
- 带GUI窗口:
VBoxManage startvm "MyCentOS" - 无界面后台运行(服务器场景首选):
VBoxManage startvm "MyCentOS" --type headless - 远程桌面模式(需启用VRDE):
VBoxManage startvm "MyCentOS" --type vrdp
- 带GUI窗口:
- 控制虚拟机状态:关机、强制终止、休眠、暂停/恢复各有对应:
- 模拟按下电源按钮(正常关机):
VBoxManage controlvm "MyCentOS" acpipowerbutton - 直接断电(强制关机):
VBoxManage controlvm "MyCentOS" poweroff - 保存当前状态(休眠):
VBoxManage controlvm "MyCentOS" savestate - 暂停/恢复运行:
VBoxManage controlvm "MyCentOS" pause/resume
- 模拟按下电源按钮(正常关机):
- 删除虚拟机:先用
unregistervm从列表移除,加上--delete参数会同时清理磁盘文件:VBoxManage unregistervm "MyCentOS" --delete
虚拟机配置管理
创建完虚拟机后,调整硬件、网络、存储等配置是常见需求。以下是几个高频操作:
- 调整硬件资源:内存、CPU、显存,单位分别为MB和核心数:
VBoxManage modifyvm "MyCentOS" --memory 2048 --cpus 2 --vram 128 - 设置网络模式:三种常用模式——
- NAT(默认,共享主机IP):
VBoxManage modifyvm "MyCentOS" --nic1 nat - 桥接(直接连接物理网络):
VBoxManage modifyvm "MyCentOS" --nic1 bridged --bridgeadapter1 eth0 - 仅主机(与主机通信,不上外网):
VBoxManage modifyvm "MyCentOS" --nic1 hostonly
- NAT(默认,共享主机IP):
- 存储配置:创建虚拟硬盘、添加控制器、挂载磁盘和ISO镜像,这是一套连贯的操作:
# 创建虚拟硬盘,VDI格式,动态分配 VBoxManage createhd --filename "/data/VirtualBox/VMs/MyCentOS/disk.vdi" --size 20000 --format VDI # 添加SATA控制器 VBoxManage storagectl "MyCentOS" --name "SATA Controller" --add sata --controller IntelAhci --bootable on # 挂载虚拟硬盘到控制器 VBoxManage storageattach "MyCentOS" --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium "/data/VirtualBox/VMs/MyCentOS/disk.vdi" # 添加IDE控制器并挂载ISO系统镜像 VBoxManage storagectl "MyCentOS" --name "IDE Controller" --add ide --controller PIIX4 --bootable on VBoxManage storageattach "MyCentOS" --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium "/path/to/CentOS-7.iso" - 启动顺序:安装系统时,通常设置光驱优先,硬盘其次:
VBoxManage modifyvm "MyCentOS" --boot1 dvd --boot2 disk --boot3 none --boot4 none
快照管理
快照是虚拟机管理中非常实用的功能。例如系统刚装好时拍一张快照,后续无论怎样操作都能快速回滚。
- 创建快照:为快照设置清晰的名称和描述:
VBoxManage snapshot "MyCentOS" take "FreshInstall" --description "Fresh CentOS 7 installation" - 查看所有快照:
VBoxManage snapshot "MyCentOS" list - 恢复到指定快照:这会覆盖当前状态,回到快照时的状态:
VBoxManage snapshot "MyCentOS" restore "FreshInstall" - 删除不再需要的快照:
VBoxManage snapshot "MyCentOS" delete "FreshInstall"
其他实用命令
- 查看虚拟机详细信息:包括配置、硬件、状态等全部信息:
VBoxManage showvminfo "MyCentOS" - 启用远程桌面(VRDE):通过RDP协议远程访问虚拟机,需指定端口:
VBoxManage modifyvm "MyCentOS" --vrde on --vrdemulticon on --vrdeport 10001 - 设置开机自启动:对于服务器环境,让虚拟机随宿主机启动是常见需求。需编辑
/etc/default/virtualbox文件,指定数据库路径和配置文件路径:
然后创建自启动配置文件,并设置具体虚拟机策略:VBOXAUTOSTART_DB=/etc/vbox VBOXAUTOSTART_CONFIG=/etc/vbox/autostartvm.cfg
最后设置VirtualBox属性并重启自启动服务:echo "default_policy = deny" > /etc/vbox/autostartvm.cfg echo "MyCentOS = {allow = true, startup_delay = 10}" >> /etc/vbox/autostartvm.cfgVBoxManage setproperty autostartdbpath /etc/vbox systemctl restart vboxautostart-service
3. 注意事项
实际使用中,有几个容易踩坑的地方值得留意:
- 权限问题:很多命令(如创建虚拟机、修改系统配置)需要root权限,建议始终加上
sudo。 - 路径准确性:虚拟硬盘、ISO镜像的路径必须使用绝对路径,相对路径容易引发文件找不到的错误。
- 桥接模式的硬件要求:使用桥接网络时,需确保主机物理网卡支持桥接功能,且所在网络环境允许虚拟机获取IP。
- 内核模块更新:每次升级CentOS内核后,都需要重新编译VirtualBox内核模块。运行
sudo /sbin/vboxconfig即可解决,否则VirtualBox可能无法正常启动。
通过以上命令,在CentOS上利用VBoxManage进行虚拟机的命令行管理就不是难事了。无论是自动化运维还是服务器部署,这套工具链都能提供足够的灵活性和控制力。
