把 Windows 11/10 不完全转换为 Windows Server 2022
大家都知道 Windows 的功能其实很强大,但你并不总能够在同一个 Windows SKU 上享用所有功能。这一点在 Hyper-V 方面尤其明显。常见的 Windows 10 和 11 专业版尽管支持部分 Hyper-V 功能,但是要想享受完整的功能,则必须使用 Server 版本。
前几天,我计划跟随 这篇教程,来把我的无线网卡透传进 Hyper-V 虚拟机并且运行 OpenWRT 软 AP。但不出意料的是,它所依赖的 PCIe 设备直通功能(Discrete Device Assignment)需要 Windows Server 系统才能正常使用。否则当你进行完 Add-VMAssignableDevice
之后,尝试启动虚拟机时,会得到以下提示:
但是,我并不想花费大力气把用得好好的系统抹掉然后重新安装 Server 版本。考虑到这里的启动限制应该只是检查一下 SKU,我们并不需要真正的完整 Server 功能,那么有没有一种办法能无损把系统记录的 SKU 从 Windows 11 Enterprise 变成 Windows Server 2022 呢?答案是有的。我在 reddit 找到了一个方案,具体操作步骤如下:
- 取得一个 Windows Server 2022 的 ISO,解压其中的 install.wim
- 把 wim 镜像里面 Datacenter 版本的
Windows\Branding
和Windows\System32\spp\tokens\skus
两个文件夹提取出来(用7z即可) - 把当前系统的这两个文件夹剪切出来,备份
- 把提取出的文件夹替换到当前系统的对应位置
- 使用管理员权限执行
slmgr.vbs /rilc
重新安装许可证文件。 - 使用
slmgr.vbs /ipk 密钥
来安装密钥。如果你使用 KMS,则可以在微软官方页面找到对应的密钥。 - 自行想办法激活 Windows
- 等待一会,重启一下。
- 然后再等待一会,重启第二次。这次重启应该会提示「正在配置功能」或者「正在安装更新」之类的。
- 第二次重启完进入系统,应该就能够使用 Server 的功能了,同时原来属于 Windows 10/11 的功能则会被隐藏(如 Windows 11 输入法、移动热点、Windows Hello等)
通过以上方式,我成功地启动了使用 DDA 功能的虚拟机,并使用透传其中的 AX200 开启热点。
如果你希望把版本再度转换为 Windows 10/11,则只需要把之前备份的两个文件夹恢复回原位,并重启两次即可。