Solidworks: chế độ giấy phép kích hoạt không được hỗ trợ trong môi trường ảo này (Qemu-KVM)


12

Câu hỏi không phải là xung quanh Solidworks , vì vậy hãy tiếp tục đọc.

Toàn bộ ý tưởng của ảo hóa là độc lập với phần cứng. Trước mắt chúng ta, một mức độ phụ thuộc hoàn toàn mới đang được tạo ra - gắn liền với nhà ảo thuật.

Theo như tôi biết, việc tìm kiếm một cách để tìm ra cách giải quyết vấn đề này không phải là vi phạm giấy phép Solidworks và luật pháp địa phương ở nước tôi.

Khách hàng của tôi và tôi muốn kích hoạt Sản phẩm Solidworks trên máy ảo KVM. Vì một số lý do kỳ lạ (Hyper-V và VMware được cho là đã được thử nghiệm tốt :) họ (nhà phát triển) của Solidworks 2015 PDM không muốn sản phẩm của họ được kích hoạt (phiên bản 2014 vừa qua hoạt động tốt) trên Qemu-KVM.

http://www.solidworks.com/sw/support/11168_ENUTube.htmlm http://www.solidworks.com/sw/support/11168_ENUTube.htmlm

Tôi đang dùng:

thiết lập

Như bạn có thể thấy VM dựa trên KVM với cài đặt Windows 2012 và Solidworks PDM.

Câu hỏi : Họ có thể kiểm tra những gì khác nếu tôi đang chạy VM trong Qemu-KVM ngoài việc kiểm tra:

  • Địa chỉ MAC của bộ điều hợp Ethernet của VM,
  • Nhãn trình điều khiển thiết bị,
  • Mô hình CPU,
  • Bảng ACPI.

Tôi sẽ loại trừ những điều được đề cập ở trên trong vài giờ tới, nhưng tôi muốn biết nếu bạn có bất kỳ ý tưởng nào khác.

Giải pháp :

Hóa ra họ xác nhận hai điều:

  1. Như Michael Hampton đã chỉ ra chính xác có -cpu,kvm=offtùy chọn

để vô hiệu hóa lá CPUID 0x40000000.

  1. ACPI Bàn về khách.

Các phần có liên quan của các tham số dòng lệnh 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

Cú pháp tập tin cấu hình 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>

Để chứng minh, bây giờ nó muốn kích hoạt: với hack

Cập nhật 21.04.2017r. DS Justice đã đề cập rằng chế độ đĩa Qemu (tôi đã sử dụng virtio trong ví dụ này) cũng có thể có liên quan.


Trang web này dành cho các sysadins chuyên nghiệp, những người vốn đã quan tâm đến các giải pháp hỗ trợ / hỗ trợ, chúng tôi thực sự rất cố gắng để làm việc 'trong phạm vi'.
Chopper3

8
Miễn là một cái gì đó không phải là giải pháp tiêu chuẩn không có nghĩa là không thể hỗ trợ, như bạn có thể thấy nó là. Bạn không thực sự thấy vấn đề ở đây? Họ buộc ai đó phải chọn các công cụ thương mại và ẩn đằng sau - bởi vì nó đã được thử nghiệm tốt. Thật là vô nghĩa khi nói đến việc lựa chọn hypanneror. Đối với hệ điều hành lót - có, nhưng không phải cho một ứng dụng.
Michal Sokolowski

Nếu đủ khách hàng trả tiền gửi yêu cầu cho SolidWorks để hỗ trợ KVM, họ sẽ bị buộc phải. Điều này đã xảy ra khi Oracle phát hành OEL và cố gắng chặn cài đặt trên RHEL, chỉ là vấn đề áp lực và tiềm năng đưa doanh nghiệp của bạn đi nơi khác.
dyasny

Họ đã làm rồi. Họ hỗ trợ nó, ví dụ họ có nhiệm vụ cài đặt giấy phép ngày hôm nay.
Michal Sokolowski

1
Điều này không phù hợp với tôi với đĩa khởi động IDE ảo, có lẽ là do mô tả đĩa AHCI có chứa từ "QEMU". Đã thay đổi đĩa khởi động của tôi thành VirtIO như trong ảnh chụp màn hình của bạn và tôi là vàng. Cảm ơn!
Mùa thu

Câu trả lời:


13

Hầu hết các trình ảo hóa hiện tại chạy trên phần cứng Intel đều sử dụng CPUID để lại 0x40000000 et seq. để truyền thông tin về nhà ảo thuật từ máy chủ đến khách.

KVM , Xen , VMwareHyper-V đều sử dụng phương pháp này.

Điều này ngoài cờ tính năng hypanneror được đặt trong lá CPUID 0x1, cho biết máy là một máy ảo.

Do đó, nó không quan trọng đối với một chương trình có thể gọi lệnh CPUID để xác định xem nó có chạy dưới một trong những trình ảo hóa này hay không.

Các phiên bản gần đây của KVM bao gồm tùy chọn dòng lệnh để vô hiệu hóa lá CPUID 0x40000000 , -cpu kvm=off.


1
Và phương pháp này đã được chứng minh là có hiệu quả đối với các trình điều khiển NVIDIA cũng chặn các máy ảo KVM trên đường truyền qua.
dyasny

5

