backup your data first!
by Christopher Heng
How to Fix the Disk Signature Collision Problem in Windows 7
Windows 7 comes with a command line utility called
diskpart
that can let you view and change the disk signature.- Open a command prompt as administrator. To do this in Windows 7, click the Windows start menu (the round Windows icon on the left bottom corner), type "cmd" (without the quotes), right click the "cmd.exe" item that appears at the top of your menu, and click the line "Run as administrator". Do this even if you are already logged in as administrator, since on Windows 7, administrators run with reduced rights by default.
- A black command prompt window will open. In Windows 7, the title bar of the window will tell you that you are running it as Administrator. If it does not, it means you did not do what I just said above. Return and follow the first step, or you will not be able to successfully carry out the rest of this tutorial.
- Type "
diskpart
" (without the quotes) into the window. (Note: for this and the other commands described here, you'll have to hit the ENTER key after you finish typing your commands for them to take effect.) - Microsoft DiskPart will start. When it is ready, it will issue a "
DISKPART>
" prompt, allowing you to enter your commands. - Type "
list disk
" (without the quotes). This will list all the disks that are currently mounted (connected to the system). The disk will not have the usual names and labels that you're accustomed to from the Windows Explorer interface, so you will have to recognize them by their sizes.
Note that "list disk" actually lists the physical disks, and not the partitions that you may have assigned drive letters. This means that if you have 2 physical disks, with 3 partitions on each, so that you have drives C:, D:, E:, F:, G: and H:, "list disk" will only show "Disk 0" and "Disk 1". - To view the signature of a disk, you must first select it. To select a disk, type "
select disk x
" (without the quotes) wherex
is the number of the disk from your "list disk" display. When you type (say) "select disk 1
", DiskPart will respond by telling you "Disk 1 is now the selected disk".
Now type "uniqueid disk
" (again, without the quotes). DiskPart will respond with the disk's signature, a series of hexadecimal digits (or at least I think it's hexadecimal). - To change the signature to some other number, type "
uniqueid disk ID=[NEW SIGNATURE]
" (without the quotes) where "[NEW SIGNATURE]" stands for the new identifier you want for the disk (without the square brackets and without the quotes). However, before you do that, you may want to type "help uniqueid disk
", which will give you more information on how the command works. You may also want to find out the disk signatures of your other disks on your system before you modify your current one so that you don't cause a new signature collision in trying to solve your current problem. In addition, if you're really not sure how many digits you should give your disk, perhaps try changing only one digit of the current signature (eg, increasing or decreasing it by 1). Remember my disclaimer above: I really don't know what I'm talking about here: do it at your own risk. - To quit DiskPart, type "
exit
". Incidentally, in case you get lost while running DiskPart, when you are at the "DISKPART>
" prompt, you can type "help
" to get a list of commands. Typing "help
" followed by the command typically gives you more info about that command.
Once you've quit DiskPart, type "exit" again to quit the Administrator Command Prompt.
But How Do I Know Which Disks Have Colliding Signatures?
When I encountered this problem on my system, I didn't know which of my existing disks had a signature that collided with the one that Windows refused to mount (although I had my suspicions). To solve it, I simply disconnected all my external disks, mounted one, used DiskPart to list its signature, noted the signature somewhere, disconnected it, then mounted the next one and repeated the procedure. With this method, I eventually found out which 2 disks had the same signature, and could change one of them to a different identifier. (For the curious, I simply used the example signature given by DiskPart in its "help uniqueid disk" as the new signature. With my understanding of the situation as shaky as it was, I didn't want to risk giving my disk an invalid signature.)
Copyright © 2009-2012 by Christopher Heng