Windows 检查 VirtualBox VM 的硬件 UUID 以进行激活。有没有办法在 KVM 中使用相同的 UUID 来防止重新激活?
答案1
Windows 使用多个硬件 uuid 进行激活。不仅仅是主板或 CPU uuid。它会扫描许多硬件。如果超过 20% 的硬件 uuid 发生更改,则会吊销许可证或需要重新激活。
我不确定 VirtualBox 是否如此,但在 VMWare 中,UUID 来自 VM 目录名称和位置。这就是为什么它会询问您是否移动或复制了它。
您可以尝试使用 wmic 从命令行获取尽可能多的 uuid,例如:
wmic csproduct get "UUID"
或者
wmic nic get "MACAddress"
然后尝试编辑并输入相同的 uuidvirsh edit YourMachineName
您可能是第一个做到这一点的人:)因为我从未见过有人提及这一点。
最后的答案是,Windows 激活并不是那么简单。
编辑(2021年5月6日): 在 KVM 中,可以自定义然后 OOBE windows 10,使其表现得像全新安装一样。您还可以自定义 pci-e 根集线器架构,为内存提供序列号等。这只是冰山一角,linux 上 qemu-kvm 的 libvirt 配置 xml 如下:
<domain type='kvm'>
<name>VMNAME</name>
<uuid>SMBIOSUUID</uuid>
<memory unit='KiB'>3384000</memory>
<currentMemory unit='KiB'>3384000</currentMemory>
<vcpu placement='static' current='2'>4</vcpu>
<sysinfo type='smbios'>
<bios>
<entry name='vendor'>CWRK</entry>
<entry name='version'>1.32</entry>
<entry name='date'>11/10/2020</entry>
<entry name='release'>1.1.3</entry>
</bios>
<system>
<entry name='manufacturer'>CWRK</entry>
<entry name='product'>RCKSLD-WS</entry>
<entry name='version'>1.0</entry>
<entry name='serial'>SYSSERIAL</entry>
<entry name='uuid'>SMBIOSUUID</entry>
<entry name='sku'>SMBIOSSKU</entry>
</system>
<baseBoard>
<entry name='manufacturer'>CWRK</entry>
<entry name='product'>RCS001</entry>
<entry name='version'>0B12201 Pro</entry>
<entry name='serial'>BASEBOARDSERIAL</entry>
</baseBoard>
</sysinfo>
<os>
<type arch='x86_64' machine='pc-q35-2.11'>hvm</type>
<loader readonly='yes' type='pflash'>OVMFCODE</loader>
<nvram>OVMFVARS</nvram>
<boot dev='hd'/>
<smbios mode='sysinfo'/>
</os>
如果可以的话,请迁移,甚至考虑嵌套虚拟化。Windows-VirtualBox(Ubuntu-KVM(与 Windows 安装相同的硬件))可能可行