CentOS VirtualBox VBoxManage命令使用教程

作者:技术拾光时间:2026-06-03 15:27:12浏览:595

在CentOS上安装VirtualBox后,VBoxManage可管理虚拟机的创建、启动、暂停、关闭等生命周期,配置网络与硬件资源,创建快照,并设置开机自启。使用时需注意执行权限、使用绝对路径,以及内核更新后重新编译内核模块。

在日常运维或开发测试中,VirtualBox的命令行工具VBoxManage发挥着关键作用。对于习惯在CentOS上工作的工程师而言,掌握这套命令能显著提升虚拟机管理效率。下面直接进入正题,系统梳理从安装到实战的核心用法。

CentOS VirtualBox VBoxManage命令使用教程

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
  • 创建新虚拟机:需指定名称、操作系统类型(如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
  • 控制虚拟机状态:关机、强制终止、休眠、暂停/恢复各有对应:
    • 模拟按下电源按钮(正常关机):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
  • 存储配置:创建虚拟硬盘、添加控制器、挂载磁盘和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
    然后创建自启动配置文件,并设置具体虚拟机策略:
    echo "default_policy = deny" > /etc/vbox/autostartvm.cfg
    echo "MyCentOS = {allow = true, startup_delay = 10}" >> /etc/vbox/autostartvm.cfg
    最后设置VirtualBox属性并重启自启动服务:
    VBoxManage setproperty autostartdbpath /etc/vbox
    systemctl restart vboxautostart-service

3. 注意事项

实际使用中,有几个容易踩坑的地方值得留意:

  • 权限问题:很多命令(如创建虚拟机、修改系统配置)需要root权限,建议始终加上sudo。
  • 路径准确性:虚拟硬盘、ISO镜像的路径必须使用绝对路径,相对路径容易引发文件找不到的错误。
  • 桥接模式的硬件要求:使用桥接网络时,需确保主机物理网卡支持桥接功能,且所在网络环境允许虚拟机获取IP。
  • 内核模块更新:每次升级CentOS内核后,都需要重新编译VirtualBox内核模块。运行sudo /sbin/vboxconfig即可解决,否则VirtualBox可能无法正常启动。

通过以上命令,在CentOS上利用VBoxManage进行虚拟机的命令行管理就不是难事了。无论是自动化运维还是服务器部署,这套工具链都能提供足够的灵活性和控制力。