Cách chính thức kích hoạt máy chủ Solidworks trên KVM là đăng ký "Cấp phép miễn trừ kích hoạt cho SolidWorks". Chúng tôi làm điều này thông qua người bán lại, nhưng có thể có thể được thực hiện trực tiếp thông qua hỗ trợ của Solidworks.

Solidworks gửi tệp giấy phép mà Solidworks License Manager tải thông qua Tùy chọn nâng cao của tab Quản trị máy chủ.

Cho rằng hai năm qua, Solidworks đã mất hơn 2 tuần để gửi tệp giấy phép, thật tuyệt khi không có chúng trong danh sách đen KVM.

Solidworks có "Yêu cầu cải tiến" mở với tiêu đề: "Cung cấp hỗ trợ máy chủ SNL cho VM KVM Qemu Libvirt." ER # 1-9482749288 Tôi đã tìm thấy nó bằng cách đăng nhập vào cổng Solidworks, tìm liên kết Yêu cầu Nâng cao và nhập KVM.

Vui lòng để lại nhận xét về Yêu cầu Nâng cao này! Hy vọng họ sẽ quyết định KVM là một môi trường ảo hóa hợp pháp.


AWS đang sử dụng KVM!
FreeSoftwareServers

1
@FreeSoftwareServers AWS gần đây chỉ chuyển sang KVM cho một số loại máy. Vẫn còn rất nhiều Xen ngoài kia.
Michael Hampton

Đúng, chỉ cần nói nó là a legitimate virtualization environment.
FreeSoftwareServers

Đừng nói với tôi, hãy nói với Solidworks! :)
lickdragon

5

Tôi chỉ muốn chia sẻ kinh nghiệm của mình ở đây, trong trường hợp những người khác cũng ở trong tình huống tương tự (cố gắng cài đặt solidworks trên máy ảo VM)

Thiết lập đã cố gắng của tôi:

xubfox 16.04 máy chủ hệ điều hành, VirtualBox, Windows 10 và Solidworks 2015. Tôi đã thấy lỗi tương tự được thảo luận ở trên.

Giải pháp:

Giải pháp cuối cùng tôi tìm thấy là sử dụng hidevm.battập lệnh có trong bản crack Solidsquad, để lừa Solidworks nghĩ rằng nó không chạy trong VM. bạn có thể sử dụng tệp .bat ngay cả khi bạn có giấy phép hợp pháp (như tôi hy vọng bạn làm). .bat dành cho người dùng chạy Solidworks bên trong VirtualBox VM, với Windows là hệ điều hành máy chủ, tuy nhiên nếu bạn giống như tôi đang cố gắng chạy Linux với tư cách là hệ điều hành máy chủ, bạn vẫn có thể mở tệp .bat, chọn ra các lệnh liên quan, điều chỉnh chúng cho linux và chạy chúng. các lệnh liên quan được sửa đổi là:

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"

Trong trường hợp VM của bạn được cấu hình để sử dụng phần mềm EFI, bạn cần thay thế pcbiosbằng eficác phím. Xem 9.12. Cấu hình thông tin BIOS DMI .


Điều này thất bại đối với tôi. Có thể là do hệ thống của tôi là với UEFI.
kyb

Nhưng tôi đã tìm thấy giải pháp trong tài liệu VBox $ 9,12. > Trong trường hợp VM của bạn được cấu hình để sử dụng phần mềm EFI, bạn cần thay thế pcbiosbằng eficác phím. Tôi đề nghị chỉnh sửa tin nhắn.
kyb

4

'/>thiếu trên EOL <qemu:arg value='type=1,manufacturer=LENOVOvì vậy đây là sửa đổi cấu hình libvirt hoàn chỉnh:

<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>
 (...)

Cảm ơn câu trả lời của bạn, nó đã giúp tôi làm cho tôi, tôi chỉ cần loại bỏ mã không cần thiết.
FreeSoftwareServers

1

Tôi hình dung rằng tôi sẽ chia sẻ phương pháp của mình để làm việc để ẩn VM khỏi Windows / Nhiệm vụ MGR (Nó cũng có ít thứ không cần thiết hơn và dễ đọc hơn). Tôi đã không cố gắng kích hoạt Solidworks nhưng IMO chủ đề này liên quan nhiều hơn đến việc ẩn hoạt động của bạn trong VM và có lẽ nên được chỉnh sửa như vậy. Dù sao...

Thêm phần sau vào domain.xml của bạn và đảm bảo hoàn thành xóa phần 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>

Tắt VM và bật lại và kiểm tra!


1
Tôi đã có SolidWorks làm việc trên qemu trên Ubuntu 19.04 với cấu hình này, các smbiosđối số và VirtIO làm trình điều khiển cho cả đĩa và ethernet.
Avamander

1
@Avamander Thật tuyệt vời, như tôi đã nói tôi thậm chí không làm việc với SolidWorks nhưng có vẻ như tôi đã giúp giải quyết câu hỏi của OP! Tôi quên những gì tôi đang làm, nhưng điều này khiến nó hoạt động tốt cho tôi cũng như một thứ khác, tôi nghĩ rằng nó có liên quan đến chơi game, sẽ không chạy trò chơi trong VM. Máy ảo của tôi mạnh hơn máy tính xách tay chơi game nhiều người hơn: P
FreeSoftwareServers

@Avamander Tôi chỉ tò mò thôi, bạn đã thử mà không smbiostranh luận chưa?
FreeSoftwareServers

Tôi đã không cố gắng mà không giả mạo smbios.
Avamander
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.