- You have a computer that's running one of the following operating systems:
- Windows Server 2012 R2
- Windows Server 2012
- Windows Server 2008 R2
- Windows Server 2008
- Windows 8
- Windows 7
- Windows Vista
- You add two Serial Advanced Technology Attachment (SATA) or RAID hard disks to the computer.
- The SATA or RAID hard disks are attached to channels 0 and 1.
Note You may experience this problem if you configure the operating system during installation or if you perform a recovery process that was provided by the computer manufacturer. This problem may also occur during regular computer startup. Therefore, hard disks may have different disk numbers across multiple system startups. Also, drives may enumerate in different orders if the operating mode of the hard disk controller is changed in the BIOS (for example, RAID mode versus non-RAID mode).
The BIOS may or may not enumerate disks in a specific order. There is no direct relationship between the BIOS order, and the order in which Windows numbers the disks. During startup, Windows switches from using the BIOS INT13 support to native Windows drivers to access disks. Windows waits for several seconds for the system disk to enumerate through Plug and Play. When there is a match within the time-out period, normal startup will proceed. Otherwise, the system will trigger a bug check with Stop error code of 0x7B. Windows uses other mechanisms to differentiate disks, as Windows has no control over the disk-numbering process before startup. Windows has no information about any changes to hardware when the computer is turned off. Therefore, Windows initiates its own query for device enumeration.
The disk numbers that are assigned by Windows after it switches to native Windows storage controller drivers during startup are dependent solely on the order in which the disks are enumerated and processed by Plug and Play. Windows will enumerate available fixed disks, followed by removable disks, assuming that the correct native Windows drivers are already present and installed on the system. Various uncontrollable timing factors may affect the enumeration order. For example, most IDE controllers are designed to specifically enumerate the Master channel, wait two seconds, and then enumerate the Slave channel. This has the effect of providing an apparently consistent enumeration order, but it is actually a side effect of the hardware implementation. SATA controllers have a different behavior and do not experience this same side effect.
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 or Windows Server 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 the operating system. The enumeration order may change over time between system boots, depending on timing factors such as aging hard disks taking slightly longer to spin up.
To see the assigned disk numbers, use any of the following methods:
- Run the Disk Management console. To do this, click Start, type diskmgmt.msc in the Start Search box, and then click diskmgmt.msc in the Programs list.
- Use the Diskpart.exe command-line utility to run the list disk command.
- During Windows or Windows Server Setup, the assigned disk numbers are listed when you are prompted to select a drive and a partition for the installation.
Additionally, when you install Windows Server 2012, Windows Server 2008 R2, Windows 8, or Windows 7, the installation creates a system partition alongside the Windows partition by default. The system partition is created to accommodate a BitLocker requirement. BitLocker requires that the boot files and Windows files are located on separate partitions. If the preselected default hard disk is not changed, the system partition is created on the disk that is detected as Disk 0.