启用虚拟机平台与 vt-d 结合时出现 BSOD

启用虚拟机平台与 vt-d 结合时出现 BSOD

我在笔记本电脑上安装了 Windows 11。一切都很顺利,直到我运行“wsl --install”时出现了带有 INACCESSIBLE_BOOT_DEVICE 的 BSOD。在 BIOS 中禁用 VT 的直接 I/O 后,我的设备再次启动。

Version     22H2 
OS build    22621.525 
Experience  Windows Feature Experience Pack 1000.22634.1000.0

我的硬件规格如下:

Processor       Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz   2.59 GHz
Installed RAM   32,0 GB (31,7 GB usable)

我发现了一些 Github 主题,例如这个。我尝试了所有(除了一个)建议的解决方案,但没有一个能让我同时运行 VMP 和 vt-d。我将尝试最后一个,即将网络驱动程序更新为其默认的 Windows 11 版本,但我仍然需要提出此建议的用户的一些反馈。

过去一周我一直在为此苦苦挣扎,现在开始有点绝望了。不过我还不想就此认输。

所以,如果我错了,请纠正我,但我可以在禁用 vt-d 的情况下运行 WSL2 和 docker,但我将无法利用 WSLg,对吗?我真的希望我能解决这个问题,并最终能够同时运行 VMP 和 vt-d,因为我想切换到 Windows 11 的原因是为了使用 WSLg。在遇到这个困难之前,我一直在努力让一个像样的设置与 Xserver 一起运行,而 WSLg 看起来是这个问题的解决方案。

更具体地说,我尝试过的事情是:

  1. 在执行 wsl --install 之前保持 vt-d 处于启用状态,然后逐一更新 windows 和驱动程序,以查看驱动程序和 vt-d 之间是否存在冲突。这样,我将范围缩小到 VMP(可能还有 Hypervisor),因为当仅同时打开 Hyper-V 和 vt-d 时,我也会进入 BSOD。
  2. 逐步安装 WSL2 所需的每个组件。但在安装(或启用 VMP)后,我也遇到了 BSOD
  3. 从 WSL1 开始并升级到 WSL2
  4. 运行没有 vt-d 的 WSL。这可行,但是当我在 Distro 中安装某些东西时,我没有获得到 Linux GUI 的 Windows 链接,所以我认为这就是为什么我需要 vt-d 才能充分使用 WSL2 和 WSLg
  5. 按照此论坛所述将我的 SATA 操作从“Raid On”切换为“AHCI”建议
  6. 确保 BIOS 是最新的
  7. 过去 4 天一直在与戴尔客服聊天。他们只是责怪微软。可能是因为这种情况发生在多家制造商身上

相关内容