On Saturday 31 March 2007 06:24, Hitoshi Ozeki wrote: > > Please see 'grub-1.96/loader/i386/pc/chainloader.c' and > > 'grub-1.96/kern/loader.c' > > > > When we execute the 'boot' command, process the 'grub_loader_boot()' > > (omit it) > > To sum up, On 'chainloader' of i386-pc, > However 'grub_loader_boot()' executes 'grub_device_open()', it will fail > always. > But 'grub_loader_boot()' do it. > > If this behavior is wrong, we do only fix it.
You are right. This is wrong. I will have a look later. > What I wish to know is which is the boot drive. > > 1. 'root' environment indicates it. > 2. argument of 'chainloader' command indicates it. > > For example: > grub> set root=hd0,1 > grub> chainloader (hd0,2)0+2 > grub> boot > > If the 1st is, boot from (hd0,1) and bootloader is (hd0,2)0+2. > If the 2nd is, boot from (hd0,2) and bootloader is (hd0,2)0+2. > > ...Aha! EFI looks to choose 1st. Should I obey it? Yes. This is the intented behavior. The distinction is important, because you might want to save a boot sector at somewhere else, and chainload it later. This feature makes recovery much easier. Okuji _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel