VirtualBox安装Ubuntu22.04虚拟机Guest Additions时版本不匹配且模块编译失败的问题求助
VirtualBox安装Ubuntu22.04虚拟机Guest Additions时版本不匹配且模块编译失败的问题求助
看起来你遇到的问题主要有两个核心原因:一是编译Guest Additions模块时找不到对应版本的gcc编译器,二是旧版Guest Additions的残留文件导致版本不匹配警告。我来一步步帮你解决:
1. 安装缺失的gcc-12编译器
从日志里的 /bin/sh: 1: gcc-12: not found 能看出,你的Ubuntu内核是用gcc-12编译的,但系统里没安装这个版本的编译器,这直接导致了模块编译失败。执行以下命令安装:
sudo apt update sudo apt install gcc-12 build-essential linux-headers-$(uname -r)
安装完成后,可以用 gcc-12 --version 确认是否安装成功。
2. 彻底清理旧版Guest Additions残留
版本不匹配的警告是因为之前的虚拟机残留了旧的Guest Additions组件,需要彻底清理:
# 卸载已安装的旧版Guest Additions sudo /opt/VBoxGuestAdditions-*/uninstall.sh # 如果找不到卸载脚本,手动清理相关文件 sudo rm -rf /opt/VBoxGuestAdditions-* sudo rm -rf /tmp/vbox.*
3. 重新安装Guest Additions
清理完成后,按照标准流程重新安装:
- 先重启虚拟机:
sudo reboot - 重启后,从VirtualBox顶部菜单点击「设备」->「插入增强功能CD镜像」
- 挂载CD镜像:
sudo mkdir -p /mnt/cdrom sudo mount /dev/cdrom /mnt/cdrom
- 进入挂载目录并运行安装脚本:
cd /mnt/cdrom sudo ./VBoxLinuxAdditions.run
- 安装完成后再次重启虚拟机:
sudo reboot
补充说明
之前你手动删除VirtualBox主机端文件时,并没有清理虚拟机内部的旧Guest Additions组件,加上升级Ubuntu内核后,对应的编译器版本没有同步安装,才导致了这两个问题。按照上面的步骤操作后,应该就能正常安装Guest Additions了。
备注:内容来源于stack exchange,提问作者Tms91
相关产品推荐
相关产品推荐

