[libvirt] Windows VM doesn't start as Linux one does

Daniel P. Berrange berrange at redhat.com
Thu Nov 12 12:04:38 UTC 2009


On Thu, Nov 12, 2009 at 12:54:07PM +0100, Daniel Huhardeaux wrote:
> Daniel P. Berrange a écrit :
> 
> Hi Daniel,
> 
> >On Wed, Nov 11, 2009 at 06:56:37PM +0100, Daniel Huhardeaux wrote:
> >>My start script -which started without any problem my XPHome VM- is:
> >>
> >>#!/bin/bash
> >>
> >>AUDIO="es1370"
> >>VGA="std"
> >>
> >>sudo /usr/bin/kvm -localtime -cdrom /dev/scd0 -boot c -hda 
> >>/media/XP/vdisk.img -hdb /media/XP/vdisk1.img -m 512 -soundhw $AUDIO 
> >>-vga $VGA\
> >>      -net nic,vlan=0 -net vde,vlan=0,sock=/var/run/vde.ctl -usb -smb 
> >>public -monitor tcp:127.0.0.1:32011,server,nowait &


> LC_ALL=C 
> PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 
> HOME=/home/dh USER=root LOGNAME=root QEMU_AUDIO_DRV=none /usr/bin/kvm -S 
> -M pc -m 512 -smp 1 -name XPHome -uuid 
> 26e5de74-0841-c4b3-4cc1-e0df0f93cb31 -monitor 
> unix:/var/lib/libvirt/qemu/XPHome.monitor,server,nowait -localtime 
> -no-acpi -boot c -drive file=/media/XP/vdisk.img,if=ide,index=0,boot=on 
> -drive file=/media/XP/vdisk1.img,if=ide,index=1 -drive 
> file=/dev/cdrom,if=ide,media=cdrom,index=2 -net 
> nic,macaddr=54:52:00:7a:ee:01,vlan=0,name=nic.0 -net 
> tap,fd=17,vlan=0,name=tap.0 -serial pty -parallel none -usb -usbdevice 
> tablet -vnc 127.0.0.1:0 -k en-us -vga cirrus -soundhw es1370

The most likely problem here is that the libvirt args have acpi turned
off. Add the '<acpi/>'  element within <features> in the libvirt XML.
That should get rid of the '-no-acpi' flag libvirt added.

One more likely problem here is the different of 'cirrus' vs 'std'.
Windows hates having its graphics card changed behind its back :-)
Try changing the libvirt XML for <video> to 'vga' instead of 'cirrus'.
That will make libvirt spawn QEMU with '-vga std' which matches your
script.


> char device redirected to /dev/pts/6
> 
> Running this command in a terminal i get
> 
> TUNGETIFF ioctl() failed: Bad file descriptor
> TUNSETOFFLOAD ioctl() failed: Bad file descriptor

That's not a problem - libvirt passes the file descriptor to QEMU when
it starts it.

Daniel
-- 
|: Red Hat, Engineering, London   -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-  F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|




More information about the libvir-list mailing list