Ubuntu 中 VirtualBox 的更新与升级指南
一 更新与升级的区别
- 更新(Update):指刷新软件包索引并升级已安装软件包到仓库中的最新小版本/补丁,例如从 7.0.10 → 7.0.12。命令为:sudo apt update && sudo apt upgrade。
- 升级(Upgrade):指跨小版本或主版本的大版本升级,例如从 6.x → 7.x。通常做法是添加/切换到官方仓库后执行升级,或下载 .deb 包进行安装。
二 推荐方式 使用官方仓库进行更新与升级
- 1)添加 VirtualBox 官方仓库
- 创建源文件:sudo sh -c ‘echo “deb [arch=amd64] https://download.virtualbox.org/virtualbox/debian $(lsb_release -cs) contrib” | sudo tee /etc/apt/sources.list.d/virtualbox.list’
- 导入公钥(较新版本推荐):wget -qO- https://www.virtualbox.org/download/oracle_vbox_2016.asc | sudo gpg --dearmor | sudo tee /usr/share/keyrings/oracle-virtualbox-2016.gpg >/dev/null
- 若 gpg 提示无公钥,可临时使用旧方式导入:wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -
- 2)更新索引并安装/升级
- 刷新索引:sudo apt update
- 安装或升级到仓库最新版:sudo apt install virtualbox
- 3)验证版本
- 查看版本:vboxmanage --version
- 说明
- 使用官方仓库后,后续只需执行 apt update && apt upgrade 即可获得 7.x 系列的最新维护版本;如需跨主版本,更新仓库后执行 apt install virtualbox 会完成升级。
三 备选方式 使用 .deb 包进行安装或升级
- 前往 VirtualBox Linux 下载页,选择对应的 Ubuntu 版本与架构(amd64),下载 .deb 安装包。
- 安装或升级:sudo dpkg -i /path/to/virtualbox-*.deb
- 若遇到依赖问题:sudo apt -f install
- 验证:vboxmanage --version
- 适合无法使用官方仓库或需要离线安装/特定版本的场景。
四 宿主机与虚拟机内的系统更新
- 宿主机(运行 VirtualBox 的 Ubuntu)
- 常规更新:sudo apt update && sudo apt upgrade
- 完整升级(可能涉及内核/过渡包):sudo apt full-upgrade
- 跨版本升级:sudo do-release-upgrade
- 虚拟机内(Guest 中的 Ubuntu)
- 图形界面:打开“软件更新器”,检查并安装更新。
- 命令行:sudo apt update && sudo apt upgrade(必要时执行 sudo apt full-upgrade)
- 跨版本:sudo do-release-upgrade
- 建议:在进行系统升级前备份重要数据。
五 常见问题与处理
- 导入公钥失败
- 新方式:wget -qO- https://www.virtualbox.org/download/oracle_vbox_2016.asc | sudo gpg --dearmor | sudo tee /usr/share/keyrings/oracle-virtualbox-2016.gpg >/dev/null
- 旧方式(若仍可用):wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -
- 找不到包或版本过旧
- 确认已添加官方仓库并使用 amd64 架构;执行 sudo apt update 后再安装。
- 内核模块未加载
- 重启宿主机;如仍异常,检查 Secure Boot 设置,必要时为 VirtualBox 驱动签名或临时关闭 Secure Boot。
- 增强功能(Guest Additions)
- 在虚拟机窗口菜单“设备”→“安装增强功能”,并在客系统中安装构建依赖:sudo apt install build-essential gcc make perl dkms,然后重启客系统。