---
date: 2024-04-29
lastmod: 2024-12-06
title: 利用 GPU-Passthrough 配置一个接近原生性能和 3D 加速的 Windows 虚拟机
tags: [Arch Linux, Windows, QEMU]
---

Update:

-   2024.11.16: 添加 Window 11 章节。添加杂项中关于 RDP 的说明。
-   2024.08.20: 使用 VirtIO tablet 代替 LG 文档推荐的 VirtIO mouse，以解决按住键盘时鼠标左键不工作的问题。
    -   <https://discord.com/channels/804108879436316733/1006743827664617673/threads/1186791359043084298>

    -   症状相同。也可以通过调整 Windows 触摸板设置（改成最高敏感度）解决：

    -   ![assets/Pasted image 20240820141111.png](assets/9b6777fe00fa0c81845980efb4812a9188846d1f.png "wikilink")
-   2024.08.18: 添加 QEMU 磁盘管理章节。

贴一下最终配置，有空更新一下 Arch Wiki

client.ini

``` ini
[app]
shmFile=/dev/kvmfr0

[input]
escapeKey=KEY_F12

[win]
fullScreen=no
```

-   注意不能默认全屏，否则会有缩放问题，显示模糊。
-   host.ini: 默认
-   全部使用 B7-rc
-   win10.xml: <https://gist.github.com/heddxh/932a7539dcad09ca3bc86c5d9fa1c346>

在虚拟机中保留 windows 基本显示适配器，在设置 -\>屏幕中仅使用独显的输出（仅第二块屏幕），相比复制/扩展可以显著提升性能。See: <https://discord.com/channels/804108879436316733/1235195862716776499>

## Windows 11 {#windows-11}

由于 Windows 11 引入了 TPM、安全启动等检查，因此需要一些额外的步骤。See: <https://sysguides.com/install-a-windows-11-virtual-machine-on-kvm>

第一次进去系统跳过网络连接和联网账户：<https://support.onshopfront.com/hc/en-us/articles/28885890746253-How-to-Bypass-the-Internet-and-Microsoft-Account-Requirement-During-Windows-11-Setup>

## QEMU 磁盘管理 {#qemu-磁盘管理}

### 为 Window 客户机添加磁盘 {#为-window-客户机添加磁盘}

创建新磁盘并关闭 CoW，见 <https://wiki.archlinux.org/title/QEMU#Creating_a_hard_disk_image>

``` shell
sudo qemu-img create -f qcow2 games.qcow2 -o nocow=on 80G`
```

在 virt-manager 添加磁盘，然后启动 WIndows，利用磁盘工具进行分区和格式化

### 主机挂载 QEMU 磁盘 {#主机挂载-qemu-磁盘}

见： <https://wiki.archlinux.org/title/QEMU#Mounting_a_partition_from_a_qcow2_image>

### 为系统盘创建 overlay 作为快照 {#为系统盘创建-overlay-作为快照}

见： <https://wiki.archlinux.org/title/QEMU#Overlay_storage_images>

``` shell
qemu-img create -o backing_file=win10.qcow2,backing_fmt=qcow2 -f qcow2 win10-active.qcow2
```

然后在 virt-manager 把启动盘指向 `win10-active.qcow2`。

如果想要将改动同步到原始镜像：

``` shell
qemu-img commit win10-active.qcow2
```

## 杂项

### 在虚拟机内连接宿主机

开箱即用。对于 KDE 自带的 RDP Server，需要在 Windows 组策略中禁用。客户端硬件加速。（可能需要禁用远程桌面连接设置中的位图缓存）
