VirtualBox中Windows7虚拟机运行缓慢的解决办法
Tsccai

两三年之前装过一个32位的Windows XP,那时虚拟机用的还是VirtualBox 5.1.x,运行上无任何问题,十分流畅,虚拟机的屏幕分辨率也可以达到2K。最近需要安装一个Windows 7的虚拟机,心想跟以前安装的也不会有什么区别,怎料想这个64位的Windows 7虚拟机着实折腾了我两三天。其中查阅了好些博客,最终还是在VirtualBox的官方论坛上找到了原因和解决办法。

踩过的坑

首先需要明确的是,在写下本文的2022年这个时间点,一台分配了2G内存,2核CPU以及128M显存的虚拟机用来运行Windows 7可以说是如丝般顺滑。如果你发现虚拟机安装系统时很卡、鼠标跳动、不跟手,系统安装完毕后进入系统也十分卡顿甚至直接卡死在进入系统前的Windows徽标界面,那么本文将有所帮助。而其他诸如更改声音控制芯片[1]、显卡控制器选择VBoxSVGA而不是VBoxVGA[2]以及安装VirtualBox GuestAddtion增强工具[3]这些尝试都请在完成了官方论坛上的指南且无效的前提下再进行。

原因及解决办法

这个问题的产生根源是通常我们的宿主机系统(Windows平台)开启了Hyper-V,其优先级更高,使得VirtualBox,VMware等虚拟机竞争不到资源去运行虚拟机,所以出现异常卡顿的情况。而在中文互联网上搜索“VirtualBox卡顿”这样的关键词时搜索出来的却是上面那一堆无用的解决办法。而科学上网后用英文搜一下,很容易就得到了这样的结果:
post1
post2
注意到图1的Won’t even boot,跟我遇到的情况一样。而图2就给出了原因和解决办法。
简单来说,如果你发现虚拟机启动之后虚拟机窗口右下角有一个乌龟一样的图标:,就意味着虚拟机现在运行得十分缓慢,而这通常是因为Hyper-V没有完全禁用造成的。除了在控制面板的“启用或关闭Windows功能”里将Hyper-V相关的选项全部取消勾选以外,根据官方论坛里的帖子,还需要进行以下操作:

  1. 关闭所有程序,关闭宿主机,彻底断电后重启(个人感觉这一步过于激进,其实只关闭VirtualBox也成功了)。
  2. 确认下列进程或程序没有运行:
    1. DeviceGuard
    2. CredentialGuard
    3. Windows Defender’s Core Isolation
  3. 以管理员权限执行以下命令:
    1
    2
    3
    bcdedit /set hypervisorlaunchtype off
    DISM /Online /Disable-Feature:Microsoft-Hyper-V

  4. 关机并重启(原文要求断电10s以上)
  5. 再次运行虚拟机,如果原先绿色乌龟图标的位置上变成了 这样的V字型图标即表明虚拟机现在运行正常。

参考文献

[1]VirtualBox 6.1 运行win7卡死 卡顿

[2]解决VirtualBox虚拟机安装windwos 操作卡顿的问题_lanyu96-程序员资料_virtualbox运行win10很卡

[3]Windows 7 VM Is EXTREMELY slow: (Wont even boot!)

[4]Attempting fall back to NEM (Hyper-V is active)

  • 本文标题:VirtualBox中Windows7虚拟机运行缓慢的解决办法
  • 本文作者:Tsccai
  • 创建时间:2022-06-11 10:33:56
  • 本文链接:https://tsccai.github.io/2022/06/11/solution-to-slow-win7-on-virtual-box/
  • 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!