Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

A desktop system had two drives (Assigned C and D, which were enumerated in Disk Management as Disk 0 and Disk 1). A new SSD was added as the boot drive, after copying the C drive to the SSD. The SSD was connected to SATA 0 (master) port on the motherboard. The previous C Drive was moved to SATA 2 and is reformatted as a non-booting NTFS partition. The D drive remained on SATA 1.

The system boots and everything seems fine. I was able to manually adjust the Drive Letters. However, the list in Disk Management is re-ordered. Disk 0 is the the previous Disk 2 (D Drive) on SATA 1, Disk 1 is the new Boot Drive (now C) on SATA 0, and Disk 2 is the former C Drive (now assigned E) on SATA 2.

Does the Disk 0, 1, 2, designation mean anything? I would prefer to have them display in Disk Management as Drives C, D, and E from top to bottom. Is the Disk enumeration based on the SATA port or something else? (If it was based on SATA Port, they should be ordered C, D, E. Is there any way to re-order the Disk number assignments? What actually does determine the Disk number enumeration?

share|improve this question
up vote 1 down vote accepted

The numbering depends on what sata port they are plugged into. On some motherboards (I have a Gigabyte) it has markings right on the board to tell you what port is what numeration. the only way to change it is to put them in the ports the way you want them to show in disk management. They are physical "addresses" that cannot be changed.


I am sorry I did make a mistake. I was only half complete in my answer as well as I mixed settings.

SATA drives numbering is decided by the position in ports. However You can change the order shown by Disk Management by installing a new OS to a different drive. When using SATA drives Windows decides Masters and Slaves by your Bios boot order. The first Drive with a Windows OS will be listed as C: and as Disk 0 In Disk Management. So If you install a new drive and put it in place of the other drive (Disk 0) you need to check your bios and make sure it is the first Hard Drive in the boot order if you want it to show as Disk 0 in Disk Management. It is ok to have other devices before it but must be the first hard drive. Also you must check your motherboard documentation. Some manufacturers actually make specific ports master or slave.

My mix up in settings was that jumpers are only valid for master and slave on IDE drives. There are jumpers on SATAs but they are limiters. An example being, My hard drive has 3 Gb/s operation mode. I can set a jumper to limit it to 1.5 Gb/s operation.

share|improve this answer
That is what I thought. My motherboard is also a Gigabyte - GA-P35-DS4. However the enumeration does not follow the SATA port numbering. I guess I should conclude that the motherboard is incorrectly documented, or Windows interprets the SATA ports differently than the BIOS? – tim11g Nov 3 '13 at 20:06
The strange thing is that the SATA port that was previously associated with Disk 0 is now Disk 1. It appears there is not a permanent mapping between SATA ports and Disk #'s. – tim11g Nov 3 '13 at 20:11
Further information is here <>;. This shows the Motherboard SATA ports, the BIOS labels for them, and the Disk number assigned by Windows. – tim11g Nov 3 '13 at 20:25
my ports are stacked 2x3 and it goes (top-bottom) 0-1 2-3 4-5 SATA and a 1x2 stack (top-bottom) 7-6 GSATA. They are in order but it gets confusing when so many drives lol. Not like they are labeled letters in the box lol. – jmc302005 Nov 3 '13 at 20:30
Ah yours plug into the top. mine plug into the sides. Basically the same thing though. My original C drive was in 0 but I dual booted win 8 and then eventually got rid of Win 7 so now my c is 1 because I never bothered switching them. – jmc302005 Nov 3 '13 at 20:35

According to KB937251, the order in which SATA disks are enumerated and displayed on Windows is not guaranteed to correspond to which SATA ports the disks are connected to, and can even vary between operating system startups. The article says that this is due to a design limitation of Windows:


Microsoft has confirmed that this problem is due to design limitations in the Microsoft products that are listed in the "Applies to" section. This problem occurs because drives are enumerated in the order in which they are presented to the operation system by the system BIOS.

There doesn't appear to be any workaround available to force the disks to be listed in a specific order. However, it's implied that this issue will not cause any problems in system operation, so it can be safely ignored.

share|improve this answer
The Windows enumeration order has never been claimed to be constant, with either SATA or IDE disks, nor is such required by any hardware standard, as far as I can tell. Software that relies for its correct operation on a stable disk enumeration order is bugged. – kreemoweet Jan 18 '14 at 18:29
I'm curious to know why Microsoft thinks this is an acceptable state of affairs. – Milind R Feb 18 '14 at 4:32
@Milind R: Probably because the enumeration behavior is not entirely within their control. – BoltClock Feb 18 '14 at 4:38
I understand, but why not arrange them in some definite order the first time, and use it that way everytime, irrespective of enumeration order? – Milind R Feb 18 '14 at 4:40
More importantly, the firmware definitely does give information about the order of ports. Go to a UEFI shell and check the device tree, to get an idea. Windows has no business trying to second guess the firmware. – Milind R Feb 18 '14 at 4:48

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.