Pytanie faktycznie nie dotyczy Solidworks , więc proszę czytaj dalej.
Cała idea wirtualizacji polega na niezależności sprzętowej. Na naszych oczach tworzony jest zupełnie nowy poziom zależności - mocowanie do hiperwizora.
O ile wiem, wyszukiwanie w celu znalezienia obejścia tego problemu nie stanowi naruszenia licencji Solidworks i lokalnego prawa w moim kraju.
Mój klient i ja chcemy aktywować Produkty Solidworks na maszynie wirtualnej KVM. Z kilku dziwnych powodów (Hyper-V i VMware powinny być dobrze przetestowane :) oni (programiści) Solidworks 2015 PDM nie chcą, aby ich produkty były aktywowane (ostatnia wersja 2014 działała dobrze) na Qemu-KVM.
http://www.solidworks.com/sw/support/11168_ENU_HTML.htm
Ja używam:
Jak widać, jest to VM oparta na KVM z instalacją Windows 2012 i Solidworks PDM.
Pytanie : Co jeszcze mogą sprawdzić, jeśli korzystam z mojej maszyny wirtualnej w Qemu-KVM oprócz sprawdzania:
- Adresy MAC karty Ethernet VM,
- Etykiety sterowników urządzeń,
- Model procesora,
- Tabele ACPI.
Wykluczę powyższe rzeczy w ciągu najbliższych kilku godzin, ale chciałbym wiedzieć, czy masz jakieś inne pomysły.
Rozwiązanie :
Okazuje się, że potwierdzają dwie rzeczy:
- Jak słusznie zauważył Michael Hampton, istnieje
-cpu,kvm=off
opcja
aby wyłączyć liść CPUID 0x40000000.
- Tabele ACPI na gościu.
Odpowiednie części parametrów wiersza poleceń 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
Składnia pliku konfiguracyjnego 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>
Jako dowód, teraz chce aktywować:
Aktualizacja 21.04.2017r. DS Justice wspomniał, że tryb dysku Qemu (w tym przykładzie użyłem virtio) również może mieć znaczenie.
źródło
Odpowiedzi:
Większość obecnych hiperwizorów działających na sprzęcie Intel używa CPUID pozostawiając 0x40000000 i nast. przekazywać informacje o hiperwizorze od hosta do gościa.
KVM , Xen , VMware i Hyper-V używają tej metody.
Jest to dodatek do flagi funkcji hiperwizora ustawionej w liście CPUID 0x1, która wskazuje, że maszyna jest maszyną wirtualną.
Jest to więc trywialne dla programu, który może wywoływać instrukcję CPUID w celu ustalenia, czy działa pod jednym z tych hiperwizorów.
Najnowsze wersje KVM obejmują opcję wiersza polecenia , aby wyłączyć CPUID 0x40000000 liść
-cpu kvm=off
.źródło
Oficjalnym sposobem aktywacji serwera Solidworks na KVM jest złożenie wniosku o „Licencję zwolnioną z aktywacji dla SolidWorks”. Robimy to za pośrednictwem dystrybutora, ale możliwe, że można to zrobić bezpośrednio poprzez wsparcie Solidworks.
Solidworks wysyła plik licencji, który ładuje Menedżer licencji Solidworks poprzez Zaawansowane opcje karty Administracja serwera.
Biorąc pod uwagę, że w ciągu ostatnich dwóch lat wysłanie pliku licencji przez Solidworks trwało ponad 2 tygodnie, dobrze byłoby, gdyby nie znajdowali się na czarnej liście KVM.
Solidworks ma „Żądanie rozszerzenia” o tytule: „Zapewnij obsługę serwera SNL dla VM KVM Qemu Libvirt”. ER # 1-9482749288 Znalazłem go, logując się do portalu Solidworks, znajdując link Żądanie rozszerzenia i wpisując KVM.
Proszę zostawić komentarz do tej prośby o ulepszenie! Mamy nadzieję, że zdecydują, że KVM jest legalnym środowiskiem wirtualizacji.
źródło
legitimate virtualization environment
.Chciałem również podzielić się tutaj swoimi doświadczeniami, na wypadek gdyby inni byli w podobnej sytuacji (próbuję zainstalować Solidworks na maszynie wirtualnej Virtualbox)
Moja próba instalacji:
xubuntu 16.04 host OS, VirtualBox, Windows 10 i Solidworks 2015. Widziałem ten sam błąd omówiony powyżej.
Rozwiązanie:
Rozwiązaniem, które ostatecznie znalazłem, było użycie
hidevm.bat
skryptu zawartego w pęknięciu Solidsquad, aby oszukać Solidworks, aby pomyślał, że nie działa na maszynie wirtualnej. możesz użyć pliku .bat, nawet jeśli masz ważną licencję (mam nadzieję, że tak). .bat jest przeznaczony dla użytkowników uruchamiających Solidworks na maszynie wirtualnej VirtualBox, z systemem Windows również jako systemem operacyjnym hosta, jednak jeśli jesteś podobny do mnie próbującego uruchomić Linuksa jako system operacyjny hosta, nadal możesz otworzyć plik .bat, wybierz wypisz odpowiednie polecenia, dostosuj je do Linuksa i uruchom je. zmodyfikowane odpowiednie polecenia to:W przypadku, gdy VM jest skonfigurowany do korzystania z EFI firmware trzeba zastąpić
pcbios
przezefi
w klawisze. Zobacz 9.12. Konfigurowanie informacji BIOS DMI .źródło
pcbios
przezefi
w klawisze. Proponuję edytować wiadomość.'/>
brakuje w EOL,<qemu:arg value='type=1,manufacturer=LENOVO
więc oto pełne modyfikacje konfiguracji libvirt:źródło
Pomyślałem, że podzielę się moją metodą, która działała w celu ukrycia VM przed Windows / Task MGR (Ma również mniej niepotrzebnych rzeczy i jest łatwiejsza do odczytania). Nie próbowałem aktywować Solidworks, ale IMO w tym wątku chodzi raczej o ukrywanie twojego działania na maszynie wirtualnej i być może powinno być edytowane jako takie. Tak czy inaczej...
Dodaj następujące informacje do pliku domain.xml i upewnij się, że całkowicie usunąłeś sekcję CPU
Wyłącz maszynę wirtualną i włącz ją ponownie i przetestuj!
źródło
smbios
argumentami i VirtIO jako sterownikiem zarówno dysków, jak i Ethernetu.smbios
argumentów?smbios
.