温馨提示×

如何在CentOS上配置VirtualBox

小樊
37
2025-12-09 10:50:25
栏目: 智能运维

在 CentOS 上配置 VirtualBox 的完整步骤

一 环境准备与依赖

  • 确认系统版本与架构:建议使用 CentOS 7/8 Stream,并确保为 x86_64
  • 启用 EPEL 仓库(CentOS 7 常用):
    sudo yum install -y epel-release
  • 安装编译与内核开发依赖(构建 vboxdrv 必需):
    sudo yum install -y gcc make perl kernel-devel kernel-headers dkms
  • 确认内核版本一致性(两者版本号需完全一致):
    uname -r
    ls /usr/src/kernels/
    如不一致,先升级内核并重启:sudo yum update kernel && sudo reboot
  • 在 BIOS 中开启虚拟化支持(VT-x/AMD-V),否则虚拟机性能与兼容性会受限。

二 安装 VirtualBox

  • 方式 A(推荐)添加 Oracle 官方 YUM 源并安装:
    1. 创建源文件:
      sudo tee /etc/yum.repos.d/virtualbox.repo <<‘EOF’
      [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
      EOF
    2. 安装 VirtualBox(会自动选择最新版):
      sudo yum clean all && sudo yum install -y VirtualBox
  • 方式 B 使用已下载的 RPM 包:
    sudo yum localinstall -y VirtualBox-*.rpm
  • 安装完成后重建内核模块并启动服务:
    sudo /sbin/vboxconfig

    sudo systemctl start vboxdrv && sudo systemctl enable vboxdrv

三 基础配置与用户权限

  • 将需要使用 VirtualBox 的用户加入 vboxusers 组(替换 your_user 为实际用户名):
    sudo usermod -a -G vboxusers your_user
    加入后需重新登录或重启会话以生效。
  • 验证安装与版本:
    VBoxManage -v
  • 创建与管理虚拟机(示例):
    1. 新建:
      VBoxManage createvm --name vm1 --ostype RedHat_64 --register --basefolder /data/VirtualBoxVMs/
    2. 配置资源:
      VBoxManage modifyvm vm1 --cpus 2 --memory 2048 --vram 128
    3. 网络(NAT 便于上网,桥接需指定宿主机网卡):
      VBoxManage modifyvm vm1 --nic1 nat

      桥接示例(将 enp2s0f0 替换为你的实际网卡名):

      VBoxManage modifyvm vm1 --nic1 bridged --bridgeadapter1 enp2s0f0

    4. 存储(以 ISO 安装系统):
      VBoxManage storagectl vm1 --name “SATA Controller” --add sata --controller IntelAHCI
      VBoxManage storageattach vm1 --storagectl “SATA Controller” --port 0 --device 0 --type dvddrive --medium /path/to/CentOS-7-x86_64-Minimal-2009.iso
    5. 启动:
      VBoxManage startvm vm1 --type headless

四 无头运行与远程访问

  • 启用远程桌面(VRDE,RDP 端口):
    VBoxManage modifyvm vm1 --vrde on
    VBoxManage modifyvm vm1 --vrdeport 3389
    使用 RDP 客户端连接宿主机的 3389 端口即可访问虚拟机控制台。
  • 常用无头控制命令:
    启动:VBoxManage startvm vm1 --type headless
    关机:VBoxManage controlvm vm1 poweroff
    暂停/恢复:VBoxManage controlvm vm1 pause | resume
  • 如需在宿主机本地图形界面管理,可直接运行:virtualbox(需桌面环境)。

五 常见问题与排错

  • 报错 “Kernel driver not installed (rc=-1908)”:
    1. 安装匹配当前运行内核的 kernel-devel 并重建模块:
      sudo yum install -y kernel-devel-$(uname -r)
      sudo /sbin/vboxconfig
    2. 若仍失败,重启后再执行重建。
  • 构建内核模块时报 “unable to find the sources of your current Linux kernel”:
    说明未安装或未匹配到正确的 kernel-devel/kernel-headers,请按上文安装对应版本并重启。
  • 桥接网卡不生效:
    使用 VBoxManage modifyvm --nic1 bridged --bridgeadapter1 <实际网卡名> 指定物理网卡;可用 ip link 查看网卡名。
  • 增强功能与共享文件夹(在客户机内操作):
    1. 在客户机中挂载增强功能镜像并安装:
      sudo mkdir -p /media/cdrom
      sudo mount /dev/cdrom /media/cdrom
      sudo /media/cdrom/VBoxLinuxAdditions.run
    2. 共享文件夹(宿主机执行,客户机以 root 挂载):
      VBoxManage sharedfolder add vm1 --name share --hostpath /home/user/share
      客户机:sudo mount -t vboxsf share /mnt/share
  • 版本查询与扩展包:
    查询已安装扩展包:VBoxManage list extpacks
    安装扩展包(增强功能、USB 2.0/3.0、RDP 等):VBoxManage extpack install /path/Oracle_VM_VirtualBox_Extension_Pack-.vbox-extpack。

0