Hello, The xm config option boot="c" is intended to boot from the "first" harddrive; however, the enumeration of harddrives is independent of device enumeration (hda|hdb|hdc|hdd), leading to unreliable boot device selection. Example A: I am building a Windows HVM appliance which performs file-system level operations over mounted NTFS volumes - for example a file-system level copy. hda is the boot disk of the appliance and contains a single active (bootable) primary partition. If hdb also contains a single active primary partition, sometimes the appliance boots from hda and properly mounts the hdb partition and sometimes it misfires and boots from the hdb partition, causing a disaster (the contents of hdb are unknown to the appliance prior to boot). Example B: Make three copies of a bootable Windows image and set them up as hda, hdb, and hdc. "xm create" boots from the active partition of hda. Shutdown and reorder the devices, switching the images for hda and hdc. "xm create" now boots from the active partition of hdc. Is there any method to cause an HVM guest to reliably boot from hda? Any insight would be appreciated. Thank you, Stephen Quintero _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On 8/7/08 01:24, "Stephen Quintero" <stephen@3tera.com> wrote:> Example A: > > I am building a Windows HVM appliance which performs file-system level > operations over mounted NTFS volumes - for example a file-system level copy. > > hda is the boot disk of the appliance and contains a single active (bootable) > primary partition. If hdb also contains a single active primary partition, > sometimes the appliance boots from hda and properly mounts the hdb partition > and sometimes it misfires and boots from the hdb partition, causing a disaster > (the contents of hdb are unknown to the appliance prior to boot). > > Example B: > > Make three copies of a bootable Windows image and set them up as hda, hdb, and > hdc. "xm create" boots from the active partition of hda. Shutdown and > reorder the devices, switching the images for hda and hdc. "xm create" now > boots from the active partition of hdc. > > Is there any method to cause an HVM guest to reliably boot from hda?Is the selected disc deterministic for any particular config file, or does it change randomly across reboots, with no changes to the guest config file? -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On 8/7/08 01:24, "Stephen Quintero" <stephen@3tera.com> wrote:> Is there any method to cause an HVM guest to reliably boot from hda? > > Any insight would be appreciated.Reading the BIOS code, my understanding is that ''boot from hard disk'' means to boot from the first connected hard drive enumerated in the following order: primary master, primary slave, secondary master, secondary slave (i.e., hda-hdd). I confirmed this with a few simple tests -- attach a bootable image to hdd boots fine, but if I connect a non-bootable image on any of hha-hdc then the system fails to boot. This is all entirely deterministic. Selection of boot device should not be random, nor change across reboots. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir, Thank you for your reply. I agree it should be deterministic, according to the enumeration of the devices (hda-hdd), but, alas, it is not. See example B in my original post where hda|hdb|hdc all contain active partitions but the guest boots from hdc. See also example A in my post where hda is always a bootable image but sometimes the guest boots from hdb (you may not easily recreate this scenario yourself, but example B is simple to reproduce). Stephen -----Original Message----- From: Keir Fraser [mailto:keir.fraser@eu.citrix.com] Sent: Tuesday, July 08, 2008 2:12 AM To: Stephen Quintero; xen-devel@lists.xensource.com Cc: Apoorva Kulkarni; Minh Quach; Eric Tessler Subject: Re: [Xen-devel] HVMAssist BIOS boot device problem On 8/7/08 01:24, "Stephen Quintero" <stephen@3tera.com> wrote:> Is there any method to cause an HVM guest to reliably boot from hda? > > Any insight would be appreciated.Reading the BIOS code, my understanding is that ''boot from hard disk'' means to boot from the first connected hard drive enumerated in the following order: primary master, primary slave, secondary master, secondary slave (i.e., hda-hdd). I confirmed this with a few simple tests -- attach a bootable image to hdd boots fine, but if I connect a non-bootable image on any of hha-hdc then the system fails to boot. This is all entirely deterministic. Selection of boot device should not be random, nor change across reboots. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On 8/7/08 14:52, "Stephen Quintero" <stephen@3tera.com> wrote:> See example B in my original post where hda|hdb|hdc all contain active > partitions but the guest boots from hdc.I checked an example where hda was not bootable yet hdd was. In that case the BIOS wanted to boot from hda, and failed, and that was that. I''m afraid that, plus reading the BIOS code, was as far as I went in trying to repro this oddness. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Stephen Quintero wrote:> Keir, > > Thank you for your reply. > > I agree it should be deterministic, according to the enumeration of the > devices (hda-hdd), but, alas, it is not.Realize that Xen (QEMU BIOS) is only determining which MBR is loaded and executed. After that you are at the mercy of the boot loader in question. Windows in particular doesn''t "support" multiple visible system partitions, or rather, doesn''t specify the selection of the appropriate system partition. In your example B below, if you destroy the boot block on hda, you will fail to boot anything. If you "hide" all windows partitions on hdb/hdc/hdd, you will indeed boot the system volume on hda. This is exactly what many multiboot boot loaders do. The partition tables are usually modified in memory only, not on the physical disk itself. Steve> See example B in my original post where hda|hdb|hdc all contain active > partitions but the guest boots from hdc. > > See also example A in my post where hda is always a bootable image but > sometimes the guest boots from hdb (you may not easily recreate this > scenario yourself, but example B is simple to reproduce). > > Stephen > > > -----Original Message----- > From: Keir Fraser [mailto:keir.fraser@eu.citrix.com] > Sent: Tuesday, July 08, 2008 2:12 AM > To: Stephen Quintero; xen-devel@lists.xensource.com > Cc: Apoorva Kulkarni; Minh Quach; Eric Tessler > Subject: Re: [Xen-devel] HVMAssist BIOS boot device problem > > On 8/7/08 01:24, "Stephen Quintero" <stephen@3tera.com> wrote: > >> Is there any method to cause an HVM guest to reliably boot from hda? >> >> Any insight would be appreciated. > > Reading the BIOS code, my understanding is that ''boot from hard disk'' > means > to boot from the first connected hard drive enumerated in the following > order: primary master, primary slave, secondary master, secondary slave > (i.e., hda-hdd). I confirmed this with a few simple tests -- attach a > bootable image to hdd boots fine, but if I connect a non-bootable image > on > any of hha-hdc then the system fails to boot. This is all entirely > deterministic. Selection of boot device should not be random, nor change > across reboots. > > -- Keir > > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Steve, Okay, I get it. The BIOS is picking the MBR of hda and the windows boot loader is deciding to boot from the active partition of hdc. A boot loader problem. Thanks you, Stephen -----Original Message----- From: Steve Ofsthun [mailto:sofsthun@virtualiron.com] Sent: Tuesday, July 08, 2008 7:05 AM To: Stephen Quintero Cc: Keir Fraser; xen-devel@lists.xensource.com; Apoorva Kulkarni; Minh Quach; Eric Tessler Subject: Re: [Xen-devel] HVMAssist BIOS boot device problem Stephen Quintero wrote:> Keir, > > Thank you for your reply. > > I agree it should be deterministic, according to the enumeration ofthe> devices (hda-hdd), but, alas, it is not.Realize that Xen (QEMU BIOS) is only determining which MBR is loaded and executed. After that you are at the mercy of the boot loader in question. Windows in particular doesn''t "support" multiple visible system partitions, or rather, doesn''t specify the selection of the appropriate system partition. In your example B below, if you destroy the boot block on hda, you will fail to boot anything. If you "hide" all windows partitions on hdb/hdc/hdd, you will indeed boot the system volume on hda. This is exactly what many multiboot boot loaders do. The partition tables are usually modified in memory only, not on the physical disk itself. Steve> See example B in my original post where hda|hdb|hdc all contain active > partitions but the guest boots from hdc. > > See also example A in my post where hda is always a bootable image but > sometimes the guest boots from hdb (you may not easily recreate this > scenario yourself, but example B is simple to reproduce). > > Stephen > > > -----Original Message----- > From: Keir Fraser [mailto:keir.fraser@eu.citrix.com] > Sent: Tuesday, July 08, 2008 2:12 AM > To: Stephen Quintero; xen-devel@lists.xensource.com > Cc: Apoorva Kulkarni; Minh Quach; Eric Tessler > Subject: Re: [Xen-devel] HVMAssist BIOS boot device problem > > On 8/7/08 01:24, "Stephen Quintero" <stephen@3tera.com> wrote: > >> Is there any method to cause an HVM guest to reliably boot from hda? >> >> Any insight would be appreciated. > > Reading the BIOS code, my understanding is that ''boot from hard disk'' > means > to boot from the first connected hard drive enumerated in thefollowing> order: primary master, primary slave, secondary master, secondaryslave> (i.e., hda-hdd). I confirmed this with a few simple tests -- attach a > bootable image to hdd boots fine, but if I connect a non-bootableimage> on > any of hha-hdc then the system fails to boot. This is all entirely > deterministic. Selection of boot device should not be random, norchange> across reboots. > > -- Keir > > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel