AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 727347
Accepted
Michal Sokolowski
Michal Sokolowski
Asked: 2015-10-08 05:56:23 +0800 CST2015-10-08 05:56:23 +0800 CST 2015-10-08 05:56:23 +0800 CST

Solidworks:此虚拟环境不支持激活许可模式(Qemu-KVM)

  • 772

这个问题实际上不在 Solidworks 周围,所以请继续阅读。

虚拟化的整个想法是独立于硬件。在我们眼前,正在创建一个全新的依赖级别 - 附加到管理程序。

据我所知,寻找解决此问题的方法并不违反我所在国家/地区的 Solidworks 许可证和当地法律。

我的客户和我想在 KVM 虚拟机上激活 Solidworks 产品。由于一些奇怪的原因(Hyper-V 和 VMware 应该经过很好的测试:)他们(开发人员)Solidworks 2015 PDM 不希望他们的产品在 Qemu-KVM 上被激活(最后一个 2014 版本工作得很好)。

http://www.solidworks.com/sw/support/11168_ENU_HTML.htm http://www.solidworks.com/sw/support/11168_ENU_HTML.htm

我在用:

设置

如您所见,它是基于 KVM 的 VM,安装了 Windows 2012 和 Solidworks PDM。

问题:如果我在 Qemu-KVM 中运行我的虚拟机,除了检查之外,他们还能检查什么:

  • 虚拟机以太网适配器的 MAC 地址,
  • 设备驱动程序标签,
  • CPU型号,
  • ACPI 表。

我将在接下来的几个小时内排除上述情况,但我想知道您是否还有其他想法。

解决方案:

事实证明,他们验证了两件事:

  1. 正如迈克尔汉普顿正确指出的那样,有-cpu,kvm=off选择

禁用 CPUID 0x40000000 叶。

  1. 来宾上的 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)磁盘模式也可能是相关的。

windows-server-2012
  • 5 5 个回答
  • 14518 Views

5 个回答

  • Voted
  1. Best Answer
    Michael Hampton
    2015-10-08T06:16:24+08:002015-10-08T06:16:24+08:00

    大多数当前在 Intel 硬件上运行的管理程序使用 CPUID 留下 0x40000000 et seq。将有关虚拟机管理程序的信息从主机传递给来宾。

    KVM、Xen、VMware和Hyper-V都使用这种方法。

    这是对 CPUID 叶 0x1 中设置的管理程序功能标志的补充,它指示机器是虚拟机。

    因此,对于可以调用 CPUID 指令来确定它是否在这些管理程序之一下运行的程序来说,这是微不足道的。

    最新版本的 KVM 包括一个命令行选项来禁用 CPUID 0x40000000 叶,-cpu kvm=off.

    • 14
  2. Thomas Pfeifer
    2016-11-13T15:03:24+08:002016-11-13T15:03:24+08:00

    我也只是想在这里分享我的经验,以防其他人处于类似情况(尝试在 virtualbox VM 上安装solidworks)

    我尝试的设置:

    xubuntu 16.04 主机操作系统、VirtualBox、Windows 10 和 Solidworks 2015。我看到了上面讨论的相同错误。

    解决方案:

    我最终找到的解决方案是使用hidevm.batSolidsquad 破解中包含的脚本,以诱使 Solidworks 认为它​​没有在 VM 中运行。即使您拥有合法许可证,您也可以使用 .bat 文件(我希望您这样做)。.bat 适用于在 VirtualBox VM 中运行 Solidworks 的用户,Windows 也是主机操作系统,但是如果你像我一样尝试将 Linux 作为主机操作系统,你仍然可以打开 .bat 文件,选择取出相关命令,针对 linux 调整它们,然后运行它们。修改后的相关命令为:

    VMNAME=[whatever your VM name is]
    rand9="abcdefghi" #any 9 character string
    rand20="abdcefghijklmnopqrst" #any 20 character string
    rand8="abcdefgh" #any 8 character string
    
    VBoxManage setextradata $VMNAME "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSVendor" "American Megatrends Inc"
    VBoxManage setextradata $VMNAME "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSVersion" "2.1.0"
    VBoxManage setextradata $VMNAME "VBoxInternal/Devices/pcbios/0/Config/DmiSystemVendor" "ASUSTek Computer"
    
    VBoxManage setextradata $VMNAME "VBoxInternal/Devices/pcbios/0/Config/DmiSystemSerial" $rand9
    
    VBoxManage setextradata $VMNAME "VBoxInternal/Devices/ahci/0/Config/Port0/SerialNumber" $rand20
    
    VBoxManage setextradata $VMNAME "VBoxInternal/Devices/ahci/0/Config/Port0/FirmwareRevision" $rand8
    VBoxManage setextradata $VMNAME "VBoxInternal/Devices/ahci/0/Config/Port0/ModelNumber" "SEAGATE ST3750525AS"
    

    如果您的 VM 配置为使用 EFI 固件,您需要在密钥中替换pcbios为。efi见9.12。配置 BIOS DMI 信息。

    • 6
  3. lickdragon
    2015-11-24T09:23:34+08:002015-11-24T09:23:34+08:00

    在 KVM 上激活 Solidworks 服务器的官方方法是申请“SolidWorks 免激活许可”。我们通过经销商来完成这项工作,但也可以通过 Solidworks 支持直接完成。

    Solidworks 发送一个许可文件,Solidworks 许可管理器通过服务器管理选项卡的高级选项加载该许可文件。

    鉴于过去两年 Solidworks 发送许可证文件的时间超过了 2 周,最好让他们不将 KVM 列入黑名单。

    Solidworks 打开了一个“增强请求”,标题为:“为 VM KVM Qemu Libvirt 提供 SNL 服务器支持”。ER # 1-9482749288 我通过登录 Solidworks 门户找到了增强请求链接,然后键入 KVM。

    请对此增强请求发表评论!希望他们会决定 KVM 是一个合法的虚拟化环境。

    • 5
  4. THOBAD007
    2016-10-08T03:32:40+08:002016-10-08T03:32:40+08:00

    '/>EOL 上缺少<qemu:arg value='type=1,manufacturer=LENOVO所以这里是完整的 libvirt 配置修改:

    <domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
     (...)
    
    ... 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>
     (...)
    
    • 4
  5. FreeSoftwareServers
    2018-11-30T22:22:09+08:002018-11-30T22:22:09+08:00

    我想我会分享我的方法,该方法可以从 Windows/Task MGR 中隐藏 VM(它也减少了不必要的东西,并且更易于阅读)。我没有尝试激活 Solidworks,但 IMO 这个线程更多的是关于隐藏你在 VM 中的运行,也许应该这样编辑。反正...

    将以下内容添加到您的 domain.xml 并确保完全删除 CPU 部分

    <domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
    #Regaular Stuff
    #No CPU Type Set
     <features>
        <acpi/>
        <apic/>
        <kvm>
          <hidden state='on'/>
        </kvm>
        <vmport state='off'/>
      </features>
    #Add to Bottom of Domain.xml
      </devices>
      <qemu:commandline>
        <qemu:arg value='-cpu'/>
        <qemu:arg value='host,hv_time,kvm=off,hv_vendor_id=null,-hypervisor'/>
      </qemu:commandline>
    </domain>
    

    关闭并重新打开虚拟机并进行测试!

    • 1

相关问题

  • 一个 Active Directory,多个远程桌面服务(Server 2012 解决方案)

  • 在虚拟处理器上启用硬件辅助虚拟化?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve