What determines the order of hard drives

hard drive

I've got three hard drives installed in my PC, though the drive order shown in Windows doesn't reflect the order in which the drives are installed:

  • SATA 1: 120gb drive
  • SATA 2: 320gb drive
  • SATA 3: 750gb drive

In BIOS, this shows up correctly. However, in the 'Disk Management' utility in Windows, it sees the drives as follows:

  • Disk 1: 120gb drive
  • Disk 2: 750gb drive
  • Disk 3: 320gb drive

I've tried using BootIt NG which appears to see the drives in the same order as Windows rather than the order in which they are connected to the SATA controllers on the motherboard.

I'm curious as to what factors determine the order in which software sees the hard drives, and if there's any way in which to 'reset' this to reflect the actual physical order?

Update

My motherboard is the Asus P5E, and the hard drives are all different: 120gb SSD, 320gb WD, and 750gb Seagate. After looking through the BIOS, I found an option that allows the drive order to be changed, though this doesn't seem to be reflected in Windows or BootIt NG, which still seem to list drives in some arbitrary order. The main purpose it seems to serve is allowing the hard drive used for booting to be changed.

Admittedly, the actual physical order of the drives isn't that important as Windows allows drive letters to be easily re-assigned as required, though I was just curious as to how the drive order was determined. If they aren't detected in the same order as they are connected, then it seems like the sequential numbering of the SATA connectors doesn't really mean anything and could just as easily have non-sequential labels.

Best Answer

From this KB article:

The disk-assignment numbers may not necessarily match the corresponding SATA or RAID channel numbers. There is no assurance of a consistent relationship between PnP enumeration and the order of the hard disks that are detected during setup. Devices are presented in the order in which they are enumerated. Therefore, the disk-assignment numbers may change between startups. For example, assume that you run Windows Vista, Windows Server 2008, Windows Server 2008 R2, or Windows 7 Setup on a computer that has two unformatted SATA or RAID hard disks. In this situation, Windows may present the second hard disk as Disk 0 when you are prompted for the disk on which to install Windows Vista, Windows Server 2008, Windows Server 2008 R2, or Windows 7.

Related Question