第 4 章 优化 Windows 虚拟机
当在 RHEL 10 中托管的虚拟机(VM)中使用 Microsoft Windows 作为客户机操作系统时,客户机的性能可能会受到负面影响。
因此,您可以通过执行以下操作的任意组合来优化 Windows 虚拟机的性能:
- 使用半虚拟驱动程序。如需更多信息,请参阅为 Windows 虚拟机安装 KVM 半虚拟驱动程序。
- 启用 Hyper-V enlightenments。如需更多信息,请参阅启用 Hyper-Vlightenments。
- 配置 NetKVM 驱动程序参数。如需更多信息,请参阅配置 NetKVM 驱动程序参数。
- 优化或禁用 Windows 后台进程。如需更多信息,请参阅优化 Windows 虚拟机上的后台进程。
4.1. 为 Windows 虚拟机安装 KVM 半虚拟驱动程序 复制链接链接已复制到粘贴板!
提高 Windows 虚拟机(VM)性能的主要方法是为客户机操作系统上的 Windows 安装 KVM 半虚拟化(virtio)驱动程序。
virtio-win 驱动程序针对 Windows 10 和 11 的最新版本进行了认证(WHQL),可在相应的 virtio-win 发布时提供。但是,virtio-win 驱动程序通常经过了测试,并可望在 Windows 10 和 11 之前的构建中正常工作。
要在 Windows 虚拟机上安装驱动程序,请执行以下操作:
- 在主机机器上准备安装介质。如需更多信息,请参阅在主机中准备 virtio 驱动程序安装介质。
- 将安装介质附加到现有 Windows 虚拟机,或者在创建新 Windows 虚拟机时附加该介质。如需更多信息,请参阅在 RHEL 上安装 Windows 虚拟机。
-
在 Windows 客户机操作系统上安装
virtio驱动程序。如需更多信息,请参阅在 Windows 客户端中安装 virtio 驱动程序。 -
在 Windows 客户机操作系统上启用
QEMU 客户机代理。如需更多信息,请参阅在 Windows 客户机 上安装 QEMU 客户机代理。
4.1.1. Windows virtio 驱动程序如何工作 复制链接链接已复制到粘贴板!
半虚拟化驱动程序通过降低 I/O 延迟并提高几乎裸机级别的吞吐量来提高虚拟机(VM)的性能。您可以将半虚拟化驱动程序用于运行 I/O 密集型任务和应用程序的虚拟机。
VirtIO 驱动程序是 KVM 的半虚拟化设备驱动程序,适用于在 KVM 主机上运行的虚拟机。这些驱动程序由 virtio-win 软件包提供,其中包括用于以下目的的驱动程序:
- 块(存储)设备
- 网络接口控制器
- 视频控制器
- 内存 ballooning 设备
- 半虚拟串口设备
- 熵源设备
- 半虚拟 panic 设备
- 输入设备,如鼠标、键盘或平板电脑
- VirtIO FS 设备
- QEMU FwCfg 设备
- 一组小型模拟设备
有关模拟、virtio 和分配设备的更多信息,请参阅 将主机设备附加到虚拟机。
通过使用 KVM virtio 驱动程序,预计以下 Microsoft Windows 版本的运行方式与物理系统类似:
- Windows Server 版本:请参阅红帽知识库中的 具有 KVM 的 Red Hat Enterprise Linux 的认证的客户机操作系统 。
Windows Desktop (非服务器)版本:
- Windows 10 (32 位和 64 位版本)
- Windows 11 (64 位)
4.1.2. 在主机中准备 virtio 驱动程序安装介质 复制链接链接已复制到粘贴板!
要在 Windows 虚拟机(VM)中安装或更新 KVM virtio 驱动程序,您必须首先在主机上准备 virtio 驱动程序安装介质。为此,请将 virtio-win 软件包提供的 .iso 文件作为存储设备附加到 Windows 虚拟机。
先决条件
- 确定在 RHEL 10 主机系统中启用了虚拟化。如需更多信息,请参阅准备 RHEL 来托管虚拟机。
- 确保具有虚拟机的 root 访问权限。
流程
刷新您的订阅数据:
subscription-manager refresh
# subscription-manager refresh All local data refreshedCopy to Clipboard Copied! Toggle word wrap Toggle overflow 获取
virtio-win软件包的最新版本。如果没有安装
virtio-win:dnf install -y virtio-win
# dnf install -y virtio-winCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果安装了
virtio-win:dnf upgrade -y virtio-win
# dnf upgrade -y virtio-winCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果安装成功,则
virtio-win驱动程序文件位于/usr/share/virtio-win/目录中。这包括ISO文件和包含驱动程序文件的drivers目录,每个体系结构和支持 Windows 版本对应一个。ls /usr/share/virtio-win/
# ls /usr/share/virtio-win/ agents.json drivers/ guest-agent/ info.json /installer /qxl-wddm-dod release-drivers-versions.txt /spice-vdagent /tools virtio-win-1.9.45.iso virtio-win.isoCopy to Clipboard Copied! Toggle word wrap Toggle overflow
将
virtio-win.iso文件作为存储设备附加到 Windows 虚拟机。-
在创建新 Windows 虚拟机时,请使用
virt-install命令选项附加文件。 当在现有 Windows 虚拟机上安装驱动程序时,请使用
virt-xml工具将文件附加为 CD-ROM:virt-xml WindowsVM --add-device --disk virtio-win.iso,device=cdrom
# virt-xml WindowsVM --add-device --disk virtio-win.iso,device=cdrom Domain 'WindowsVM' defined successfully.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
在创建新 Windows 虚拟机时,请使用
4.1.3. 在 Windows 客户端中安装 virtio 驱动程序 复制链接链接已复制到粘贴板!
要在 Windows 客户机操作系统上安装 KVM virtio 驱动程序,您必须添加一个包含驱动程序(在创建虚拟机(VM)之前或之后)的存储设备,并在 Windows 客户机操作系统中安装驱动程序。
此流程提供了使用图形界面安装驱动程序的说明。您还可以使用 Microsoft Windows Installer (MSI) 命令行界面。
先决条件
-
带有 KVM
virtio驱动程序的安装介质必须附加到虚拟机。有关准备该介质的步骤,请参考在主机中准备 virtio 驱动程序安装介质。 -
带有 KVM
virtio驱动程序的存储介质必须附加到 Windows 虚拟机中。
流程
-
在 Windows 客户机操作系统中,打开
File Explorer应用程序。 -
单击
This PC。 -
在
Devices and drives窗格中,打开virtio-win介质。 根据安装在虚拟机上的操作系统,运行其中一个安装程序:
-
如果使用 32 位操作系统,请运行
virtio-win-gt-x86.msi安装程序。 -
如果使用 64 位操作系统,请运行
virtio-win-gt-x64.msi安装程序。
-
如果使用 32 位操作系统,请运行
在打开的
Virtio-win-driver-installer设置向导中,请按照显示的说明进行操作,直到到达Custom Setup步骤。- 在 Custom Setup 窗口中,选择您要安装的设备驱动程序。会自动选择建议的驱动程序集,驱动程序的描述显示在列表右侧。
- 单击 ,然后单击 。
- 安装完成后,点。
- 重启虚拟机以完成驱动程序安装。
验证
在 Windows 虚拟机上,进到 Device Manager :
- 点 Start
- 搜索 Device Manager
确保设备使用正确的驱动程序:
- 点击设备来打开 Driver Properties 窗口。
- 进到 Driver 选项卡。
- 单击 Driver Details。
后续步骤
- 如果安装了 NetKVM 驱动程序,您可能还需要配置 Windows 客户机的网络参数。如需更多信息,请参阅配置 NetKVM 驱动程序参数。
4.1.4. 更新 Windows 客户机上的 virtio 驱动程序 复制链接链接已复制到粘贴板!
要更新 Windows 客户机操作系统(OS)上的 KVM virtio 驱动程序,如果 Windows OS 版本支持,您可以使用 Windows Update 服务。如果不支持,请从附加到 Windows 虚拟机(VM)的 virtio 驱动程序安装介质中重新安装驱动程序。
先决条件
- 安装了 virtio 驱动程序的 Windows 客户机操作系统。
-
如果没有使用
Windows Update,则必须将带有最新 KVMvirtio驱动程序的安装介质附加到 Windows 虚拟机上。有关准备该介质的步骤,请参考在主机中准备 virtio 驱动程序安装介质。
步骤 1:使用 Windows Update 更新驱动程序
在 Windows 10 上,Windows Server 2016 及更新版本的操作系统,使用 Windows Update 图形界面检查驱动程序更新是否可用:
- 启动 Windows 虚拟机,并登录到其客户机操作系统。
进入dao Optional updates 页面:
Settings
Windows Update Advanced options Optional updates - 从 Red Hat, Inc. 安装所有更新。
流程 2:通过重新安装来更新驱动程序
在 Windows 10 和 Windows Server 2016 之前的操作系统上,或者操作系统无法访问 Windows 更新,请重新安装驱动程序。这会将 Windows 客户机操作系统的网络配置恢复到默认值(DHCP)。如果要保留自定义网络配置,还需要创建一个备份并使用 netsh 工具恢复它:
- 启动 Windows 虚拟机,并登录到其客户机操作系统。
打开 Windows 命令提示符:
- 使用 Super+R 键盘快捷键。
-
在显示的窗口中,输入
cmd并按 Ctrl+Shift+Enter 以管理员身份运行。
使用 Windows 命令提示备份 OS 网络配置:
backup.txt
C:\WINDOWS\system32\netsh dump > backup.txtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 从附加的安装介质重新安装 KVM
virtio驱动程序。执行以下操作之一:使用 Windows 命令提示重新安装驱动程序,其中 X 是安装介质盘符。以下命令安装所有
virtio驱动程序。如果使用 64 位 vCPU:
C:\WINDOWS\system32\msiexec.exe /i X:\virtio-win-gt-x64.msi /passive /norestart
如果使用 32 位 vCPU:
C:\WINDOWS\system32\msiexec.exe /i X:\virtio-win-gt-x86.msi /passive /norestart
C:\WINDOWS\system32\msiexec.exe /i X:\virtio-win-gt-x86.msi /passive /norestartCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- 在不重启虚拟机的情况下 ,使用图形界面 重新安装驱动程序。
使用 Windows 命令提示恢复 OS 网络配置:
C:\WINDOWS\system32\netsh -f backup.txt
C:\WINDOWS\system32\netsh -f backup.txtCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 重启虚拟机以完成驱动程序安装。