Hello,

A short attempt to clarify the point, with regard to the behavior of NTLDR 
(Windows XP bootloader):

* the way the boot is processed can be summarize as follows: BIOS -> 
MasterBootRecord (specific clusters at the very beginning of the first 
activated disk) which contains Grub Stage 1 -> Grub initialization (Stage 1_5 
and Stage 2 -> reading + execution of menu.lst),

* NTLDR requires to be located on the first primary partition of the first 
active disk,

* chainloader +1 just drives to activate NTLDR (which will then start Windows).

Therefore, if NTLDR is not located where required, XP will not be launched. 

The map instruction results in 'logically' swapping the disks from the NTLDR 
standpoint and thus NTLDR accordingly to what is expected.

You should not be confident in the order ide0, ide1 which results from the 
OpenSolaris analysis ... BIOS certainly numbers the disks in a different way 
and Grub relies on the description of the resources which is established by the 
BIOS. From the BIOS standpoint, the first disk seems to be ide1 (supporting 
OpenSolaris)...

(hd1) is the second disk as identified by Grub (corresponding to ide0 in fact!)
(hd0) is the second disk as identified by Grub (corresponding to ide1)
(hd1,0) is the first partition of the second disk 
map (hd0) (hd1) => switch
chainloader (hd1,0)+1 => activation of the program located on  (hd1,0), 
logically regarded as (hd0,0) ...

When the boot order is switched, it does not work because there is no MBR on 
your second disk (hd1 - ide0).

Now, how can it be possible to understand your point (assuming the installation 
on the hard disk is achieved): "What makes this funny ,, different ,, if if I 
boot from the 2008 05 cd and select "boot from hard disk" it boots the winxp 
disk perfectly". Well, well, ...
--
This message posted from opensolaris.org

Reply via email to