The other day we ran into an interesting customer issue. The customer had 4 identical drives on the system and had previously used Windows 7 Backup to create a system image of his system and boot partitions. He then ran into a problem where Windows was no longer bootable and he needed to restore from an image. We had him boot into Windows Recovery Environment (WinRE) using his system repair disc (the original Win7 media could also have been used).
Once in WinRE, we chose System Image Recovery and let it select the latest available system image which had been backed up to his F: drive on one of the hard disks. To be thorough, we then chose the option to "Format and repartition disks" and then clicked on the "Exclude disks…" option. This is where things became interesting as we were presented with the following possible disks to exclude:
ST3500418AS (Disk 0) 465.76 GB
ST3500418AS (Disk 1) 465.76 GB
ST3500418AS (Disk 2) 465.76 GB
Disk 3 was already excluded as it contained the system image to be restored. As the customer wanted to restore the image to the same drive that previously had Windows on it, he wanted to know which disk he should select to repartition and format. He did not want to touch his other 2 drives as they had a bunch of data on it. Based on KB937251 (http://support.microsoft.com/?kbid=937251), we knew that we could not trust Disk 0 being the same disk that previously had Windows on it and was connected to SATA 0 on the motherboard. Thus, we needed a workaround to ensure that we did not format and repartition the wrong disk.
The solution was to use Diskpart.exe while still in the WinRE to dump out the details of each disk to find the one we wanted to use. We used SHIFT+F10 to open a command window, ran Diskpart.exe and followed the steps below:
Microsoft DiskPart version 6.1.7600
Copyright (C) 1999-2008 Microsoft Corporation.
On computer: MININT-CM30U4C
DISKPART> LIST DISK
Disk ### Status Size Free Dyn Gpt
-------- ------------- ------- ------- --- ---
Disk 0 Online 465 GB 0 B
Disk 1 Online 465 GB 1024 KB
Disk 2 Online 465 GB 1024 KB
Disk 3 Online 465 GB 1024 KB
DISKPART> SELECT DISK 0
Disk 0 is now the selected disk.
DISKPART> DETAIL DISK
Disk ID: 27A4D86D
Type : SATA
Status : Online
Path : 0
Target : 0
LUN ID : 0
Location Path : PCIROOT(0)#PCI(1F02)#ATA(C00T00L00)
Current Read-only State : No
Read-only : No
Boot Disk : No
Pagefile Disk : No
Hibernation File Disk : No
Crashdump Disk : No
Clustered Disk : No
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ----- ---------- ------- --------- --------
Volume 1 C System Rese NTFS Partition 100 MB Healthy
Volume 2 G OS NTFS Partition 465 GB Healthy
Using the DETAIL DISK command in Diskpart.exe we were able to see the volume label as well as partition information which allowed us to choose the correct disk to format and repartition before restoring our image.