La question ne concerne pas réellement Solidworks , alors continuez à lire.
L'idée globale de la virtualisation est d'être indépendante du matériel. Sous nos yeux, un tout nouveau niveau de dépendance est en train de se créer - l'apposition sur l'hyperviseur.
Pour autant que je sache, la recherche d'un moyen de trouver une solution à ce problème ne constitue pas une violation de la licence Solidworks et de la législation locale de mon pays.
Mon client et moi voulons activer les produits Solidworks sur une machine virtuelle KVM. Pour des raisons étranges (Hyper-V et VMware sont censés être bien testés :) ils (les développeurs) de Solidworks 2015 PDM ne veulent pas que leurs produits soient activés (la dernière version de 2014 fonctionnait très bien) sur Qemu-KVM.
http://www.solidworks.com/sw/support/11168_ENU_HTML.htm
J'utilise:
Comme vous pouvez le voir, il s'agit d'une machine virtuelle basée sur KVM avec Windows 2012 et l'installation de Solidworks PDM.
Question : Que peuvent-ils vérifier d'autre si j'exécute ma machine virtuelle dans Qemu-KVM en plus de vérifier:
- Adresse (s) MAC de l'adaptateur Ethernet de VM,
- Étiquettes de pilote de périphérique,
- Modèle CPU,
- Tables ACPI.
Je vais exclure les choses mentionnées ci-dessus dans les prochaines heures, mais j'aimerais savoir si vous avez d'autres idées.
Solution :
Il s'avère qu'ils valident deux choses:
- Comme Michael Hampton l'a correctement indiqué, il y a une
-cpu,kvm=off
option
pour désactiver la feuille CPUID 0x40000000.
- Tables ACPI sur l'invité.
Parties pertinentes des paramètres de ligne de commande 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
Syntaxe du fichier de configuration 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>
Pour preuve, il veut maintenant activer:
Mise à jour 21.04.2017r. DS Justice a mentionné que le mode disque Qemu (j'ai utilisé virtio dans cet exemple) peut également être pertinent.
la source
Réponses:
La plupart des hyperviseurs actuels qui fonctionnent sur du matériel Intel utilisent CPUID laisse 0x40000000 et suivants. pour transmettre des informations sur l'hyperviseur d'hôte à invité.
KVM , Xen , VMware et Hyper-V utilisent tous cette méthode.
Ceci s'ajoute à l'indicateur de fonctionnalité d'hyperviseur défini dans la feuille CPUID 0x1, qui indique que la machine est une machine virtuelle.
Il est donc trivial pour un programme qui peut appeler l'instruction CPUID de déterminer s'il s'exécute sous l'un de ces hyperviseurs.
Les versions récentes de KVM comprennent une option de ligne de commande pour désactiver la feuille CPUID 0x40000000,
-cpu kvm=off
.la source
La manière officielle d'activer le serveur Solidworks sur KVM est de demander une «licence d'exemption d'activation pour SolidWorks». Nous le faisons par le biais du revendeur, mais cela pourrait éventuellement se faire directement via le support Solidworks.
Solidworks envoie un fichier de licence que Solidworks License Manager charge via les options avancées de l'onglet Administration du serveur.
Étant donné qu'au cours des deux dernières années, Solidworks a mis plus de 2 semaines pour envoyer le fichier de licence, il serait bon de ne pas mettre KVM sur liste noire.
Solidworks a une «demande d'amélioration» ouverte avec le titre: «Fournir la prise en charge du serveur SNL pour VM KVM Qemu Libvirt». ER # 1-9482749288 Je l'ai trouvé en me connectant au portail Solidworks, en trouvant le lien Enhancement Request et en tapant KVM.
Veuillez laisser un commentaire sur cette demande d'amélioration! J'espère qu'ils décideront que KVM est un environnement de virtualisation légitime.
la source
legitimate virtualization environment
.Je voulais juste partager mon expérience ici aussi, au cas où d'autres seraient dans une situation similaire (essayer d'installer Solidworks sur une VM Virtualbox)
Ma tentative d'installation:
OS hôte xubuntu 16.04, VirtualBox, Windows 10 et Solidworks 2015. Je voyais la même erreur évoquée ci-dessus.
La solution:
La solution que j'ai finalement trouvée était d'utiliser le
hidevm.bat
script inclus dans le crack Solidsquad, pour inciter Solidworks à penser qu'il ne fonctionne pas sur une machine virtuelle. vous pouvez utiliser le fichier .bat même si vous avez une licence légitime (comme j'espère que vous le ferez). le .bat est destiné aux utilisateurs exécutant Solidworks dans une machine virtuelle VirtualBox, avec Windows comme OS hôte également, mais si vous êtes comme moi essayant d'exécuter Linux comme OS hôte, vous pouvez toujours ouvrir le fichier .bat, choisissez sortir les commandes pertinentes, les ajuster pour linux et les exécuter. les commandes pertinentes modifiées sont:Dans le cas où votre machine virtuelle est configurée pour utiliser le firmware EFI, vous devez le remplacer
pcbios
parefi
dans les clés. Voir 9.12. Configuration des informations BIOS DMI .la source
pcbios
parefi
dans les clés. Je suggère de modifier le message.'/>
manquant sur EOL<qemu:arg value='type=1,manufacturer=LENOVO
alors voici les modifications complètes de la configuration de libvirt:la source
Je me suis dit que je partagerais ma méthode qui a fonctionné pour cacher la machine virtuelle de Windows / Task MGR (elle a également moins de choses inutiles et est plus facile à lire). Je n'essayais pas d'activer Solidworks mais IMO ce fil est plus sur le fait de cacher votre fonctionnement dans une VM et devrait peut-être être modifié en tant que tel. En tous cas...
Ajoutez ce qui suit à votre domaine.xml et assurez-vous de supprimer complètement la section CPU
Éteignez et rallumez la VM et testez!
la source
smbios
arguments et VirtIO comme pilote pour les disques et Ethernet.smbios
arguments?smbios
.