温馨提示×

CentOS下VirtualBox如何使用VBoxManage命令

小樊
84
2025-11-29 15:26:05
栏目: 编程语言

CentOS 下使用 VBoxManage 的完整指南

一 环境准备与安装

  • 安装 VirtualBox 官方仓库并安装软件包(以 VirtualBox 6.1 为例,其他版本替换版本号即可):
    • 新建仓库文件 /etc/yum.repos.d/virtualbox.repo,内容:
      [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.asc
      
    • 安装与内核模块:
      sudo yum clean all && sudo yum makecache
      sudo yum install -y VirtualBox-6.1
      sudo yum install -y kernel-devel-$(uname -r)
      sudo /sbin/vboxconfig
      
  • 验证安装:
    VBoxManage -v
    
  • 如需远程桌面(VRDE/RDP),安装与主机匹配的 Oracle VM VirtualBox Extension Pack(版本需与 VirtualBox 一致):
    VBoxManage extpack install /path/Oracle_VM_VirtualBox_Extension_Pack-<version>.vbox-extpack
    

二 常用 VBoxManage 命令速查

  • 虚拟机生命周期
    VBoxManage list vms
    VBoxManage list runningvms
    VBoxManage startvm "<vm>" --type headless
    VBoxManage controlvm "<vm>" acpipowerbutton   # 正常关机
    VBoxManage controlvm "<vm>" poweroff         # 强制断电
    VBoxManage controlvm "<vm>" savestate       # 休眠
    
  • 创建与注册
    VBoxManage createvm --name "<vm>" --ostype "<ostype>" --register
    VBoxManage registervm "/path/to/vm.vbox"
    
  • 硬件与启动
    VBoxManage modifyvm "<vm>" --memory 2048 --cpus 2 --vram 12
    VBoxManage modifyvm "<vm>" --boot1 dvd --boot2 disk
    VBoxManage modifyvm "<vm>" --nic1 nat
    
  • 存储与介质
    VBoxManage createhd --filename "<path/disk.vdi>" --size 20480
    VBoxManage storagectl "<vm>" --name "SATA" --add sata --controller IntelAhci
    VBoxManage storageattach "<vm>" --storagectl "SATA" --port 0 --device 0 --type hdd --medium "<path/disk.vdi>"
    VBoxManage storageattach "<vm>" --storagectl "SATA" --port 1 --device 0 --type dvddrive --medium "<path/iso.iso>"
    
  • 快照
    VBoxManage snapshot "<vm>" take "<snap>"
    VBoxManage snapshot "<vm>" list
    VBoxManage snapshot "<vm>" restore "<snap|uuid>"
    VBoxManage snapshot "<vm>" delete "<snap|uuid>"
    
  • 导入导出
    VBoxManage import "<ova>" --vsys 0 --vmname "<new>" --basefolder "<dir>"
    VBoxManage export "<vm>" -o "<ova>"
    
  • 远程桌面(需扩展包)
    VBoxManage modifyvm "<vm>" --vrde on
    VBoxManage modifyvm "<vm>" --vrdeport 3389
    
  • 说明
    • 虚拟机名称含空格需使用引号;也可用 UUID 代替名称。
    • 常用查询:VBoxManage list ostypesVBoxManage showvminfo “

三 实战示例 无头安装 CentOS 7

  • 创建与基础配置
    VBoxManage createvm --name "centos7" --ostype "RedHat_64" --register
    VBoxManage modifyvm "centos7" --memory 2048 --cpus 2 --vram 12
    VBoxManage modifyvm "centos7" --boot1 dvd --boot2 disk
    
  • 存储与 ISO
    VBoxManage createhd --filename "/vms/centos7/centos7.vdi" --size 20480
    VBoxManage storagectl "centos7" --name "SATA" --add sata --controller IntelAhci
    VBoxManage storageattach "centos7" --storagectl "SATA" --port 0 --device 0 --type hdd --medium "/vms/centos7/centos7.vdi"
    VBoxManage storageattach "centos7" --storagectl "SATA" --port 1 --device 0 --type dvddrive --medium "/iso/CentOS-7-x86_64-Minimal-2009.iso"
    
  • 网络(NAT 示例,便于直接出网)
    VBoxManage modifyvm "centos7" --nic1 nat
    
  • 启动安装(无头)
    VBoxManage startvm "centos7" --type headless
    
  • 安装完成后,建议关闭 VRDE 并改用 SSH 管理:
    VBoxManage modifyvm "centos7" --vrde off
    

四 网络与远程访问要点

  • 桥接模式(让虚拟机获得与宿主机同网段 IP)
    VBoxManage modifyvm "<vm>" --nic1 bridged --bridgeadapter1 <host_if>
    
    • <host_if> 替换为宿主机实际网卡名,如 eth0/enp2s0f0;可用 ip link 查看。
  • 仅主机与内部网络
    VBoxManage modifyvm "<vm>" --nic1 hostonly
    VBoxManage modifyvm "<vm>" --nic2 intnet
    
  • VRDE 远程桌面(需安装扩展包)
    VBoxManage modifyvm "<vm>" --vrde on
    VBoxManage modifyvm "<vm>" --vrdeport 3389
    
    • 客户端可用 rdesktop/vnc 连接宿主机的 3389 端口。
    • 若需多台虚拟机并行,请为每台设置不同端口。

五 故障排查与进阶

  • 命令报错的通用排查
    • 确认名称或 UUID 正确;名称含空格务必加引号。
    • 查看详细配置与错误:VBoxManage showvminfo “
    • 查看日志目录(在 showvminfo 输出中)定位启动失败原因。
  • 内核模块与构建问题
    • 执行 sudo /sbin/vboxconfig 重建内核模块;确保已安装匹配版本的 kernel-devel
  • 扩展包不匹配
    • 扩展包版本必须与 VirtualBox 版本一致,否则 VRDE 等功能不可用。
  • 磁盘与快照
    • 压缩动态磁盘前,在客户机内将空闲空间写零(Windows 可用 sdelete -z,Linux 可用 zerofree),再执行:
      VBoxManage modifyhd "<disk.vdi>" --compact
      
  • 宿主机无 GUI 的图形转发(仅用于临时需要 GUI 的场景)
    • 通过 SSH -X 转发 X11,在本地弹出 VirtualBox 窗口(服务器侧需安装 GUI 相关包)。

0