web-dev-qa-db-ja.com

Solidworks:ライセンス認証モードはこの仮想環境(Qemu-KVM)ではサポートされていません

Solidworksに関する質問ではありません。引き続きお読みください。

仮想化の全体的なアイデアは、ハードウェアに依存しないことです。私たちの目の前で、まったく新しい依存関係レベルが作成されています-ハイパーバイザーへの添付。

私が知る限り、この問題の回避策を見つけるために検索することは、私の国のSolidworksライセンスおよび現地法に違反するものではありません。

私のクライアントと私はKVM仮想マシンでSolidworks製品をアクティブ化したいと考えています。奇妙な理由で(Hyper-VとVMwareは十分にテストされているはずです:) Solidworks 2015 PDMの彼ら(開発者)ドンQemu-KVMで製品をアクティベートしたくない(最後の2014バージョンは問題なく機能した)。

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

使ってます:

setup

ご覧のとおり、それはKVMベースのVM Windows 2012およびSolidworks PDMインストール済み環境の場合)です。

質問:私が実行している場合、他に何をチェックできますかVM Qemu-KVMでチェックする以外に:

  • VMのイーサネットアダプタのMACアドレス
  • デバイスドライバーのラベル、
  • CPUモデル、
  • ACPIテーブル。

上記のことを数時間以内に除外しますが、他にアイデアがあるかどうか知りたいのですが。

ソリューション

彼らは2つのことを検証することがわかりました:

  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>

証明として、今それはアクティブ化したいと思っています: with hack

更新21.04.2017r。 DS正義は、Qemu(この例ではvirtioを使用しました)ディスクモードも関連している可能性があると述べました。

12

Intelハードウェアで実行される最新のハイパーバイザーはCPUIDを使用しており、0x40000000などが残ります。ハイパーバイザーに関する情報をホストからゲストに渡す。

[〜#〜] kvm [〜#〜]XenVMware および Hyper-V すべて使用します方法。

これは、マシンが仮想マシンであることを示す、CPUIDリーフ0x1に設定されたハイパーバイザー機能フラグにさらにです。

したがって、これらのハイパーバイザーのいずれかで実行されているかどうかを判断するためにCPUID命令を呼び出すことができるプログラムにとっては、取るに足らないことです。

KVMの最近のバージョンには、CPUID 0x40000000リーフ-cpu kvm=offを無効にする コマンドラインオプション が含まれています。

13
Michael Hampton

他の人が同様の状況にある場合に備えて、ここでも私の経験を共有したいと思いました(virtualbox VMにsolidworksをインストールしようとしている)

私が試みたセットアップ:

xubuntu 16.04ホストOS、VirtualBox、Windows 10、およびSolidworks2015。上記と同じエラーが発生しました。

ソリューション:

私が最終的に見つけた解決策は、hidevm.bat Solidsquadクラックに含まれているスクリプト。Solidworksをだまして、VMで実行されていないと思わせるためです。正当なライセンスがあっても.batファイルを使用できます(私がそうすることを望んでいます)。 .batは、WindowsをホストOSとして、VirtualBox VM内でSolidworksを実行しているユーザーを対象としていますが、私がLinuxをホストOSとして実行しようとしている場合でも、.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ファームウェアを使用するように構成されている場合は、キーのpcbiosefiに置き換える必要があります。詳細は 9.12。BIOSの構成DMI情報

5
Thomas Pfeifer

KVM=でSolidworksサーバーをアクティベートする公式の方法は、「SolidWorksのアクティベーション免除ライセンス」を申請することです。これはリセラーを通じて行いますが、Solidworksサポートを通じて直接行うこともできます。

Solidworksは、サーバー管理タブの詳細オプションを通じてSolidworks License Managerがロードするライセンスファイルを送信します。

Solidworksがライセンスファイルを送信するのに2週間以上かかった過去2年間を考えると、KVMをブラックリストに登録しないのはいいことです。

Solidworksのタイトルは「Enhancement Request」です。「VM KVM Qemu Libvirt。のSNLサーバーサポートを提供します。」ER#1-9482749288 Solidworksポータルにログインし、拡張リクエストリンクを見つけて、KVMと入力します。

この拡張リクエストにコメントを残してください! KVMは正当な仮想化環境です。

5
lickdragon

'/> 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
THOBAD007

私はVM Windows/Task MGRから非表示にするために機能した私の方法を共有すると思いました(また、不要なものが少なく、読みやすくなっています)。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>

VMをオフにしてからオンに戻し、テストします!

1