温馨提示×

如何在CentOS VirtualBox中安装Guest Additions

小樊
48
2025-10-06 20:58:16
栏目: 智能运维

如何在CentOS VirtualBox中安装Guest Additions

一、安装前准备

  1. 更新系统:确保CentOS系统为最新状态,避免因软件包版本冲突导致安装失败。
    sudo yum update -y  # CentOS 7
    sudo dnf update -y  # CentOS 8/9
    
  2. 安装编译依赖:Guest Additions需要编译内核模块,需提前安装编译工具和内核相关包。
    sudo yum install -y epel-release gcc make perl kernel-devel kernel-headers dkms bzip2  # CentOS 7
    sudo dnf install -y gcc make perl kernel-devel kernel-headers dkms bzip2  # CentOS 8/9
    
  3. 确认内核版本匹配:内核版本(uname -r)必须与kernel-devel包版本一致,否则无法编译模块。若不一致,更新内核并重启:
    sudo yum update -y && sudo reboot  # CentOS 7
    sudo dnf update -y && sudo reboot  # CentOS 8/9
    

二、挂载Guest Additions光盘

  1. 触发挂载:在VirtualBox虚拟机窗口的设备菜单中,选择安装增强功能(Install Guest Additions)。此操作会自动挂载VirtualBox提供的ISO镜像到虚拟机。
  2. 手动挂载(若未自动挂载)
    • 创建挂载目录:sudo mkdir -p /mnt/cdrom
    • 挂载ISO:sudo mount /dev/cdrom /mnt/cdrom(若/dev/cdrom不存在,可尝试/dev/sr0
    • 验证挂载:ls /mnt/cdrom,应能看到VBoxLinuxAdditions.run文件。

三、安装Guest Additions

  1. 运行安装脚本:切换至挂载目录,赋予执行权限并运行脚本。
    cd /mnt/cdrom
    sudo sh ./VBoxLinuxAdditions.run
    
    • 若提示“权限不足”,可在命令前加sudo;若提示“找不到脚本”,请确认VBoxLinuxAdditions.run是否存在。
  2. 处理常见错误
    • 内核模块编译失败:通常因kernel-devel版本不匹配,需重新执行步骤一的“确认内核版本匹配”。
    • ORC元数据错误(CentOS 8+):安装elfutils-libelf-devel包解决:
      sudo yum install -y elfutils-libelf-devel  # CentOS 7
      sudo dnf install -y elfutils-libelf-devel  # CentOS 8/9
      

四、重启与验证

  1. 重启系统:安装完成后重启虚拟机,使内核模块生效。
    sudo reboot
    
  2. 验证安装
    • 检查模块加载lsmod | grep vboxguest,若输出包含vboxguest(如vboxguest 348160 2 vboxsf),则表示内核模块加载成功。
    • 测试功能:尝试拖拽文件到虚拟机(共享剪贴板/拖放需在VirtualBox设置中启用)、调整窗口大小(分辨率自动适配)、共享文件夹访问(需额外配置,详见后续说明)。

五、常见问题解决

  • 共享文件夹无法挂载:需在VirtualBox设置中配置共享文件夹(虚拟机设置→共享文件夹→添加),并安装virtualbox-guest-additions包(部分版本需额外安装):
    sudo yum install -y virtualbox-guest-additions  # CentOS 7
    sudo dnf install -y virtualbox-guest-additions  # CentOS 8/9
    
  • 鼠标无缝切换失效:在VirtualBox设置→常规→高级中,将“共享剪贴板”和“拖放”设置为“双向”,并确保Guest Additions已正确安装。

0