How to run Windows 7 partition as a VM in libvirt/Ubuntu/qemu?
I need to use an existing windows 7 installation in a virtual machine from a libvirt host running Ubuntu 12.10.
Windows 7 installs on two partitions. There a 100MB boot partition 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 (the gui version) as the source path I can see disk activity, but in the VM window the "booting from hard disk..." text never goes 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: Version 2012.1.15AR.5 external FUSE 29
Jul 4 22:11:02 Matt-HP ntfs-3g: Mounted /dev/sda2 (Read-Write,label "", NTFS 3.1)
Jul 4 22:11:02 Matt-HP ntfs-3g: Cmdline options:rw,nosuid,nodev,uhelper=udisks2,uid=1001,gid=1001,dmask=0077,fmask=0177
Jul 4 22:11:02 Matt-HP ntfs-3g: 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: Global ownership and permissions enforced, configuration type 7
Jul 4 22:11:02 Matt-HP udisksd: 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: SCPlugin-Ifupdown: devices added (path: /sys/devices/virtual/net/vnet0, iface: vnet0)
Jul 4 22:12:31 Matt-HP NetworkManager: SCPlugin-Ifupdown: device added (path: /sys/devices/virtual/net/vnet0, iface: vnet0): no
ifupdown configuration found.
Jul 4 22:12:32 Matt-HP NetworkManager: <warn> /sys/devices/virtual/net/vnet0: couldn't determine device driver; ignoring...
Jul 4 22:12:33 Matt-HP avahi-daemon: Joining mDNS multicast group on interface vnet0.IPv6 with address fe80::fc54:ff:fe8a:8f93.
Jul 4 22:12:33 Matt-HP avahi-daemon: New relevant interface vnet0.IPv6 for mDNS.
Jul 4 22:12:33 Matt-HP avahi-daemon: 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.
As you say, by default Windows 7 will create two partitions; one 100 Mb partition for the boot loader and a few system files, and a second partition for the main OS. Only the second partition is visible as a mounted file system in Windows (C:), although the first can be seen in Disk Manager.
In order for Windows to boot, both partitions must be available. As far as I know, you cannot create a "virtual" disk in qemu from two separate partitions, so the only way to make this work would be to make the entire sda disk available to the VM.
Should still work to boot to qemu -m 1G -hda \\(I forget this exactly for partition) -hdb \\.\hd1 or some such. See qemu doc's.
The HAL will be messed up.
Should he eventually succeed in migrating the OS to a VM, the licensing service will most likely complain loudly about changed hardware and demand reactivation.
Hello lifeboy. I can not answer your question exactly, but a while ago i desired a similar thing.
I have written detailed instructions on how i managed to boot my Windows 7 partition in virtualbox, from Debian.
I don't think i have two partitions for Windows 7 though, and i can confirm that those instruction i wrote do not work on a macbook pro, but i'm pretty sure that's because macs don't have a bios,.
As Knightron points out there are some needed fixes. In his original post I suggested a P2V app that fixes all of this. In any case the authentication scheme that MS uses will most likely be triggered. A VM is not using enough of the real hardware to let it slide. Only the processor is a registered device and even in qemu that can be changed. So HAL and activation will have to be looked at. Depending on the P2V app used some of that is automated and even transparent to the user. The better P2V apps will break the existing install. They assume you are never going back to the hardware install.
Knightron used the entire disk which is not exactly what the OP requested but it is a good to know way to attempt this.
Using a VM to boot to an existing or dual use physical drive isn't really practical.
|All times are GMT -5. The time now is 10:48 PM.|