我在 Windows 11 主机上运行的 VirtualBox 中安装了 Ubuntu 22.04 LTS 虚拟机。它运行在 Intel Alder Lake CPU 上,具有单独的性能/高效核心(2 个带超线程的 P 核心,8 个 E 核心)。我给它 12 个虚拟核心。在安装操作系统时,我发现安装程序响应速度很慢,并且安装程序在启动时播放的声音断断续续。
安装后,Wayland 图形用户界面在 CPU 没有负载时运行良好,但每当我给 CPU 增加一些负载(例如make -j12
在大型软件项目上)时,键盘响应性就会变得非常差。例如,在打字时,ls -aFl
它经常将其解释为ls -Afl
或 ,即使如此,Shift 的位置也会移动。在负载下, (或 或)ls _afl
需要一两秒钟才能出现。ls -aFl
ls -Afl
ls _afl
将 Wayland 切换到 X11 解决了 Shift 键位置不正确的问题,但如果 CPU 负载过大,我输入的命令仍然需要一两秒钟才能显示。因此响应度仍然不可接受。
任何类型的多媒体播放都会立即失败,我无法播放音乐,否则音频会中断。
我测试了 VMWare,它没有 VirtualBox 的任何响应问题。但是,VMWare 对双屏的支持对我来说还不够(我只有在全屏模式下才能获得双屏,而且 VMWare 的控制栏会覆盖虚拟机内容,而让控制栏消失的唯一方法是捕获鼠标,如果我想移动到第三个屏幕上的窗口(该窗口正在 Windows 下运行我的 Web 浏览器),则需要单独取消捕获)。
起初,我认为性能不佳的原因是 P/E 核心分离,E 核心运行速度非常慢,而且出于某种原因,线程会在 E 核心上进行调度(https://forums.virtualbox.org/viewtopic.php?t=108745有这个问题)。但是后来我发现VirtualBox的图标右下角有一个绿色的海龟图标,而不是蓝色的主板图标。然后我发现了这个:https://forums.virtualbox.org/viewtopic.php?f=25&t=99390
因此,VirtualBox 回归到软件虚拟化,因为硬件虚拟化不存在。我尝试了此线程中的所有技巧,包括:
bcdedit /set hypervisorlaunchtype off
(尽管我无法进行完整的电源循环,因为我无法取出笔记本电脑的电池)DISM /Online /Disable-Feature:Microsoft-Hyper-V
- 我将 HKEY_LOCAL_MACHINE、SYSTEM、CurrentControlSet、Control、DeviceGuard、Scenarios、SystemGuard 下的 Enabled 设置为 0。
- 我输入了 EnableVirtualizationBaseSecurity 和 EnableVirtualizationBasedSecurity,以防 HKEY_LOCAL_MACHINE、SYSTEM、CurrentControlSet、Control、DeviceGuard 下出现 0 的输入错误。
- 我将内存完整性设置为关闭
- 我检查了 BIOS 设置,禁用了安全启动和一些似乎可以通过虚拟化提供额外安全性的功能
...但即使重新启动后,我也无法赶走绿海龟。msinfo32.exe
表明基于虚拟化的安全性仍在使用中。
当然,我确实检查了 BIOS 设置中是否启用了虚拟化功能。
我怎样才能删除绿海龟并让 VirtualBox 使用基于英特尔 CPU 的虚拟化技术?
答案1
转到控制面板,选择程序和功能,选择打开或关闭 Windows 功能
删除 Hyper-V
删除 Windows 虚拟机管理程序平台
删除虚拟机平台
保存设置并重启
就我而言,Windows Hypervisor Platform 仍然被选中,这导致 Windows 在虚拟机管理程序内部启动,因此虚拟化功能已被使用,而 VirtualBox 无法使用 CPU 的虚拟化功能。