温馨提示×

ubuntu下virtualbox虚拟机无法启动怎么办

小樊
39
2025-11-30 10:42:47
栏目: 云计算

Ubuntu 下 VirtualBox 虚拟机无法启动的排查与修复

一、先快速定位问题

  • 查看具体报错:在终端执行 VBoxManage startvm "<虚拟机名>" --type headless,或在图形界面点“显示日志”查看 VBox.log / VBoxHardening.log,从最后几行定位关键词(如 vboxdrv、KVM、CPUID、桥接网卡 等)。
  • 检查虚拟化是否可用:执行 egrep -c '(vmx|svm)' /proc/cpuinfo,返回 0 表示宿主机未开启虚拟化或未在 BIOS 启用。
  • 确认内核模块与加速:执行 lsmod | grep vboxdrv 检查驱动是否加载;在虚拟机设置→系统→加速,确认已勾选 VT-x/AMD-V嵌套分页
  • 若提示内核模块问题,优先修复驱动(见下一节)。

二、修复宿主机驱动与内核模块

  • 安装/更新必备组件并重建内核模块:
    • sudo apt update && sudo apt install --reinstall virtualbox-dkms linux-headers-$(uname -r)
    • 重建模块:sudo /sbin/vboxconfig(或 sudo /etc/init.d/vboxdrv setup,旧版本)
  • 若仍失败,检查日志 /var/log/vbox-install.logdmesg | tail,常见原因是缺少当前内核头文件或 DKMS 未跟踪新内核。
  • 升级系统后 VirtualBox 打不开或兼容性异常,建议用官方源重装匹配版本:
    • 添加源:echo "deb [arch=amd64] https://download.virtualbox.org/virtualbox/debian $(lsb_release -sc) contrib" | sudo tee /etc/apt/sources.list.d/virtualbox.list
    • 导入公钥:wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
    • 安装/升级:sudo apt update && sudo apt install virtualbox
  • 启用虚拟化后仍报 VT-x/AMD-V 不可用:进入 BIOS/UEFI 打开虚拟化;若宿主机运行在 Windows 10/11,可能与 Hyper-V/沙盒/核心隔离 冲突,需在“启用或关闭 Windows 功能”中关闭后再试(仅当你的宿主机是 Windows 时适用)。

三、常见场景与对应处理

  • 桥接网卡不存在(如 “Nonexistent host networking interface”):在虚拟机设置→网络中把 桥接 改为当前宿主机网卡名,或改为 NAT;也可编辑 .vbox 文件,将 <BridgedInterface name="旧网卡名"/> 改为 <BridgedInterface name="当前网卡名"/>
  • CPUID 不匹配(如 “X86_CPUID_FEATURE_ECX_PCID is not supported”):通常是快照/保存状态来自不同 CPU 特性主机。处理方式:
    • 先关闭虚拟机→“丢弃保存状态”;
    • 或在设置→系统→处理器,取消勾选 启用嵌套分页(Nested Paging) 后再试;
    • 仍不行则新建虚拟机,挂载原 VDI 磁盘启动。
  • 升级后图形界面启动失败或黑屏:在虚拟机设置→显示→图形控制器尝试切换 VMSVGA/VBoxVGA,再重启。
  • 启动进程崩溃或报 -610 / VBoxHardening.log 异常:检查安全软件(如 火绒)是否拦截,确保 VBoxSDS/VBoxDrv 服务已启用;必要时以管理员权限执行 sfc /scannow 修复系统 DLL;查看 VBoxHardening.log 退出码定位问题。

四、仍未解决时建议准备的信息

  • 执行 VBoxManage --versionuname -a 的输出。
  • 虚拟机设置要点:系统(芯片组/CPU/加速)、显示(控制器/显存)、网络(连接方式/网卡名)。
  • 相关日志片段:VBox.log / VBoxHardening.log 的最后 20–50 行,以及 /var/log/vbox-install.log 的错误内容。

0