На самом деле вопрос не в Solidworks , поэтому, пожалуйста, продолжайте читать.
Вся идея виртуализации заключается в том, чтобы быть аппаратно-независимым. На наших глазах создается новый уровень зависимости - привязка к гипервизору.
Насколько я знаю, поиск пути решения этой проблемы не является нарушением лицензии Solidworks и местного законодательства в моей стране.
Мы с моим клиентом хотим активировать продукты Solidworks на виртуальной машине KVM. По некоторым странным причинам (Hyper-V и VMware должны быть хорошо протестированы :) они (разработчики) Solidworks 2015 PDM не хотят, чтобы их продукты активировались (последняя версия 2014 года работала просто отлично) на Qemu-KVM.
http://www.solidworks.com/sw/support/11168_ENU_HTML.htm
Я использую:
Как вы можете видеть, это виртуальная машина на основе KVM с установкой Windows 2012 и Solidworks PDM.
Вопрос : Что еще они могут проверить, если я запускаю свою виртуальную машину в Qemu-KVM, кроме проверки:
- MAC-адрес (а) Ethernet-адаптера виртуальной машины,
- Метки драйверов устройств,
- Модель процессора,
- Таблицы 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.2017р. DS Justice упомянул, что режим диска Qemu (я использовал virtio в этом примере) также может иметь значение.
источник
Ответы:
Большинство современных гипервизоров, работающих на аппаратном обеспечении Intel, используют CPUID, оставляя 0x40000000 et seq. передать информацию о гипервизоре от хоста к гостю.
KVM , Xen , VMware и Hyper-V используют этот метод.
Это в дополнение к флагу функции гипервизора, установленному в листе CPUID 0x1, который указывает, что машина является виртуальной машиной.
Поэтому для программы, которая может вызвать инструкцию CPUID, тривиально определить, выполняется ли она под одним из этих гипервизоров.
Последние версии KVM включают параметр командной строки для отключения CPUID 0x40000000 leaf
-cpu kvm=off
.источник
Официальный способ активации сервера Solidworks на KVM - подать заявку на получение лицензии «Activation Exempt» для SolidWorks. Мы делаем это через посредника, но, возможно, это можно сделать напрямую через службу поддержки Solidworks.
Solidworks отправляет файл лицензии, который загружает Менеджер лицензий Solidworks, через дополнительные параметры вкладки «Администрирование сервера».
Учитывая, что в течение последних двух лет Solidworks отправляла файл лицензии более 2 недель, было бы неплохо, чтобы они не занесли в черный список KVM.
У Solidworks есть «Запрос на улучшение», открытый под заголовком: «Обеспечить поддержку SNL-сервера для VM KVM Qemu Libvirt». ER # 1-9482749288 Я нашел его, войдя на портал Solidworks, найдя ссылку Запрос улучшения и набрав KVM.
Пожалуйста, оставьте комментарий к этому запросу на улучшение! Надеемся, они решат, что KVM является законной средой виртуализации.
источник
legitimate virtualization environment
.Я просто хотел поделиться своим опытом и здесь, на случай, если другие окажутся в аналогичной ситуации (пытаясь установить Solidworks на виртуальной машине с виртуальной коробкой)
Моя попытка установки:
ОС хоста xubuntu 16.04, VirtualBox, Windows 10 и Solidworks 2015. Я видел ту же ошибку, которая обсуждалась выше.
Решение:
Решение, которое я в конечном итоге нашел, заключалось в том, чтобы использовать
hidevm.bat
сценарий, включенный в трещину Solidsquad, для того, чтобы обманом заставить Solidworks думать, что он не работает на виртуальной машине. Вы можете использовать файл .bat, даже если у вас есть законная лицензия (как я надеюсь, у вас есть). .bat предназначен для пользователей, работающих с Solidworks внутри виртуальной машины VirtualBox с Windows в качестве основной ОС, однако если вы, как и я, пытаетесь запустить Linux в качестве основной ОС, вы все равно можете открыть файл .bat, выберите соответствующие команды, настройте их для Linux и запустите их. модифицированные соответствующие команды:Если ваша виртуальная машина настроена на использование прошивки EFI, вам необходимо заменить
pcbios
ееefi
в ключах. Смотрите 9.12. Настройка информации BIOS DMI .источник
pcbios
наefi
в ключах. Предлагаю отредактировать сообщение.'/>
отсутствует на EOL,<qemu:arg value='type=1,manufacturer=LENOVO
так что вот полные модификации конфигурации libvirt:источник
Я подумал, что поделюсь своим методом, который работал, чтобы скрыть виртуальную машину от Windows / Task MGR (он также содержит меньше ненужных вещей и его легче читать). Я не пытался активировать Solidworks, но IMO эта тема больше о том, чтобы скрыть вашу работу на ВМ, и, возможно, ее следует отредактировать как таковую. Тем не мение...
Добавьте следующее в ваш domain.xml и убедитесь, что полностью удалили раздел CPU
Выключите и снова включите ВМ и протестируйте!
источник
smbios
аргументами и VirtIO в качестве драйвера для дисков и Ethernet.smbios
аргументов?smbios
.