mportant;">有兴趣在多个 Proxmox 8.x VM 之间共享您的 Intel Alder Lake GPU?这篇文章介绍了如何使用带有 Windows 11 专业版的英特尔第 12 代 CPU (Alder Lake) 在 Proxmox 8.1/8.0 上配置英特尔 vGPU 虚拟功能。我将引导您完成 Proxmox 8.x 内核配置、修改 GRUB、安装 Windows 11 专业版,然后在 Windows 中设置英特尔显卡。
我已经完全更新了 Proxmox 8.0 vGPU 帖子中的内容,该帖子于 6 月出现在我的博客上。虽然该过程与以前大致相同,但我添加了新部分并刷新了所有先前的内容。我已将旧的博客文章 URL 重定向到这篇文章。如果您需要旧帖子,可以在此处查看: windows-11-vgpu-vt-d-passthrough-with-intel-alder-lake-legacy.html" target="_blank" rel="noreferrer noopener" style="box-sizing: border-box; background-color: transparent; text-decoration-line: none; outline: 0px; transition: color 0.2s ease-out 0s, border 0.2s ease-out 0s, opacity 0.2s ease-out 0s; word-break: break-word; cursor: url("http://blog.fengjinhao.com/mainfist/ayuda.cur"), auto;">Proxmox VE 8:Windows 11 vGPU (VT-d) Passthrough with Intel Alder Lake.它有很多用户评论,您可能会发现这些评论很有帮助。但是,请将这篇文章用于 Proxmox 8.0-8.2 上的安装过程。
2024 年 5 月 5 日更新:内核 6.5.13-5 在某些具有安全启动功能的系统上给我带来了问题以及阅读器。一位读者建议 6.5.13-3,它确实适用于 6.5.13-5 有问题的一个系统。因此,我更新了使用 6.5.13-3 的步骤,因为这似乎更广泛地兼容具有安全启动功能的用户。
2024 年 5 月 4 日更新: 我已经更新了 Proxmox 8.2 的说明。这需要固定内核 6.5.13-5 才能使 vGPU/DKMS 正常工作。不能将 6.8.x 内核分支与 vGPU 一起使用。
2024 年 4 月 29 日更新: 在第一个Proxmox CLI部分添加了安装sysfsutils。我还更新了经过测试的 Proxmox 内核和 Arc 驱动程序版本。
2024 年 4 月 25 日更新: Proxmox 8.2 现已发布,但附带 Kernel 6.8x。DKMS 在此内核上已损坏。请勿在带有内核 6.8 的 vanilla Proxmox 8.2 安装上使用此过程。等待升级到 Proxmox 8.2,或将内核固定到仍适用于 DKMS 的先前 6.5 内核,然后升级。
2023 年 12 月 7 日更新:Proxmox 发布了一个小的内核升级。内核 6.5.11-7-pve。如果您从Proxmox UI更新,看起来DKMS重建了内核,您应该可以开始了。但是,根据我的经验,如果您什么都不做,您的 7 个 VF 就会消失。正如我的文章所述,只需重新运行从头开始重建 DKMS 的所有 GRUB 步骤,然后重新启动即可。现在我的 7 个 VF 回来了。这就是为什么明智的做法是固定内核版本并仅在需要时进行升级。我还在故障排除部分添加了一些内容。
2023 年 12 月 2 日更新:添加了安全启动 MOK 设置的屏幕截图。
2023 年 11 月 27 日更新:为使用安全启动的 Proxmox 8.1 或更高版本安装添加了一个附加步骤。更新了 Plex 信息,因为他们的立场现在已经改变。他们将为未来版本提供 SR-IOV (vGPU) 支持。
2023 年 11 月 26 日更新:我已经修改了DKMS和GRUB部分,因此它们现在可以响应Proxmox主机正在运行的内核版本。它还执行更多的系统清理,现在几乎只是一个复制/粘贴工作。这些更改的灵感来自 Github 评论,我对其进行了修改以实现更高的自动化。
2023 年 11 月 25 日更新:DKMS 存储库已更新,以解决内核 6.5 所需的小调整。因此,我删除了修改其中一个DKMS文件的步骤。我还添加了一个 LXC vGPU VF 部分,以解决其他服务(如 Plex 及其 vGPU 支持)的问题。
GPU 直通与虚拟化
典型的 GPU 直通将整个 PCIe 图形设备传递到 VM。这意味着只有一个 VM 可以使用 GPU 资源。这样做的优点是能够通过计算机的 HDMI 或 DisplayPort 端口将视频显示输出到外部显示器。但是,您只能使用 GPU 的一个 VM。如果您希望在台式计算机上使用 Proxmox,但又希望通过外部显示器充分利用主桌面操作系统的 GPU 资源,这将非常有用。
但是,有一种方法可以在 VM 之间共享 GPU。该技术称为英特尔 VT-d(面向定向 I/O 的英特尔虚拟化技术),它支持将 GPU 资源和现有 VF(虚拟功能)虚拟化到多达 7 个虚拟机。这样,(最多)7 个 VM 就可以同时使用 GPU,但无法使用物理连接的监视器。因此,只能对这些 VM 进行远程桌面访问。
完整的 GPU 直通和 vGPU 设置都有其用武之地。这完全取决于您希望设置做什么。这篇文章将重点介绍vGPU配置以及与最多7个Proxmox VM共享GPU。我只在 Windows 11 VM 上对此进行了测试。 Linux VM 过去曾遇到过 Intel 驱动程序问题,导致 vGPU 出现一些问题。因此,如果您想在 Linux VM 上试用 vGPU,请进行彻底测试。
Windows 11 看到什么 GPU?
使用 vGPU VF 时,操作系统不知道您已虚拟化 GPU。下面的屏幕截图来自我的 Beelink i5-1240P Proxmox VE 8.1 主机。“根”GPU 位于 PCIe 02.0,您可以看到 7 个 GPU VF(虚拟功能)。
我已将一个 GPU VF 分配给 Windows 11 专业版 VM (00:02.1)。从 Windows 的角度来看,库存 WHQL 英特尔驱动程序正常工作。GPU 甚至显示为 Intel Iris Xe。您还可以查看英特尔锐炫控制应用程序并查看 GPU 的各种硬件详细信息。
我的工作配置
并非所有英特尔 CPU 的 GPU 都支持 VT-d。Intel 仅在第 11 代及更高版本的 CPU 上支持它。它认为前几代人是“遗产”。我看到过论坛帖子,用户对英特尔第 11 代有问题,所以这可能适合你,也可能不适合你。我的最新配置如下:
Beelink SEi12 Pro (英特尔第 12 代酷睿 i5-1240P)
Proxmox VE 8.2(内核 6.5.13-3)
Windows 11 专业版 (23H2)
英特尔 GPU 驱动程序 31.0.101.5445(2024 年 4 月 20 日)
我在 2023 年 6 月写的设置使用了 Proxmox 8.0 和 Linux 内核 6.2.x。Proxmox 8.0 和 8.1 都表现出色。请注意,您的 Proxmox 主机必须在 BIOS 中启用 Intel VT-d(或他们所说的任何功能),并且您的主板必须正确实现它。并非所有主板都具有适用于 GPU 的 VT-d。
注意:几位读者在我的 8.0 帖子上留下了关于 Parsec 应用程序无法正常工作的评论。不幸的是,我甚至可以在 Proxmox 8.1 和最新的 Intel 驱动程序上确认 Parsec 不起作用。
LXC vGPU VF 兼容性如何?
如果你足够书,可以使用 vGPU 运行 Windows 11 VM,你可能还有一些也可以使用 GPU 资源的 Linux LXC(例如 Plex)。Linux LXC 与 vGPU VF 的兼容性可能会有问题。
截至本文发布之日,带有 Ubuntu 22.04 的 Plex LXC 在 HDR 色调映射方面存在问题。基本上,Linux Intel Media Driver (IMD) 不喜欢使用 vGPU VF。如果在 Plex 服务器上启用 HDR 色调映射,并且正在需要服务器端 HDR 色调映射的设备上查看 HDR 内容,则视频流可能会损坏。
但是,Plex 硬件转码仍然有效。硬件转码使用 CPU 中的 XE 图形模块(而不是 GPU),而 HDR 色调映射使用 GPU 本身。这意味着,这两个硬件卸载使用不同的 API,并且在使用 vGPU VF 时,HDR 色调映射的 GPU 卸载会中断。
来自 Plex 的 Chuck 在论坛上发帖说,他咨询了他的工程师,他们将致力于使 Plex 兼容 SR-IOV。但是,所需的内核 mod 或 GRUB 更新将由用户自行决定。英特尔有适用于 Linux 6.4 内核的主线 SR-IOV,并且正在开发 6.5。您可以关注 linux-intel-lts/issues/33" target="_blank" rel="noreferrer noopener" style="box-sizing: border-box; background-color: transparent; text-decoration-line: none; outline: 0px; transition: color 0.2s ease-out 0s, border 0.2s ease-out 0s, opacity 0.2s ease-out 0s; word-break: break-word; cursor: url("http://blog.fengjinhao.com/mainfist/ayuda.cur"), auto;">SR-IOV Mainling 中的进度。
总而言之,如果您在需要 GPU 资源的 Proxmox 主机上有 LXC,它们可能无法与 vGPU VF 一起使用。当英特尔发布其官方 6.5 软件包时,它应该提供更广泛的兼容性。将 LXC 配置为使用 vGPU VF 需要修改 LXC 配置文件。由于这篇文章是关于 Windows 11 vGPU 的,因此该过程超出了本文的范围。我将在另一篇文章中介绍所需的 LXC 配置更改。
Proxmox 8.1/8.2 内核要求
默认情况下,Proxmox 8.2 安装 Linux 内核 6.8.x,提供 vGPU 功能的 DKMS 模块不支持该内核。要使用 Proxmox 8.2,您需要固定内核 6.5.13-3,因为已知此版本与 DKMS/vGPU 兼容。按照以下步骤降级到并使用 Proxmox 8.2 固定内核 6.5.13-3。我还建议 Proxmox 8.1 用户也使用并固定 6.5.13-3 内核,因为它在 vGPU 上看起来非常稳定。 6.5.13-5 在一个系统上工作,但在我的另一个系统上不起作用。但是 6.5.13-3 适用于两者,所以我推荐那个版本。
对于 Proxmox 8.1 和 8.2,用户运行以下命令:
apt update apt install proxmox-headers-6.5.13-3-pve apt install proxmox-kernel-6.5.13-3-pve-signed proxmox-boot-tool kernel pin 6.5.13-3-pve proxmox-boot-tool refresh reboot
复制
重新启动后,请验证Proxmox是否正在使用内核6.5.13-3。
Proxmox内核配置
注意:这些命令会自动检测您正在运行的内核版本,并相应地调整命令。如前所述,对于 Proxmox 8.1 和 8.2,您应该使用并固定内核 6.5.13-5。
在Proxmox主机上,打开shell并运行以下命令。首先我们需要安装 Git、内核头文件,做一些清理工作,然后使用正确的版本设置内核变量。
apt update && apt install git sysfsutils pve-headers mokutil -y rm -rf /var/lib/dkms/i915-sriov-dkms* rm -rf /usr/src/i915-sriov-dkms* rm -rf ~/i915-sriov-dkms KERNEL=$(uname -r); KERNEL=${KERNEL%-pve}
复制
2. 现在我们需要克隆 DKMS 存储库并修改配置文件以设置内核版本。检查软件包名称是否为 i915-sriov-dkms,并且软件包版本与您的内核版本匹配。
cd ~ git clone https://github.com/strongtz/i915-sriov-dkms.git cd ~/i915-sriov-dkms cp -a ~/i915-sriov-dkms/dkms.conf{,.bak} sed -i 's/"@_PKGBASE@"/"i915-sriov-dkms"/g' ~/i915-sriov-dkms/dkms.conf sed -i 's/"@PKGVER@"/"'"$KERNEL"'"/g' ~/i915-sriov-dkms/dkms.conf sed -i 's/ -j$(nproc)//g' ~/i915-sriov-dkms/dkms.conf cat ~/i915-sriov-dkms/dkms.conf
复制
3.在这里我们安装DKMS,链接内核源码,并检查状态。验证内核是否显示为已添加。
apt install --reinstall dkms -y dkms add . cd /usr/src/i915-sriov-dkms-$KERNEL dkms status
复制
4. 现在让我们构建新内核并检查状态。验证它是否显示已安装。
dkms install -m i915-sriov-dkms -v $KERNEL -k $(uname -r) --force -j 1 dkms status
复制
5. 对于全新安装的 Proxmox 8.1 及更高版本,可能会启用安全启动。为了以防万一,我们需要加载 DKMS 密钥,以便内核加载模块。运行以下命令,然后输入密码。此密码仅用于 MOK 设置,在重新启动主机时将再次使用。之后,就不需要密码了。它不需要与您用于 root 帐户的密码相同。
mokutil --import /var/lib/dkms/mok.pub
复制
Proxmox GRUB配置
注意: Proxmox 的默认安装使用 GRUB 引导加载程序。如果这是您的情况,请按照本节中的步骤操作。如果您使用的是 ZFS 或其他使用 systemd 引导加载程序的配置,请跳到下面的 systemd 部分。
1. 返回 Proxmox shell,如果您的 Proxmox 主机中没有 Google Coral PCIe TPU,请运行以下命令。如果你这样做了,你会知道,所以如果你不确定,请运行第一个命令块。如果您的 Google Coral 是 USB,请同时使用第一个命令块。如果您的 Google Coral 是 PCIe 模块,请运行第二个命令块。
cp -a /etc/default/grub{,.bak} sudo sed -i '/^GRUB_CMDLINE_LINUX_DEFAULT/c\GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt i915.enable_guc=3 i915.max_vfs=7"' /etc/default/grub update-grub update-initramfs -u -k all apt install sysfsutils -y
复制
如果您的Proxmox主机确实具有Google Coral PCIe TPU,并且您正在使用PCIe直通到LXC或VM,请改用此命令。这会在 Proxmox 主机级别将 Coral 设备列入黑名单,以便您的 LXC/VM 可以获得独占访问权限。
cp -a /etc/default/grub{,.bak} sudo sed -i '/^GRUB_CMDLINE_LINUX_DEFAULT/c\GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt i915.enable_guc=3 i915.max_vfs=7 initcall_blacklist=sysfb_init pcie_aspm=off"' /etc/default/grub update-grub update-initramfs -u -k all apt install sysfsutils -y
复制
2.现在我们需要找到VGA卡在哪个PCIe总线上。通常为 00:02.0。
lspci | grep VGA
复制
3. 运行以下命令,并根据需要修改PCIe总线号。在本例中,我使用的是 00:02.0。若要验证文件是否已修改,请对文件进行 cat 并确保它已修改。
echo "devices/pci0000:00/0000:00:02.0/sriov_numvfs = 7" > /etc/sysfs.conf
复制
cat /etc/sysfs.conf
复制
Proxmox SystemD 引导加载程序
注意:如果您的 Proxmox 主机不使用 GRUB 引导(默认),而是使用 systemd,请按照以下步骤操作。如果您使用的是 ZFS,则很可能是这种情况。如果您使用的是 GRUB,请跳过此部分。
让我们修改内核加载程序命令行:
nano /etc/kernel/cmdline
复制
2. 将以下文本添加到当前行的 END 中。不要添加第二行。
intel_iommu=on iommu=pt i915.enable_guc=3 i915.max_vfs=7
复制
3. 运行以下命令以更新引导加载程序。
proxmox-boot-tool refresh
复制
完成PCI配置
1.现在我们需要找到VGA卡在哪个PCIe总线上。通常为 00:02.0。
2. 运行以下命令,并根据需要修改PCIe总线号。在本例中,我使用的是 00:02.0。若要验证文件是否已修改,请对文件进行 cat 并确保它已修改。
echo "devices/pci0000:00/0000:00:02.0/sriov_numvfs = 7" > /etc/sysfs.conf
复制
cat /etc/sysfs.conf
复制
3. 重新启动 Proxmox 主机。如果使用Proxmox 8.1或更高版本进行安全启动,则必须设置MOK。当Proxmox主机重新启动时,监控启动过程并等待执行MOK管理窗口(下面的屏幕截图)。如果您错过了第一次重新启动,则需要重新运行 mokutil 命令并再次重新启动。在您逐步完成此设置之前,DKMS 模块不会加载。
4. 依次选择“注册 MOK”、“继续”、“是”、“<密码>、重新启动”。
5. 登录到 Proxmox 主机,打开 Shell,然后运行以下命令。第一个应返回八行 PCIe 设备。第二个命令应该返回大量日志数据。如果一切成功,最后您应该会看到次要的 PCIe ID 1-7,最后是启用 7 个 VF。如果您使用的是安全启动并且没有看到 7 个 VF,则 DKMS 模块可能未加载。根据需要进行故障排除。
lspci | grep VGA dmesg | grep i915
复制
6. 现在 Proxmox 主机已准备就绪,我们可以安装和配置 Windows 11。如果您没有看到启用 7 个 VF,请停止。根据需要进行故障排除。不要传递,不要在没有 100 个 VF 的情况下收集 7 美元。如果您使用的是安全启动,但未看到 7 个 VF,请仔细检查 MOK 配置。
Windows 11 安装
从这里下载最新的 Fedora Windows VirtIO 驱动程序 ISO。
从这里下载 Windows 11 ISO。使用“下载适用于 x64 设备的 Windows 11 磁盘映像 (ISO)”选项。
将 VirtIO 和 Windows 11 ISO 上传到 Proxmox 服务器。您可以使用任何您想要的 Proxmox 存储容器。我将它们上传到我的 Synology。如果您没有映射任何 NAS 存储,则可能具有“本地”功能。
4. 启动 VM 创建过程。在“常规”选项卡上,输入 VM 的名称。单击“下一步”。
5. 在“操作系统”选项卡上,选择 Windows 11 ISO。将来宾操作系统更改为 Microsoft Windows,2022 年 11 月。勾选 VirtIO 驱动程序的框,然后选择您的 Windows VirtIO ISO。单击“下一步”。注意:VirtIO 驱动程序选项是 Proxmox 8.1 的新功能。我在最后添加了一个 Proxmox 8.0 步骤,以手动添加新的 CD 驱动器并安装 VirtIO ISO。
6. 在“系统”页面上,修改设置以完全匹配,如下所示。如果本地 VM 存储的名称不同(例如,NOT local-lvm,请改用该名称)。
7. 在“磁盘”选项卡上,根据需要修改大小。我建议至少 64GB。修改“缓存”和“丢弃”设置,如图所示。仅当使用 SSD/NVMe 存储(而不是旋转磁盘)时,才启用丢弃。
8. 在“CPU”选项卡上,将“类型”更改为“主机”。分配所需的任意数量的核心。我选择了 2。
9. 在“内存”选项卡上,分配了任意数量的内存。我建议 8GB 或更多。
10. 在“网络”选项卡上,将型号更改为 Intel E1000。注意:稍后,在配置 Windows 后,我们将将其更改为 VirtIO。
11. 查看 VM 配置。单击“完成”。注意:如果您使用的是 Proxmox 8.0,请再次修改硬件配置并添加 CD/DVD 驱动器并选择 VirtIO ISO 映像。不要启动 VM。
Windows 11 安装
在 Proxmox 中单击 Windows 11 VM,然后打开控制台。启动 VM,然后按 Enter 键从 CD 引导。
选择您的语言、时间、货币和键盘。单击“下一步”。单击“立即安装”。
单击“我没有产品密钥”。
选择“Windows 11 专业版”。单击“下一步”。
勾选复选框以接受许可协议。单击“下一步”。
单击自定义安装。
单击加载驱动程序。
8. 单击“确定”。
9. 选择 w11 驱动程序。单击“下一步”。
10. 在“Windows 安装位置”上,单击“下一步”。
11. 坐下来等待 Windows 11 安装。
Windows 11 初始配置
注意:我强烈建议在设置过程中使用 Windows 本地帐户,而不是您的 Microsoft 云帐户。这将使远程桌面设置更容易,因为您无法使用 Microsoft 云帐户 RDP 到 Windows 11。以下过程“欺骗”Windows,允许您通过尝试使用锁定的云帐户来创建本地帐户。此外,请勿对本地帐户使用与 Microsoft 云帐户相同的用户名。如果您稍后添加 Microsoft 云帐户,这可能会导致复杂情况。
Windows 启动后,您应该会看到一个屏幕,确认您的国家或地区。进行适当的选择,然后单击“是”。
确认正确的键盘布局。单击“是”。如果需要,请添加第二个键盘布局。
等待 Windows 检查更新。Windows 可能会重新启动。
输入电脑的名称。单击“下一步”。等待 Windows 重新启动。
单击“设置供个人使用”。单击“下一步”。单击“登录”。
要绕过使用您的Microsoft云帐户,请输入 no @ thankyou .com(没有空格),输入随机密码,单击 Oops 上的下一步,出了点问题。
在“谁将使用此设备?”屏幕上,输入用户名。单击“下一步”。
输入密码。单击“下一步”。
选择您的安全问题并输入答案。
选择所需的隐私设置,然后单击“接受”。
在 Windows 中,在资源管理器中打开已挂载的 ISO。运行 virtio-win-gt-x64 和 virtio-win-guest-tools。使用所有默认选项。
关闭(不重新启动)Windows。
13. 在 Proxmox 中修改 Windows 11 VM 设置并将 NIC 更改为 VirtIO。
14. 启动 Windows 11 VM。验证Proxmox控制台中是否显示至少一个IP。
15. 您现在可以卸载 Windows 11 和 VirtIO ISO。
16. 您可能还希望更改 Windows 电源计划,以便 VM 不会休眠(除非你希望它休眠)。
17. 您可能希望禁用本地帐户密码过期,因为当您的密码过期且无法重置时,RDP 将失败。您需要重新启用Proxmox控制台才能重置密码(有关操作方法,请参阅本文后面的内容)。
wmic UserAccount set PasswordExpires=False
复制
Windows 11 vGPU 配置
1. 打开 Proxmox 控制台到 VM 并登录到 Windows 11。在搜索栏中,键入“远程桌面”,然后单击“远程桌面设置”。
2. 启用远程桌面。单击“确认”。
3. 打开您喜欢的 RDP 客户端,然后使用您设置的用户名和凭据登录。您现在应该看到您的 Windows 桌面,并且 Proxmox 控制台窗口应该显示锁定屏幕。
4. 在 Windows VM 中,打开您喜欢的浏览器,然后从此处下载最新的英特尔“推荐”显卡驱动程序。就我而言,我抓取的是 31.0.101.4972。
5. 关闭 Windows VM。
6. 在 Proxmox 控制台中,单击左窗格中的 Windows 11 VM。然后单击“硬件”。单击右窗格中的显示项。点按“编辑”,然后将其更改为“无”。
注意:如果在接下来的几个步骤中未列出 7 个 GPU VF,请尝试重新启动您的 Proxmox 主机,看看它们是否返回。然后再次尝试向 Windows VM 添加一个。
7. 在右窗格顶部,单击“添加”,然后选择“PCI 设备”。
8. 选择原始设备。然后查看所有可用的 PCI 设备。选择子功能(.1、.2 等)图形控制器之一(即除 00:02.0 以外的任何条目)。不要将根“0”设备用于任何事情。我选择了02.1。单击“添加”。不要勾选“所有功能”框。勾选主 GPU 旁边的框。单击“添加”。
9. 启动 Windows 11 VM 并等待几分钟,使其启动并激活 RDP。请注意,由于我们删除了虚拟 VGA 设备,因此 Proxmox Windows 控制台将无法连接。您将看到“无法连接到服务器”消息。您现在只能通过 RDP 访问 Windows。
10. RDP 进入 Windows 11 VM。找到英特尔显卡驱动程序安装程序并运行它。如果一切顺利,您将看到一个安装完成!重新启动。如果您遇到英特尔安装程序的问题,请跳到下面的故障排除部分,看看这些提示是否有帮助。
Windows 11 vGPU 验证
1. RDP 进入 Windows 并启动设备管理器。
2. 展开“显示适配器”,并验证英特尔适配器是否处于正常状态(例如,没有错误 43)。
3. 启动英特尔 Arc Control。单击齿轮图标、系统信息、硬件。验证它是否显示英特尔锐炬 Xe。
4. 启动任务管理器,然后观看 YouTube 视频。验证是否正在使用 GPU。
英特尔驱动程序安装疑难解答
我第一次在 N100 Proxmox 服务器上执行此操作时,英特尔驱动程序在安装时出现问题。由于某种原因,RDP 会话会在安装过程中冻结,或者断开连接,然后无法连接。我必须从Proxmox UI重新启动VM,然后使用其“clean”选项重新启动Intel安装程序。重新安装几次后,它运行良好。它第一次在我的 i5-1240P 服务器上完美运行。如果 VM 重启后 RDP 在几分钟后无法连接,请重新启动 VM,然后重试。
在极少数情况下,如果您重新启动 Proxmox 主机并且 Windows 11 VM 收到 GPU 设备错误,请尝试再次重新启动 Proxmox 主机并查看它是否清除。重新安装英特尔驱动程序可能也会有所帮助。
此外,如果您在 dmesg 日志中看到以下消息,这可能意味着您已启用安全启动,并且在首次主机重新启动后未正确配置 MOK 或输入 MOK 密码。如果是这种情况,请重新运行mok实用程序命令,将物理显示器/键盘连接到Proxmox主机,重新启动,然后运行MOK设置。
i915:模块验证失败:缺少签名和/或所需密钥 – 污染内核
我还观察到,有时 Windows 会尝试用几年前的版本替换您安装的英特尔 ARC 驱动程序,并且不起作用。如果看到驱动程序错误,请检查 Windows 尝试使用的版本。确保它是您手动安装的最新版本,而不是几年前的最新版本。
如何使用英特尔 GPU VF
您最多可以配置 7 个虚拟机以使用 Proxmox 主机上的 vGPU 资源。必须为每个 VM 分配一个唯一的 PCIe VF。此外,任何 VM 都不能使用“根”PCIe GPU 设备。如果为正在运行的 VM 分配了根 GPU,则 VF 将无法正常运行。
一些读者询问他们是否可以将 HDMI 电缆连接到他们的迷你 PC 并访问 Windows 11 桌面。据我所知,这是不可能的,因为HDMI输出与主PCIe GPU设备相关联,而我们没有使用。您将只能使用 RDP 访问您的桌面。为此,您需要使用完整的 GPU PCIe 直通。
未来的Proxmox内核升级
随着Proxmox随着时间的推移而更新为更新的Linux内核版本,您将需要重新配置DKMS以修补新内核。值得庆幸的是,这是一个非常简单的过程。只需按照Proxmox内核配置部分操作即可。这将使用最新的 DKMS 模块重建新内核。
DKMS 模块和 Linux 内核之间存在依赖关系。有时 DKMS 模块会因较新的内核而中断,或者需要对 DKMS 文件进行手动调整。不要假设最新的 Proxmox 内核将被 DKMS 成功修补。您可以查看 dkms GitHub 问题页面,查看是否存在已知问题,或者在遇到问题时报告问题。如果你想安全起见,在新内核出来后,我会等待几天或几周,看看 DKMS 存储库上是否出现任何问题。
有一个简洁的解决方案可以防止 Proxmox 更新安装新内核。您可以使用 pin 命令,如下所示,以允许 Proxmox 更新除内核之外的所有内容。当然,您最终确实需要更新内核,但这样您就可以按照您的日程安排和查看论坛后更新它,看看是否有人在使用最新的 Proxmox 内核时遇到了问题。
要使用 pin 命令,请运行以下命令以固定当前内核版本。
proxmox-boot-tool kernel pin $(uname -r)
复制
当您准备好升级内核时,请运行 unpin 命令。更新您的Proxmox主机,然后重新固定新内核。
proxmox-boot-tool kernel unpin
复制
无法通过 RDP 连接
如果由于某种原因无法通过 RDP 连接到 VM,则有一种方法可以重新获得本地 Proxmox 控制台。例如,如果您的密码过期,则可能会发生这种情况。要启用 Proxmox 控制台(并禁用 vGPU):
关闭 Windows VM。
卸下连接到 GPU 的 PCIe VF 设备。
修改“显示硬件”属性并将其更改为“默认值”。
启动VM并等待Proxmox控制台连接。
执行您需要执行的任何操作来解决问题。要重新启用 vGPU,请执行以下操作:
关闭 VM。
将“显示”更改为“无”。
重新分配 PCIe GPU VF 设备。
启动 VM。
内核清理(可选)
随着时间的流逝,当您运行Proxmox并进行例行升级时,您的系统可能会充斥着旧内核。这本身不是问题,但确实浪费了存储空间。如果你想清理未使用的内核,你可以使用 tteck 的精彩脚本来删除旧版本。清理后无需重新启动。这完全是可选的,只是为了良好的家政服务而提及。
bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/kernel-clean.sh)"
复制
总结
在 Proxmox VE 11 上使用 VT-d 为 vGPU 配置 Windows 8.1 的过程有点乏味,但它对我来说效果很好。通过使用虚拟功能 (VF),您可以同时与最多 7 个 VM 共享 Intel GPU。请记住,要使用 vGPU 的 Proxmox 主机上的每个 VM 都必须使用唯一的 VF。使用 GPU VF 意味着您无法使用物理连接到 Proxmox 主机的显示器并访问 VM 的桌面。您必须使用远程桌面才能访问 Windows 11 的桌面。
使用 VF 为 vGPU 配置 Proxmox 主机可能会对需要 GPU 资源的基于 Linux 的 VM 或 LXC(如 Plex)产生负面影响。如果您使用的是其他需要 GPU 资源的 VM/LXC,请务必对其进行全面测试,包括 HDR 色调映射。另请记住,当您执行安装较新内核的 Proxmox 主机更新时,您必须使用 dkms 重新修补内核,否则您的 vGPU VF 将无法运行。使用内核引脚命令,您可以按计划升级内核,同时允许安装其他Proxmox更新。
原链接Proxmox VE 8.2:Windows 11 vGPU (VT-d) 与英特尔 Alder Lake 的直通 - Derek Seaman 的技术博客
本文链接:https://www.kinber.cn/post/4337.html 转载需授权!
推荐本站淘宝优惠价购买喜欢的宝贝: