Здравствуйте, господа.
Помогите, пожалуйста, ибо нет сил уж больше гуглить. Есть задача: запустить некий «CAD софт» в виртуалке. Хитрый «кад» не разрешает себя устанавливать в виртуалку, а я пытаюсь его обмануть. XML конфиг для libvirt прилагаю:
<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
<name>xxx</name>
<uuid>9f4441de-af34-42ca-b10d-ae29141574c4</uuid>
<memory unit='KiB'>8388608</memory>
<currentMemory unit='KiB'>8388608</currentMemory>
<vcpu placement='static'>2</vcpu>
<os>
<type arch='x86_64' machine='pc-i440fx-2.8'>hvm</type>
<boot dev='hd'/>
<bootmenu enable='yes'/>
</os>
<features>
<acpi/>
<apic/>
<pae/>
<hyperv>
<relaxed state='off'/>
<vapic state='off'/>
<spinlocks state='off'/>
</hyperv>
<vmport state='off'/>
</features>
<clock offset='localtime'>
<timer name='rtc' tickpolicy='catchup'/>
<timer name='pit' tickpolicy='delay'/>
<timer name='hpet' present='no'/>
<timer name='hypervclock' present='no'/>
</clock>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<pm>
<suspend-to-mem enabled='no'/>
<suspend-to-disk enabled='no'/>
</pm>
<devices>
<emulator>/usr/bin/kvm</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/home/whoami/kvm/win7.qcow2'/>
<target dev='hda' bus='ide'/>
<serial>SEAGATE ST3750525AS</serial>
<wwn>0x500277a1234c4e21</wwn>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<disk type='block' device='disk'>
<driver name='qemu' type='raw' cache='none' io='native'/>
<source dev='/dev/vg-ssd/soliddev'/>
<target dev='hdc' bus='ide'/>
<serial>SEAGATE ST3750526AS</serial>
<wwn>0x500277a5678c4e21</wwn>
<address type='drive' controller='0' bus='1' target='0' unit='0'/>
</disk>
<controller type='usb' index='0' model='ich9-ehci1'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x7'/>
</controller>
<controller type='usb' index='0' model='ich9-uhci1'>
<master startport='0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0' multifunction='on'/>
</controller>
<controller type='usb' index='0' model='ich9-uhci2'>
<master startport='2'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x1'/>
</controller>
<controller type='usb' index='0' model='ich9-uhci3'>
<master startport='4'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x2'/>
</controller>
<controller type='pci' index='0' model='pci-root'/>
<controller type='ide' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
</controller>
<interface type='bridge'>
<mac address='94:de:80:78:2c:99'/>
<source bridge='br_for_vms2'/>
<model type='rtl8139'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<sound model='ich6'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</sound>
<hostdev mode='subsystem' type='pci' managed='yes'>
<source>
<address domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
</source>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</hostdev>
<hostdev mode='subsystem' type='pci' managed='yes'>
<source>
<address domain='0x0000' bus='0x02' slot='0x00' function='0x1'/>
</source>
<address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
</hostdev>
<hostdev mode='subsystem' type='usb' managed='yes'>
<source>
<vendor id='0x09da'/>
<product id='0xf613'/>
</source>
<address type='usb' bus='0' port='2'/>
</hostdev>
<hostdev mode='subsystem' type='usb' managed='yes'>
<source>
<vendor id='0x046d'/>
<product id='0xc328'/>
</source>
<address type='usb' bus='0' port='1'/>
</hostdev>
<memballoon model='virtio'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
</memballoon>
</devices>
<qemu:commandline>
<qemu:arg value='-cpu'/>
<qemu:arg value='host,hv_time,kvm=off,hv_vendor_id=null,-hypervisor'/>
<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=P300'/>
<qemu:arg value='-set'/>
<qemu:arg value='device.hostdev0.x-vga=on'/>
<qemu:arg value='-set'/>
<qemu:arg value='device.hostdev0.romfile=/home/whoami/k_install/gts450.img'/>
</qemu:commandline>
</domain>
Я уже изрядно над ним поиздевался, не пинайте сильно, но все равно не смог добиться нужного результата.
К слову, в комплекте к данному софту есть таблэтка, которая позволяет его запустить в виртуалбоксе. Выглядит примерно вот так:
@echo Off
setlocal EnableDelayedExpansion
if "%1"=="" goto usage
set VMNAME=%1
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"
call:gen_random_string 9
VBoxManage setextradata "%VMNAME%" "VBoxInternal/Devices/pcbios/0/Config/DmiSystemSerial" "string:!rand!"
call:gen_random_string 20
VBoxManage setextradata "%VMNAME%" "VBoxInternal/Devices/ahci/0/Config/Port0/SerialNumber" "string:!rand!"
call:gen_random_string 8
VBoxManage setextradata "%VMNAME%" "VBoxInternal/Devices/ahci/0/Config/Port0/FirmwareRevision" "string:!rand!"
VBoxManage setextradata "%VMNAME%" "VBoxInternal/Devices/ahci/0/Config/Port0/ModelNumber" "SEAGATE ST3750525AS"
echo.
echo Success!
echo.
pause
goto:eof
:usage
echo Usage: %0 VM-Name
echo This script shold be started from HOST machine
echo where VM-name is a name of STOPPED VirtualBox virtual machine
echo Note: the PATH variable must contain path to VBoxManage.exe
echo like set PATH=C:\Program Files\Oracle\VirtualBox;%%PATH%%
echo.
pause
goto:eof
:gen_random_string
set lineup=0123456789ABCDEF
set RandomLength=%1
set count=0
set rand=
:loop
set /a count+=1
set /a _RND=%Random%*15/32768
set rand=!rand!!lineup:~%_RND%,1!
if !count! lss %RandomLength% goto loop
:eof
Таблэтка рабочая, действительно в виртуалбоксе работает (сам виртуалбокс не хочу использовать потому что нужно пробросить видеокарту в виртуалку)
Подскажите, что я делаю не так (либо чего я еще не сделал)?