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

Reply via email to