Não é possível obter o convidado do Windows trabalhando em kvm

0

Eu estou rodando uma máquina Debian Jessie com kvm e libvirt instalados. Os convidados do Linux estão funcionando bem, mas eu tenho alguns problemas para obter uma máquina com o Windows rodando. Eu não tenho nenhuma GUI instalada. Então a configuração é feita através do virt-install.

Aqui está o comando para criar o convidado:

virt-install \
--name=win1 \
--memory 2048 \
--os-type=windows \
--os-variant=win2k8 \
--network bridge=br0 \
--disk pool=data,size=8 \
--cdrom /data/windows.iso \
--graphics vnc,password=testpw

Eu posso iniciar a sessão vnc. Eu também vejo a configuração do Windows carregando arquivos. Mas depois de iniciar, eu só recebo uma tela preta. Eu já tentei com tempero, mas também não está funcionando.

Provavelmente, há um problema em emular os gráficos?

Alguma ideia de onde está o problema?

Atualização 30/09/2016

Eu apenas tentei o virt-manager para criar um convidado do windows e tudo funciona bem. Então eu me perguntei qual é a diferença entre o meu próprio comando virt-install e o comando executado pelo virt-manager. Eu comparei o arquivo de log do convidado localizado em /var/log/libvirt/qemu/win1.log

Formulário completo do CMD virt-manager :

LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin QEMU_AUDIO_DRV=spice /usr/bin/kvm -name win2k8 -S -machine pc-i440fx-2.1,accel=kvm,usb=off -cpu Opteron_G4 -m 4096 -realtime mlock=off -smp 2,sockets=2,cores=1,threads=1 -uuid 9fd58d92-1926-4df3-8ec5-c8f2d5ebe358 -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/win2k8.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=localtime,driftfix=slew -global kvm-pit.lost_tick_policy=discard -no-hpet -no-reboot -global PIIX4_PM.disable_s3=1 -global PIIX4_PM.disable_s4=1 -boot strict=on -device ich9-usb-ehci1,id=usb,bus=pci.0,addr=0x5.0x7 -device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.0,multifunction=on,addr=0x5 -device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pci.0,addr=0x5.0x1 -device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pci.0,addr=0x5.0x2 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x6 -drive file=/data/vserver/win2k8.qcow2,if=none,id=drive-ide0-0-0,format=qcow2 -device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=2 -drive file=/data/windows.iso,if=none,id=drive-ide0-0-1,readonly=on,format=raw -device ide-cd,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1,bootindex=1 -netdev tap,fd=24,id=hostnet0 -device rtl8139,netdev=hostnet0,id=net0,mac=52:54:00:65:f8:d8,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -chardev spicevmc,id=charchannel0,name=vdagent -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.spice.0 -device usb-tablet,id=input0 -spice port=5900,addr=0.0.0.0,disable-ticketing,seamless-migration=on -device qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,bus=pci.0,addr=0x2 -device intel-hda,id=sound0,bus=pci.0,addr=0x4 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -chardev spicevmc,id=charredir0,name=usbredir -device usb-redir,chardev=charredir0,id=redir0 -chardev spicevmc,id=charredir1,name=usbredir -device usb-redir,chardev=charredir1,id=redir1 -chardev spicevmc,id=charredir2,name=usbredir -device usb-redir,chardev=charredir2,id=redir2 -chardev spicevmc,id=charredir3,name=usbredir -device usb-redir,chardev=charredir3,id=redir3 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x7 -msg timestamp=on

Formulário completo do CMD virt-install :

LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin QEMU_AUDIO_DRV=spice /usr/bin/kvm -name win2k8 -S -machine pc-i440fx-2.1,accel=kvm,usb=off -cpu Opteron_G4 -m 4096 -realtime mlock=off -smp 1,sockets=1,cores=1,threads=1 -uuid 4513688e-f1ef-4bad-a0db-b7c0d3e0f6ea -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/win2k8.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=localtime,driftfix=slew -global kvm-pit.lost_tick_policy=discard -no-hpet -no-reboot -boot strict=on -device ich9-usb-ehci1,id=usb,bus=pci.0,addr=0x5.0x7 -device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.0,multifunction=on,addr=0x5 -device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pci.0,addr=0x5.0x1 -device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pci.0,addr=0x5.0x2 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x6 -drive file=/data/vserver/win2k8.qcow2,if=none,id=drive-ide0-0-0,format=qcow2 -device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=2 -drive file=/data/windows.iso,if=none,id=drive-ide0-0-1,readonly=on,format=raw -device ide-cd,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1,bootindex=1 -netdev tap,fd=25,id=hostnet0 -device rtl8139,netdev=hostnet0,id=net0,mac=52:54:00:d8:52:9d,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -chardev spicevmc,id=charchannel0,name=vdagent -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.spice.0 -device usb-tablet,id=input0 -spice port=5900,addr=0.0.0.0,disable-ticketing,seamless-migration=on -device qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,bus=pci.0,addr=0x2 -device intel-hda,id=sound0,bus=pci.0,addr=0x4 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -chardev spicevmc,id=charredir0,name=usbredir -device usb-redir,chardev=charredir0,id=redir0 -chardev spicevmc,id=charredir1,name=usbredir -device usb-redir,chardev=charredir1,id=redir1 -chardev spicevmc,id=charredir2,name=usbredir -device usb-redir,chardev=charredir2,id=redir2 -chardev spicevmc,id=charredir3,name=usbredir -device usb-redir,chardev=charredir3,id=redir3 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x7 -msg timestamp=on

Existem duas diferenças:

Diferença 1:
virt-manager: -netdev tap,fd=24,id=hostnet0
virt-install: -netdev tap,fd=25,id=hostnet0

Diferença 2:
virt-manager: -global PIIX4_PM.disable_s3=1 -global PIIX4_PM.disable_s4=1
virt-install: (missing)

Quais são essas opções?

    
por Vince 16.09.2016 / 13:39

1 resposta

0

Não use dispositivos virtio sem seus drivers para o Windows. De início, você pode tentar instalar o Windows nessa VM:

virt-install \
--name=win1 \
--memory 2048 \
--os-type=windows \
--os-variant=win2k8 \
--network bridge=br0,model=e1000 \
--disk pool=data,size=8,bus=ide \
--cdrom /data/windows.iso \
--video=vga \
--graphics vnc,password=testpw

Você pode tentar instalar a VM em dispositivos virtio, mas é necessário adicionar drivers do virtio às janelas na instalação do srart do Windows.

Drivers que você pode obter em http://www.linux-kvm.org/page/WindowsGuestDrivers/Download_Drivers

    
por 17.09.2016 / 07:34

Tags