Solidworks: режим лицензии активации не поддерживается в этой виртуальной среде (Qemu-KVM)

Вопрос не вокруг Solidworks на самом деле, поэтому продолжите читать.

Вся эта мысль о виртуализации состоит в том, чтобы быть аппаратно-независимой. На наших глазах совершенно новый уровень зависимости создается - присоединение к гипервизору.

Насколько я знаю, что поиск способом находит, что обходное решение этой проблемы не является нарушением лицензии Solidworks и локального закона в моей стране.

Мой клиент и я хотим активировать продукты Solidworks на виртуальной машине KVM. По некоторым странным причинам (Hyper-V и VMware, как предполагается, хорошо тестируются :) они (разработчики) Solidworks 2015 PDM не хотят, чтобы их продукты были активированы (в прошлом 2014, версия работала просто великолепно) на Qemu-KVM.

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

Я использую:

setup

Поскольку Вы видите, что это - основанный на KVM VM с установкой Solidworks PDM и Windows 2012.

Вопрос: Что еще может они проверять, выполняю ли я свой VM в Qemu-KVM помимо проверки:

  • MAC-адрес (MAC-адреса) адаптера Ethernet VM,
  • Маркировки драйвера устройства,
  • Модель CPU,
  • Таблицы ACPI.

Я собираюсь исключить вышеупомянутые вещи через следующие несколько часов, но я хотел бы знать, есть ли у Вас какие-либо другие идеи.

Решение:

Оказывается, что они проверяют две вещи:

  1. Поскольку Michael Hampton, на которого правильно указывают там, -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
задан 21 April 2017 в 17:05
5 ответов

Большинство современных гипервизоров, работающих на оборудовании Intel, используют CPUID, оставляет 0x40000000 et seq. для передачи информации о гипервизоре от хоста к гостю.

KVM , Xen , VMware и Hyper-V используют этот метод.

Это в дополнение к флагу функции гипервизора, установленному в листе CPUID 0x1, который указывает, что машина является виртуальной машиной.

Следовательно, это тривиально для программы, которая может вызвать инструкцию CPUID для определения работает ли он под одним из этих гипервизоров.

Последние версии KVM включают параметр командной строки , чтобы отключить лист CPUID 0x40000000, -cpu kvm = off .

13
ответ дан 2 December 2019 в 21:31

Официальный способ активации сервера Solidworks на KVM - подать заявку на «Лицензирование без активации для SolidWorks». Мы делаем это через посредника, но, возможно, это можно сделать напрямую через службу поддержки Solidworks.

Solidworks отправляет файл лицензии, который Solidworks License Manager загружает через Расширенные параметры вкладки Администрирование сервера.

Учитывая, что последние два года он Solidworks потребовалось более 2 недель для отправки файла лицензии, было бы неплохо, если бы они не занесли KVM в черный список.

Solidworks имеет «Запрос на улучшение», открытый с заголовком: «Обеспечить поддержку SNL-сервера для VM KVM Qemu Libvirt . " ER # 1-9482749288 Я нашел его, войдя на портал Solidworks, найдя ссылку Enhancement Request и набрав KVM.

Пожалуйста, оставьте комментарий к этому Enhancement Request! Надеюсь, они решат, что KVM - это законная среда виртуализации.

5
ответ дан 2 December 2019 в 21:31

Я просто хотел поделиться своим опытом здесь, на случай, если другие находятся в аналогичной ситуации (пытается установить solidworks на виртуальную машину виртуального бокса)

Моя попытка установки:

xubuntu 16.04 хост-ОС, VirtualBox, Windows 10 и Solidworks 2015. Я видел ту же ошибку, о которой говорилось выше.

Решение:

Решение, которое я в конце концов нашел, заключалось в использовании скрипта hidevm.bat , включенного в трещину Solidsquad, для того, чтобы заставить Solidworks думать, что он не работает в виртуальной машине. вы можете использовать файл .bat, даже если у вас есть законная лицензия (на что я надеюсь). .bat предназначен для пользователей, запускающих Solidworks внутри виртуальной машины VirtualBox, с 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"

Если ваша виртуальная машина настроена на использование прошивки EFI, вам необходимо заменить pcbios на efi в ключах. См. 9.12. Настройка информации DMI BIOS .

5
ответ дан 2 December 2019 в 21:31

'/> отсутствует в EOL

4
ответ дан 2 December 2019 в 21:31

Я подумал, что поделюсь своим методом, который работал, чтобы скрыть виртуальную машину от Windows / Task MGR (в нем также меньше ненужных вещей и его легче читать). Я не пытался активировать Solidworks, но IMO этот поток больше касается сокрытия вашей работы в виртуальной машине и, возможно, его следует отредактировать как таковой. В любом случае ...

Добавьте следующий код в свой domain.xml и убедитесь, что полностью удалили раздел ЦП

<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
ответ дан 2 December 2019 в 21:31

Теги

Похожие вопросы