On my Windows 7 computer, I have two "drives", a RAID 10 system drive and a RAID 1 data drive. The data drive shows as "Disk 0" in Disk Management, even though it booted from "Disk 1". So, it would appear that there is no correlation to BIOS' and Windows' numbering of disks available to the system, as Shao supposed. I also confirmed (with LoadOrder.exe) that the driver for the RAID 1 controller loads before the driver for the RAID 10 controller. This supports Shao's guess that Windows' disk numbering is determined by driver load order. There is no guarantee that this holds true for all versions of Windows, YMMV.
Rob From: gpxe-boun...@etherboot.org [mailto:gpxe-boun...@etherboot.org] On Behalf Of Shao Miller Sent: Tuesday, January 18, 2011 10:00 AM To: Binh Thai Cc: gpxe@etherboot.org Subject: Re: [gPXE] Change drive number of the iscsi boot drive? 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
_______________________________________________ gPXE mailing list gPXE@etherboot.org http://etherboot.org/mailman/listinfo/gpxe