5

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?

3 Answers 3

1

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.

Update:

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.

12
  • 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
    Commented Nov 3, 2013 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
    Commented Nov 3, 2013 at 20:11
  • Further information is here <i.imgur.com/dXp1fSH.png>. This shows the Motherboard SATA ports, the BIOS labels for them, and the Disk number assigned by Windows.
    – tim11g
    Commented Nov 3, 2013 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
    Commented Nov 3, 2013 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
    Commented Nov 3, 2013 at 20:35
6

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:

Status

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.

5
  • 3
    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
    Commented Jan 18, 2014 at 18:29
  • 1
    I'm curious to know why Microsoft thinks this is an acceptable state of affairs.
    – Milind R
    Commented Feb 18, 2014 at 4:32
  • @Milind R: Probably because the enumeration behavior is not entirely within their control.
    – BoltClock
    Commented Feb 18, 2014 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
    Commented Feb 18, 2014 at 4:40
  • 2
    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
    Commented Feb 18, 2014 at 4:48
0

It seems to me that the answer would be attach your main drive from sata 1, then boot up, let bios see it. Windows will see that as drive 0. It will assign C: and if it has multiple partitions, other letters. Then shut down the computer, add the next drive and boot up. Make sure bios sees it, then check disk manager in Windows. It should show as Disk 01. You can change letter assignments at will. Windows will increment the number for each new disk. Voila, total control of disk and letter assignments.

3
  • 1
    It “seems to you” that, after a reboot, Windows will remember what disk number and drive letter assignments it made on the previous boot, even if the hardware has changed since then? Have you tested this? Do you have a reference that supports it? Commented May 29, 2019 at 18:12
  • This is a lot of guesses, but not really based on any evidence or experience. I appreciate your attempt to answer the question but a) the question is more than 5 years old and already answered, and b) because this is a bunch of guesses it doesn't actually add anything of real value to the conversation. Commented May 29, 2019 at 23:45
  • This is incorrect, currently, on my system. If there is only one disk, it will be number 0, obviously. But after connecting another disk, Windows does not stick to the previous numbering. Drive lettering is different and not a topic here.
    – Stein
    Commented Aug 15, 2022 at 10:11

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .