[gPXE] Change drive number of the iscsi boot drive?

Shao Miller Shao.Miller at yrdsb.edu.on.ca
Tue Jan 18 12:00:23 EST 2011


On 1/18/2011 11:42, Binh Thai wrote:
> Hi Shao,
>
> Thanks for your reply.
>
> I forgot to mention that I meant "drive 0" in the context of Windows 
> disk drive numbering.

Oh, ok.

> My goal is to boot a system from an iscsi target without disrupting 
> the disk drive numbers of the internal hard drives. For example, if I 
> have one internal hard drive, I want to see it detected as Disk 0 
> whether I boot from it or from the iscsi target. If I boot from the 
> iSCSI target, I want to see the iscsi target as drive 1, not 0. 
> Currently, the iSCSI drive would become Disk 0 and push the internal 
> drive to Disk 1.
>
> I think the PnP enumeration process in Windows has some relationship 
> with the BIOS drive numbering. Could you please point me to some 
> in-depth documentation regarding the BIOS drive numbering and how 
> int13 is used?

I do not believe that BIOS drive numbers and Windows drive numbers have 
any correlation.  Use Microsoft's SysInternals' LoadOrd.exe to check 
your driver load order.  If you ensure that the drivers responsible for 
the internal storage adapters are loaded before the iSCSI driver, then I 
think your odds are better for the iSCSI HDD getting a higher number 
than the internal HDD(s).

However, it might be the case that the startup protocol hands an MBR 
signature from boot-up to the drive number assignment routine; in this 
case, whatever drive is used for booting (your iSCSI HDD) will be drive 
0 no matter what.  You can use Microsoft's SysInternals' WinObj.exe to 
check the mapping of the ARC names (\ArcName\) to the drive numbers 
(\Device\HarddiskX).

I can only think of a convoluted way to push the boot drive up and away 
from Windows drive number 0:
- Boot the iSCSI drive
- Have GRUB4DOS on the drive
- Have GRUB4DOS remap the drive number from 0x80 to 0x81
- Chain-load the Windows boot-loader
- Have BOOT.INI/BCD attempt to boot multi(0)disk(0)rdisk(1)partition(1) 
instead of rdisk(0) (0x81 instead of 0x80)
- If the iSCSI drive is \Device\Harddisk1 then hopefully Windows would 
also further connect it as multi(0)disk(0)rdisk(1).  ARC _and_ HDD 
numbers would then be 1 instead of 0.  (Untested.)

So having said that, I'd like to ask: _why_ do you want the drive 
numbers numbered in this way?

- Shao Miller

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://etherboot.org/pipermail/gpxe/attachments/20110118/c686c87c/attachment.html 


More information about the gPXE mailing list