Roland Giesler
2013-Jul-04 20:21 UTC
[libvirt-users] Libvirt, virtmanager & Windows 7 installation partition
I need to use an existing windows 7 installation in a virtual machine form a libvirt host running Ubuntu 12.10. Windows 7 installs on two partitions. There a 100MB boot partitiona and then the main partition for the installation. If I boot the laptop (which dual boots), I can select Windows 7 and boot it just fine, or alternative Ubuntu. If I select /dev/sda1 in the virtmanager as the source path I can see dis activity, but in the VM window the "booting from hard disk..." text never does away. If I select /dev/sda2 (where the windows installation resides (and which is not marked as bootable), I get a boot failure right away. Here is what /var/log/syslog has: Jul 4 22:11:02 Matt-HP ntfs-3g[8385]: Version 2012.1.15AR.5 external FUSE 29 Jul 4 22:11:02 Matt-HP ntfs-3g[8385]: Mounted /dev/sda2 (Read-Write, label "", NTFS 3.1) Jul 4 22:11:02 Matt-HP ntfs-3g[8385]: Cmdline options: rw,nosuid,nodev,uhelper=udisks2,uid=1001,gid=1001,dmask=0077,fmask=0177 Jul 4 22:11:02 Matt-HP ntfs-3g[8385]: Mount options: rw,nosuid,nodev,uhelper=udisks2,allow_other,nonempty,relatime,default_permissions,fsname=/dev/sda2,blkdev,blksize=4096 Jul 4 22:11:02 Matt-HP ntfs-3g[8385]: Global ownership and permissions enforced, configuration type 7 Jul 4 22:11:02 Matt-HP udisksd[2569]: Mounted /dev/sda2 at /media/roland/BE26AE8326AE3C71 on behalf of uid 1001 Jul 4 22:12:31 Matt-HP kernel: [15366.356259] audit_printk_skb: 48 callbacks suppressed Jul 4 22:12:31 Matt-HP kernel: [15366.356265] type=1400 audit(1372968751.291:34): apparmor="STATUS" operation="profile_load" name="libvirt-c6a90ff5-9849-2ec5-fc8e-a331b144ceff" pid=8540 comm="apparmor_parser" Jul 4 22:12:31 Matt-HP kernel: [15366.584252] device vnet0 entered promiscuous mode Jul 4 22:12:31 Matt-HP kernel: [15366.588663] virbr0: topology change detected, propagating Jul 4 22:12:31 Matt-HP kernel: [15366.588669] virbr0: port 1(vnet0) entered forwarding state Jul 4 22:12:31 Matt-HP kernel: [15366.588685] virbr0: port 1(vnet0) entered forwarding state Jul 4 22:12:31 Matt-HP kernel: [15366.588963] IPv6: ADDRCONF(NETDEV_CHANGE): virbr0: link becomes ready Jul 4 22:12:31 Matt-HP NetworkManager[986]: SCPlugin-Ifupdown: devices added (path: /sys/devices/virtual/net/vnet0, iface: vnet0) Jul 4 22:12:31 Matt-HP NetworkManager[986]: SCPlugin-Ifupdown: device added (path: /sys/devices/virtual/net/vnet0, iface: vnet0): no ifupdown configuration found. Jul 4 22:12:32 Matt-HP NetworkManager[986]: <warn> /sys/devices/virtual/net/vnet0: couldn't determine device driver; ignoring... Jul 4 22:12:33 Matt-HP avahi-daemon[935]: Joining mDNS multicast group on interface vnet0.IPv6 with address fe80::fc54:ff:fe8a:8f93. Jul 4 22:12:33 Matt-HP avahi-daemon[935]: New relevant interface vnet0.IPv6 for mDNS. Jul 4 22:12:33 Matt-HP avahi-daemon[935]: Registering new address record for fe80::fc54:ff:fe8a:8f93 on vnet0.*. Is there anything that I can learn from this log? What could I do to make this work. Dual booting it not an option in this case. regards Roland Giesler +27 (0)72-450-2817 http://www.giesler.za.net Disclaimer: The sender invokes the rule of "exemptus responsibilitus" pertaining to caffeine soluted inductions and/or decantations thereof into tactile communication interfaces and alternative apparatuses with respect to personal computation devices or otherwise implementations of electronic and/or bionic devices. This impartation is intended for the addressed party, unless conditions contrary to the aforementioned exist, in which case it is pertinent. Reduce without further ado to nothingness said impartation; alternatively "refrain from traversing the point of origination, be not enriched by 200 Randus and proceed without delay to enjailment".
Laine Stump
2013-Jul-05 05:30 UTC
Re: [libvirt-users] Libvirt, virtmanager & Windows 7 installation partition
On 07/04/2013 04:21 PM, Roland Giesler wrote:> I need to use an existing windows 7 installation in a virtual machine > form a libvirt host running Ubuntu 12.10. > > Windows 7 installs on two partitions. There a 100MB boot partitiona > and then the main partition for the installation. > > If I boot the laptop (which dual boots), I can select Windows 7 and > boot it just fine, or alternative Ubuntu. > > If I select /dev/sda1 in the virtmanager as the source path I can see > dis activity, but in the VM window the "booting from hard disk..." > text never does away. > > If I select /dev/sda2 (where the windows installation resides (and > which is not marked as bootable), I get a boot failure right away.While what you're seeing with a failure this early in the boot process may have something to do with disk geometry or naming, note that booting an existing Windows installation as a virtual machine is fraught with peril. This is because Windows tailors what it installs on a particular machine to the hardware of the machine at the time of the installation. A virtual machine is *not* the same as the physical machine it is running on (for example, qemu virtual machines currently all use the i440FX chipset, which hasn't been manufactured in probably 15 years or so), so if you try to boot an installation created on real (and certainly much more modern) hardware in a virtual machine, Windows will see the difference and could "freak out"; the result could be something as innocuous as automatically installing some new drivers for the "new hardware" it has found, or it could require you to re-activate your copy of Windows (whatever that entails these days - the newest Windows that I've run is WinXP :-P), or it could result in a total disaster of a failure to boot or blue screen. There is a package called "virt-p2v that can help in converting an existing Windows installation over so that it will run properly under qemu (it mounts the image from Linux and injects new/different drivers and registry changes). However, this is a permanent, one way process - once you've done this to a Windows installation, you can't go back and run it directly on hardware. (well, that's actually glossing things over a bit; I believe the way virt-p2v works is to make a *copy* of the original machine's disk, then modify that copy so the original is still there, but then you have two copies, and changes to one will not be registered in the other... you see the problem). So if you're willing to permanently use this windows installation only as a virtual machine, you should look into virt-p2v (at least to see the kind of stuff it does). If you're not willing to make a permanent switch, you may want to rethink your goals.> > Here is what /var/log/syslog has: > > Jul 4 22:11:02 Matt-HP ntfs-3g[8385]: Version 2012.1.15AR.5 external FUSE 29 > Jul 4 22:11:02 Matt-HP ntfs-3g[8385]: Mounted /dev/sda2 (Read-Write, > label "", NTFS 3.1) > Jul 4 22:11:02 Matt-HP ntfs-3g[8385]: Cmdline options: > rw,nosuid,nodev,uhelper=udisks2,uid=1001,gid=1001,dmask=0077,fmask=0177 > Jul 4 22:11:02 Matt-HP ntfs-3g[8385]: Mount options: > rw,nosuid,nodev,uhelper=udisks2,allow_other,nonempty,relatime,default_permissions,fsname=/dev/sda2,blkdev,blksize=4096 > Jul 4 22:11:02 Matt-HP ntfs-3g[8385]: Global ownership and > permissions enforced, configuration type 7 > Jul 4 22:11:02 Matt-HP udisksd[2569]: Mounted /dev/sda2 at > /media/roland/BE26AE8326AE3C71 on behalf of uid 1001Wait! This is another problem - you can't mount the device in the host OS *and* try to use it as a block device for a virtual guest! If you manage to be successful in booting the guest, you'll then have two independent entities modifying the same file system at the same time, which will lead to disaster in the form of a corrupt disk very quickly. If you're going to use a disk in a guest, don't mount it in the host, and if you're going to mount it in the host, don't use it in a guest.> Jul 4 22:12:31 Matt-HP kernel: [15366.356259] audit_printk_skb: 48 > callbacks suppressed > Jul 4 22:12:31 Matt-HP kernel: [15366.356265] type=1400 > audit(1372968751.291:34): apparmor="STATUS" operation="profile_load" > name="libvirt-c6a90ff5-9849-2ec5-fc8e-a331b144ceff" pid=8540 > comm="apparmor_parser" > Jul 4 22:12:31 Matt-HP kernel: [15366.584252] device vnet0 entered > promiscuous mode > Jul 4 22:12:31 Matt-HP kernel: [15366.588663] virbr0: topology change > detected, propagating > Jul 4 22:12:31 Matt-HP kernel: [15366.588669] virbr0: port 1(vnet0) > entered forwarding state > Jul 4 22:12:31 Matt-HP kernel: [15366.588685] virbr0: port 1(vnet0) > entered forwarding state > Jul 4 22:12:31 Matt-HP kernel: [15366.588963] IPv6: > ADDRCONF(NETDEV_CHANGE): virbr0: link becomes ready > Jul 4 22:12:31 Matt-HP NetworkManager[986]: SCPlugin-Ifupdown: > devices added (path: /sys/devices/virtual/net/vnet0, iface: vnet0) > Jul 4 22:12:31 Matt-HP NetworkManager[986]: SCPlugin-Ifupdown: > device added (path: /sys/devices/virtual/net/vnet0, iface: vnet0): no > ifupdown configuration found. > Jul 4 22:12:32 Matt-HP NetworkManager[986]: <warn> > /sys/devices/virtual/net/vnet0: couldn't determine device driver; > ignoring... > Jul 4 22:12:33 Matt-HP avahi-daemon[935]: Joining mDNS multicast > group on interface vnet0.IPv6 with address fe80::fc54:ff:fe8a:8f93. > Jul 4 22:12:33 Matt-HP avahi-daemon[935]: New relevant interface > vnet0.IPv6 for mDNS. > Jul 4 22:12:33 Matt-HP avahi-daemon[935]: Registering new address > record for fe80::fc54:ff:fe8a:8f93 on vnet0.*. > > Is there anything that I can learn from this log?Not much (other than that NetworkManager can't seem to keep its mitts of of libvirt's tap devices :-/, but that's not related to your problem). You *might* see something useful in /var/log/libvirt/qemu/$guestname.log, but it's unlikely. Beyond that, investigating something like this usually requires looking at the guest's libvirt config ("virsh dumpxml $guestname"), although in this case I think you have much bigger problems.> What could I do to > make this work. Dual booting it not an option in this case.As mentioned above - if you're willing to give up native Windows boot forever, then look into virt-p2v or something similar. Otherwise, you'll have to dual boot, or have two separate Windows images - one for native boot and one for booting as a guest.> > Disclaimer: The sender invokes the rule of "exemptus responsibilitus" > pertaining to caffeine soluted inductions and/or decantations thereof > into tactile communication interfaces and alternative apparatuses with > respect to personal computation devices or otherwise implementations > of electronic and/or bionic devices. This impartation is intended for > the addressed party, unless conditions contrary to the aforementioned > exist, in which case it is pertinent. Reduce without further ado to > nothingness said impartation; alternatively "refrain from traversing > the point of origination, be not enriched by 200 Randus and proceed > without delay to enjailment". >Brilliant!! :-) This makes at least as much sense as the ones that think they're serious...
Roland Giesler
2013-Jul-05 08:04 UTC
Re: [libvirt-users] Libvirt, virtmanager & Windows 7 installation partition
On Fri, Jul 5, 2013 at 7:30 AM, Laine Stump <laine@laine.org> wrote:> On 07/04/2013 04:21 PM, Roland Giesler wrote: >> I need to use an existing windows 7 installation in a virtual machine >> form a libvirt host running Ubuntu 12.10.<snip>> > While what you're seeing with a failure this early in the boot process > may have something to do with disk geometry or naming, note that booting > an existing Windows installation as a virtual machine is fraught with > peril. This is because Windows tailors what it installs on a particular > machine to the hardware of the machine at the time of the installation. > A virtual machine is *not* the same as the physical machine it is > running on (for example, qemu virtual machines currently all use the > i440FX chipset, which hasn't been manufactured in probably 15 years or > so), so if you try to boot an installation created on real (and > certainly much more modern) hardware in a virtual machine, Windows will > see the difference and could "freak out"; the result could be something > as innocuous as automatically installing some new drivers for the "new > hardware" it has found, or it could require you to re-activate your copy > of Windows (whatever that entails these days - the newest Windows that > I've run is WinXP :-P), or it could result in a total disaster of a > failure to boot or blue screen.I get exactly what you mean, Laine, yes. Thanks for the clarification. I was expecting at least some form of Windows OS response though, not just the libvirt messages.> > There is a package called "virt-p2v that can help in converting an > existing Windows installation over so that it will run properly under > qemu (it mounts the image from Linux and injects new/different drivers > and registry changes). However, this is a permanent, one way process - > once you've done this to a Windows installation, you can't go back and > run it directly on hardware. (well, that's actually glossing things over > a bit; I believe the way virt-p2v works is to make a *copy* of the > original machine's disk, then modify that copy so the original is still > there, but then you have two copies, and changes to one will not be > registered in the other... you see the problem). > > So if you're willing to permanently use this windows installation only > as a virtual machine, you should look into virt-p2v (at least to see the > kind of stuff it does). If you're not willing to make a permanent > switch, you may want to rethink your goals.I could create a Win7 VM (I have enough disk space for this), but there are games and things installed in the Win7 installation (which my adult son doesn't want to loose! LOL), so I'm going to have navigate this one carefully. :-) I suspect that if I convert this permanently, the VM will be substantially slower since the laptop processor doesn't support hardware virt extensions, so games won't run very well.> > >> >> Here is what /var/log/syslog has: >> >> Jul 4 22:11:02 Matt-HP ntfs-3g[8385]: Version 2012.1.15AR.5 external FUSE 29 >> Jul 4 22:11:02 Matt-HP ntfs-3g[8385]: Mounted /dev/sda2 (Read-Write, >> label "", NTFS 3.1) >> Jul 4 22:11:02 Matt-HP ntfs-3g[8385]: Cmdline options: >> rw,nosuid,nodev,uhelper=udisks2,uid=1001,gid=1001,dmask=0077,fmask=0177 >> Jul 4 22:11:02 Matt-HP ntfs-3g[8385]: Mount options: >> rw,nosuid,nodev,uhelper=udisks2,allow_other,nonempty,relatime,default_permissions,fsname=/dev/sda2,blkdev,blksize=4096 >> Jul 4 22:11:02 Matt-HP ntfs-3g[8385]: Global ownership and >> permissions enforced, configuration type 7 >> Jul 4 22:11:02 Matt-HP udisksd[2569]: Mounted /dev/sda2 at >> /media/roland/BE26AE8326AE3C71 on behalf of uid 1001 > > Wait! This is another problem - you can't mount the device in the host > OS *and* try to use it as a block device for a virtual guest! If you > manage to be successful in booting the guest, you'll then have two > independent entities modifying the same file system at the same time, > which will lead to disaster in the form of a corrupt disk very quickly. > > If you're going to use a disk in a guest, don't mount it in the host, > and if you're going to mount it in the host, don't use it in a guest.I'll have to investigate why that happens since I don't have that partition mounted intentionally!> >> Jul 4 22:12:31 Matt-HP kernel: [15366.356259] audit_printk_skb: 48 >> callbacks suppressed >> Jul 4 22:12:31 Matt-HP kernel: [15366.356265] type=1400 >> audit(1372968751.291:34): apparmor="STATUS" operation="profile_load" >> name="libvirt-c6a90ff5-9849-2ec5-fc8e-a331b144ceff" pid=8540 >> comm="apparmor_parser" >> Jul 4 22:12:31 Matt-HP kernel: [15366.584252] device vnet0 entered >> promiscuous mode >> Jul 4 22:12:31 Matt-HP kernel: [15366.588663] virbr0: topology change >> detected, propagating >> Jul 4 22:12:31 Matt-HP kernel: [15366.588669] virbr0: port 1(vnet0) >> entered forwarding state >> Jul 4 22:12:31 Matt-HP kernel: [15366.588685] virbr0: port 1(vnet0) >> entered forwarding state >> Jul 4 22:12:31 Matt-HP kernel: [15366.588963] IPv6: >> ADDRCONF(NETDEV_CHANGE): virbr0: link becomes ready >> Jul 4 22:12:31 Matt-HP NetworkManager[986]: SCPlugin-Ifupdown: >> devices added (path: /sys/devices/virtual/net/vnet0, iface: vnet0) >> Jul 4 22:12:31 Matt-HP NetworkManager[986]: SCPlugin-Ifupdown: >> device added (path: /sys/devices/virtual/net/vnet0, iface: vnet0): no >> ifupdown configuration found. >> Jul 4 22:12:32 Matt-HP NetworkManager[986]: <warn> >> /sys/devices/virtual/net/vnet0: couldn't determine device driver; >> ignoring... >> Jul 4 22:12:33 Matt-HP avahi-daemon[935]: Joining mDNS multicast >> group on interface vnet0.IPv6 with address fe80::fc54:ff:fe8a:8f93. >> Jul 4 22:12:33 Matt-HP avahi-daemon[935]: New relevant interface >> vnet0.IPv6 for mDNS. >> Jul 4 22:12:33 Matt-HP avahi-daemon[935]: Registering new address >> record for fe80::fc54:ff:fe8a:8f93 on vnet0.*. >> >> Is there anything that I can learn from this log? > > Not much (other than that NetworkManager can't seem to keep its mitts of > of libvirt's tap devices :-/, but that's not related to your problem). > > You *might* see something useful in > /var/log/libvirt/qemu/$guestname.log, but it's unlikely.This is what I have in /var/log/libvirt/qemu/wind.log 2013-07-04 21:11:31.683+0000: starting up LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin QEMU_AUDIO_DRV=none /usr/bin/qemu-system-i386 -name wind -S -M pc-1.2 -no-kvm -m 1024 -smp 2,sockets=2,cores=1,threads=1 -uuid c6a90ff5-9849-2ec5-fc8e-a331b144ceff -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/wind.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=localtime -no-shutdown -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive file=/dev/sda1,if=none,id=drive-ide0-0-0,format=raw -device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 -netdev tap,fd=18,id=hostnet0 -device rtl8139,netdev=hostnet0,id=net0,mac=52:54:00:8a:8f:93,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -device usb-tablet,id=input0 -vnc 127.0.0.1:0 -vga std -device intel-hda,id=sound0,bus=pci.0,addr=0x4 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5 char device redirected to /dev/pts/5 qemu-system-i386: -device rtl8139,netdev=hostnet0,id=net0,mac=52:54:00:8a:8f:93,bus=pci.0,addr=0x3: pci_add_option_rom: failed to find romfile "pxe-rtl8139.rom" qemu: terminating on signal 15 from pid 11974 Would the missing "pxe-rtl8139.rom" stall the process?> Beyond that, investigating something like this usually requires looking > at the guest's libvirt config ("virsh dumpxml $guestname"), although in > this case I think you have much bigger problems. > > >> What could I do to >> make this work. Dual booting it not an option in this case. > > As mentioned above - if you're willing to give up native Windows boot > forever, then look into virt-p2v or something similar. Otherwise, you'll > have to dual boot, or have two separate Windows images - one for native > boot and one for booting as a guest. > >> >> Disclaimer: The sender invokes the rule of "exemptus responsibilitus" >> pertaining to caffeine soluted inductions and/or decantations thereof >> into tactile communication interfaces and alternative apparatuses with >> respect to personal computation devices or otherwise implementations >> of electronic and/or bionic devices. This impartation is intended for >> the addressed party, unless conditions contrary to the aforementioned >> exist, in which case it is pertinent. Reduce without further ado to >> nothingness said impartation; alternatively "refrain from traversing >> the point of origination, be not enriched by 200 Randus and proceed >> without delay to enjailment". >> > > Brilliant!! :-) This makes at least as much sense as the ones that think > they're serious...I hate there convoluted sigs one sees especially in business emails. Here's what my serious business disclaimer says: Please note: Regretfully we are unable to accept email disclaimers. Unless otherwise agreed in advance, all mail sent to thegreentree.za.net becomes ours (generally like anything else sent to us) and we are free to deal with in any manner we see fit. If you disagree with this, please consider communicating with us in a way you may find more suitable. Thanks for you input so far! regards Roland