这个问题实际上与Solidworks无关,因此请继续阅读。
虚拟化的整体思想是与硬件无关。在我们眼前,正在创建一个全新的依赖级别-附加到虚拟机管理程序。
据我所知,以某种方式找到解决此问题的方法并不违反我国的Solidworks许可和当地法律。
我的客户和我想在KVM虚拟机上激活Solidworks产品。出于某些奇怪的原因(应该对Hyper-V和VMware进行良好的测试:),Solidworks 2015 PDM的(开发人员)不希望在Qemu-KVM上激活他们的产品(2014年最后一个版本正常)。
http://www.solidworks.com/sw/support/11168_ENU_HTML.htm
我在用:
如您所见,它是Windows 2012和Solidworks PDM安装的基于KVM的虚拟机。
问题:除了检查之外,他们还能检查我是否在Qemu-KVM中运行我的VM:
- VM的以太网适配器的MAC地址,
- 设备驱动程序标签,
- CPU型号
- ACPI表。
接下来的几个小时,我将排除上述问题,但我想知道您是否还有其他想法。
解决方案:
事实证明,他们验证了两件事:
- 正如迈克尔·汉普顿正确地指出有
-cpu,kvm=off
选项
禁用CPUID 0x40000000叶子。
- 来宾上的ACPI表。
qemu命令行参数的相关部分:
-cpu host,kvm=off -smbios type=0,vendor=LENOVO,version=FBKTB4AUS,date=07/01/2015,release=1.180 -smbios type=1,manufacturer=LENOVO,product=30AH001GPB,version=ThinkStation P300,serial=S4M88119,uuid=cecf333d-6603-e511-97d5-6c0b843f98ba,sku=LENOVO_MT_30AH,family=P300
Libvirtd配置文件语法:
<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
# Please notice there is xmlns definition in <domain> tag. Without it
# <qemu:commandline> and <qemu:arg> tags won't work.
<name>acm-server</name>
<uuid>d0e14081-b4a0-23b5-ae39-110a686b0e55</uuid>
<memory unit='KiB'>81920000</memory>
<currentMemory unit='KiB'>81920000</currentMemory>
<vcpu placement='static'>4</vcpu>
<os>
<type arch='x86_64' machine='pc-1.1'>hvm</type>
<boot dev='hd'/>
<bootmenu enable='yes'/>
</os>
<features>
<acpi/>
<apic/>
<pae/>
</features>
# Please notice there is no CPU definition on the top.
<qemu:commandline>
<qemu:arg value='-cpu'/>
<qemu:arg value='host,kvm=off'/>
<qemu:arg value='-smbios'/>
<qemu:arg value='type=0,vendor=LENOVO,version=FBKTB4AUS,date=07/01/2015,release=1.180'/>
<qemu:arg value='-smbios'/>
<qemu:arg value='type=1,manufacturer=LENOVO,product=30AH001GPB,version=ThinkStation P300,serial=S4M88119,uuid=cecf333d-6603-e511-97d5-6c0b843f98ba,sku=LENOVO_MT_30AH,family=P3'/>
</qemu:commandline>
</domain>
更新21.04.2017r。DS Justice提到Qemu(在此示例中,我使用了virtio)磁盘模式也很重要。