@ nbhusain: Interesting approach. I have some questions.
1. Was there a reason for choosing UEFI DUET boot? Faster Windows boot?
2. Does UEFI DUET boot only work when directly booting from disk (AHCI)?
3. How about disk performance of the passed-thru disk(s) (AHCI)? Is it faster than the regular LVM based disk access, using the GPLPV drivers? N.B.: As far as I have seen, the GPLPV drivers (under Windows 7) greatly affect disk I/O speed.
4. You say you boot Xen and afterwards Windows? Though I know that dom0 is nothing but a privileged VM, don't you need to run the dom0 (Linux) to start a domU (Windows)? I'm a bit confused.
5. Do you care to share the Windows cfg file?
Forgive me for asking so many questions, but it's the first time I read about this option. And thanks for sharing this info.
My idea was to create 2 different VM's both capable of gaming/multimedia without affecting eachother under load, so my dom0 is my primary Linux desktop using gnome and 2 usb controllers, and my windows domU is my secondary desktop with 2 other usb controllers, and 1 sata controller, i chose DUET because i wanted to boot windows directly from an ahci disk instead of lvm/file/blktap, i also tried to load the option rom for the sata controller directly from hvmloader but it messes up the boot table on rombios, my setup is like this:
- 2 pinned cpus
- 3850MB ram
- 2 usb controller
- 1 sata controller (asmedia ASM1062 integrated)
- RADEON 5450 primary
- Internal audio
my grub.cfg file:
multiboot /xen-4.1.4.gz xsave=1 dom0_max_vcpus=2 dom0_vcpus_pin noselfballooning dom0_mem=3850M cpuidle
module /vmlinuz-linux root=/dev/mapper/vg0-root ro xen-pciback.permissive xen-pciback.hide=(00:11.0)(00:16.0)(00:16.2)(04:00.0)(05:00.0)(06:00.0)(07:00.0)(07:00.1)
- 6 pinned cpus
- 8GB ram
- 1 usb3 controller and 1 usb2 controller
- 1 sata controller (amd sb integrated)
- RADEON 6950 secondary (primary on guest OS)
- usb audio
my domU cfg:
kernel = "hvmloader"
memory = 8192
name = "hvm"
cpus = [ "2", "3", "4", "5", "6", "7" ]
vcpus = 6
localtime = 1
vif = [ 'bridge=br0' ]
disk = [ 'file:/root/xen/img/duet.img,xvda,w' ]
xen_platform_pci = 1
pci = [ '0000:07:00.*', '00:11.0', '04:00.0', '05:00.0', '06:00.0', '0000:00:16.*', ]
2) No DUET can boot qemu emulated disks and cdroms too, it even boots my native ahci cdrom connected to the controller, since DUET contains efi drivers, it can also boot windows/linux/etc from usb devices connected to the pass-thru controller.
Since its uefi it might be able to boot a hackintosh build but since im using an amd cpu so i didnt even try.
(if u wanna try you might also want to look at Clover bootloader http://sourceforge.net/projects/cloverefiboot/
3) Yes, its faster as it completly bypasses the dom0 and gplpv drivers, i do not pass the the real disk to the vm only the duet image.
4) No, windows boots like any other vm except it boots directly from the sata controller instead of the qemu emulated one. Xen creates the vm then it boots DUET from the qemu emulated disk, then DUET loads the ahci drives and finds \EFI\boot\bootx64.efi from the native ahci drive and boots from it.
I hope this answers your questions.
EDIT: Attached are some screenshots of the boot processEdited by nbhusain - 1/17/13 at 12:52pm