Windows は、アクティベーションのために VirtualBox VM のハードウェア UUID をチェックします。再アクティベーションを防ぐために KVM で同じ UUID を使用する方法はありますか?
答え1
Windows は、アクティベーションに複数のハードウェア UUID を使用します。マザーボードや CPU UUID だけではありません。多くのハードウェアをスキャンします。たとえば、ハードウェア UUID の 20% 以上が変更されると、ライセンスが取り消されるか、再アクティベーションが必要になります。
VirtualBox についてはよくわかりませんが、VMWare の場合、UUID は VM ディレクトリの名前と場所から取得されます。そのため、移動したかコピーしたかを尋ねられます。
たとえば、wmic を使用してコマンド ラインから uuid を取得してみることができます。
wmic csproduct get "UUID"
または
wmic nic get "MACAddress"
次に、同じUUIDを編集して入力してみてください。virsh edit YourMachineName
おそらく、これを達成できたのはあなたでしょう :) 誰もこれについて言及しているのを見たことがないので。
最終的な答えとして、Windows のアクティベーションはそれほど簡単には機能しません。
編集(2021年5月6日): KVM では、カスタマイズしてから Windows 10 を OOBE して、クリーン インストールのように動作させることができます。また、PCI-E ルート ハブ アーキテクチャをカスタマイズしたり、RAM にシリアル番号を割り当てたりすることもできます。氷山の一角に過ぎませんが、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 インストール)) が可能な場合があります。