Scenario : The customer has multiple HDDs in the system and wants Windows to be installed to the HDD that is connected to SATA port 1. Unfortunately Windows does not always assign "Disk 0" to the HDD on SATA port 1 - in fact it is completely random what disk ID gets assigned to which SATA port. The bug is documented by Microsoft in KB937251:
MDT2010 uses hard-coded disk IDs (0, 1, 2, etc) to specify where Windows gets installed. And because of the bug, sometimes Windows gets installed to the HDD on SATA port 1 and sometimes it gets installed to a different HDD.
The solution is to install Windows to the HDD identified by the "SELECT DISK SYSTEM" command of DISKPART. This will always return the disk that is connected to the lowest SATA port.
To configure this in MDT2010, use the following steps (refer to the attachment):
1. copy the files inside MDT.zip to your Scripts folder in the Deployment Share. 2. in your Task Sequence, disable the existing step called "Format and Partition Disk" (see TaskSequence.jpg) 3. create a new step at the same location called "Format and Partition Disk (custom)". The type is "General -> Run Command Line". The command line is "cmd.exe /c "diskpart /s %SCRIPTROOT%\FormatPartition.txt"" 4. on the main screen for Deployment Workbench, right-click on the Deployment Share and select "properties", then click on the "rules" tab 5. under section [Default], add the following entries (see Rules.jpg) - UserExit=SystemDisk.vbs - DestinationDisk=#DiskID# - DestinationPartition=1
Note: The link in the article will take you out of the forums.