Windows 7 Disk Management error in adding a drive letter

Methadras

Supreme [H]ardness
Joined
Dec 19, 2000
Messages
6,132
Okay, i'm not sure why this is happening, but if i try to add a drive to my windows system, it won't automatically add a drive letter, but it will add a drive letter to my usb sticks and external usb drives without issue. It's just when I plug it into sata that it goes all wonky. I can see the internal HDD in disk management as a disk, but windows disk management refuses in any way shape or form to add a drive letter to it, even using diskpart with automount enabled. This is the error I get when I try:

"The operation failed to complete because the Disk Management console view is not up-to-date. Refresh the view by using the refresh task. If the problem persists close the Disk Management console, then restart Disk Management or restart the computer."

Absolutely nothing works. I've tried Diskpart, acronis, AOMEI, EausUS, chkdsk, sfc /scannow, microsoft fixit. Nothing works to get disk management to add a drive letter to an internal HDD. Like I said, USB disks and sticks are no problem. I've looked all over google and i haven't seen a single solution to this problem short of a total wipe and start over and at this point I'm not about to do that with everything I have installed and would have to reinstall.

I have other systems that do not have this issue. Just this one windows 7 x64 install. Can anyone shed light on why this error is occurring and how to fix it or if there is even a fix for it.

Thank you.
 
Okay, well, I guess it was worth a shot to ask. Thanks for trying if you did. :D
 
Did you get this resolved? I ran into the same problem a few months back on a customers computer, I can look through some work orders if you are still stuck.
 
Is the problem specific to that machine? Or that drive? (Can you assign a letter to that drive if it is in another computer?)

If it is specific to the drive then it is one of two things, either a bad drive, or there is some bad data on the drive confusing windows. I would suggest getting a linux tool to erase the first few thousand sectors of the drive (something as simple as 'dd if=/dev/zero of=/dev/sda bs=1M count=16' and change 'sda' to whatever drive it is) or something like nwipe. You dont need to wipe the whole disk just the first little bit.

Obviously you will need to backup any data from the drive first...
 
Did you get this resolved? I ran into the same problem a few months back on a customers computer, I can look through some work orders if you are still stuck.

No resolution. Still cannot add a drive letter to this HDD or any HDD. These are all new drives. USB sticks and USB drives are not an issue. I can take these HDD's to other computers and they work just fine. Disk management sees the drive, but it won't give it a drive letter and I get that error.

Also in Diskpart it won't see the volume and automount enabled says it's active, but clearly isn't working. I'm almost ready to suspect a sata problem at this point.
 
Is the problem specific to that machine? Or that drive? (Can you assign a letter to that drive if it is in another computer?)

If it is specific to the drive then it is one of two things, either a bad drive, or there is some bad data on the drive confusing windows. I would suggest getting a linux tool to erase the first few thousand sectors of the drive (something as simple as 'dd if=/dev/zero of=/dev/sda bs=1M count=16' and change 'sda' to whatever drive it is) or something like nwipe. You dont need to wipe the whole disk just the first little bit.

Obviously you will need to backup any data from the drive first...

Yes, it's specific to this machine. The HDD's and SSD's are good. This install just won't deal with them. There is nothing to wipe, they are right outta the box and plugged in and nothing. Even formatted and installed on other windows 7 installs and I take them to this one and nothing.
 
1) Check SATA port to make sure it's configured right (some old mobos have a joined SATA/IDE port that has to be selected in BIOS to enable SATA functionality).

2) When you say you tried diskpart, do you mean you used the "assign" command to add a letter from there?

3) Open device manager (not disk manager)
Look for any "unknown disk" (and any other unknowns at this point would probably be good to fix)
Right click and uninstall
scan for hardware changes

4) As a last resort:
Start an admin command prompt
diskpart
list disk
sel disk # (whatever your disk id is)
uniqueid disk (note the number)
sel part # (whatever partition you want to mount)
detail part (note the offset in bytes)

Open calc
Switch to "programmer mode"
Enter the offset in bytes, noted above
choose "hex". Note the hex value of the offset

Open regedit
Navigate to HKLM\System\MountedDevices
You will see a list of Volume{GUID} and \DosDevices\<driveletter>:
Each of them will have data which is the concatenation of disk id and partition offset

First, look for the existing disk signature in the data of volume and dosdevices. The order is LSB, so you will need to "backwards read". For example, if your disk id is 677a2344, it will appear as 44 23 7a 67.

If you find any disk ID matches for the disk, delete them (may want to back up first in case?) and reboot. Don't forget to write down the ID and offset! After reboot, check to see if there's a drive letter, if not, continue.

Post reboot, or if you don't see the disk ID anywhere, we're going to try creating our own dosdevices entry. To do this, right click "MountedDevices" and choose "new>binary value". Type \DosDevices\X: (or whatever letter you want that is currently unused). For the data, enter the disk ID in LSB order, followed by the partition offset in LSB order, padded to 8 bytes (e.g. if the hex offset you saw was 100000, the 8 byte LSB version of that would be 00 00 10 00 00 00 00 00)

Exit regedit and reboot. Hopefully that works...
 
Oh, and one other thing it might be before that last resort... it's also possibly caused by upperfilters and lowerfilters on the drive, if you installed/uninstalled any software that creates such things but is bad at cleaning (e.g. roxio, apple itunes).
 
Okay, I'll go take a look at these and report back. Thanks for the help. I really do appreciate it.
 
Oh, and one other thing it might be before that last resort... it's also possibly caused by upperfilters and lowerfilters on the drive, if you installed/uninstalled any software that creates such things but is bad at cleaning (e.g. roxio, apple itunes).

How do I fix that problem. Sounds like a registry entry.
 
1) Check SATA port to make sure it's configured right (some old mobos have a joined SATA/IDE port that has to be selected in BIOS to enable SATA functionality).

2) When you say you tried diskpart, do you mean you used the "assign" command to add a letter from there?

3) Open device manager (not disk manager)
Look for any "unknown disk" (and any other unknowns at this point would probably be good to fix)
Right click and uninstall
scan for hardware changes

4) As a last resort:
Start an admin command prompt
diskpart
list disk
sel disk # (whatever your disk id is)
uniqueid disk (note the number)
sel part # (whatever partition you want to mount)
detail part (note the offset in bytes)

Open calc
Switch to "programmer mode"
Enter the offset in bytes, noted above
choose "hex". Note the hex value of the offset

Open regedit
Navigate to HKLM\System\MountedDevices
You will see a list of Volume{GUID} and \DosDevices\<driveletter>:
Each of them will have data which is the concatenation of disk id and partition offset

First, look for the existing disk signature in the data of volume and dosdevices. The order is LSB, so you will need to "backwards read". For example, if your disk id is 677a2344, it will appear as 44 23 7a 67.

If you find any disk ID matches for the disk, delete them (may want to back up first in case?) and reboot. Don't forget to write down the ID and offset! After reboot, check to see if there's a drive letter, if not, continue.

Post reboot, or if you don't see the disk ID anywhere, we're going to try creating our own dosdevices entry. To do this, right click "MountedDevices" and choose "new>binary value". Type \DosDevices\X: (or whatever letter you want that is currently unused). For the data, enter the disk ID in LSB order, followed by the partition offset in LSB order, padded to 8 bytes (e.g. if the hex offset you saw was 100000, the 8 byte LSB version of that would be 00 00 10 00 00 00 00 00)

Exit regedit and reboot. Hopefully that works...

there was no match id for the disk. Not sure why. it just wasn't there. However, when I did switch to a new sata port the drive was seen in explorer, but as "other devices' and still exhibits the same behavior in disk management.

I haven't tried to mount the device via registry yet. That's just something I'm not comfortable with doing quite yet.
 

Yes, that would be my exact issue. However, it is for naught since I took your initial advice about upper and lower filter settings. Found them for the volume(s) in the registry, deleted them, rebooted, but it rendered that install completely useless. Ended up getting bsod x07 i believe, which searching on my other systems seems to either have wiped out the mbr or displaced the controller driver completely.

I'm in the process of trying to resurrect that drive by going back and putting those values back into the registry as they once were and rebooting that drive. The whole thing is a damned mess. But either way it'll get fixed. I was just hoping that I wouldn't have to redo everything, but it looks like i might. thank you for the help. :D
 
Yes, that would be my exact issue. However, it is for naught since I took your initial advice about upper and lower filter settings. Found them for the volume(s) in the registry, deleted them, rebooted, but it rendered that install completely useless. Ended up getting bsod x07 i believe, which searching on my other systems seems to either have wiped out the mbr or displaced the controller driver completely.

I'm in the process of trying to resurrect that drive by going back and putting those values back into the registry as they once were and rebooting that drive. The whole thing is a damned mess. But either way it'll get fixed. I was just hoping that I wouldn't have to redo everything, but it looks like i might. thank you for the help. :D

>.< You have to find the _correct_ upperfilters and lowerfilters. They may not exist if there were none for the hard disk. Any device driver can have them, as they act as...well... filters on the driver stack. Randomly deleting registry keys is usually a path to pain.
 
>.< You have to find the _correct_ upperfilters and lowerfilters. They may not exist if there were none for the hard disk. Any device driver can have them, as they act as...well... filters on the driver stack. Randomly deleting registry keys is usually a path to pain.

Yeah, i think i walked down that path of pain and rammed my head through the wall at the end of it. However, I got lucky. I found a backup copy of the system registry that is about a month old. Since not much changed between that time and now, I went ahead and reinstituted it and deleted the corrupted System registry hive and everything booted up swell. Later today I will back everything up and try the fix from the link and I'll let you know.

BACKUPS PEOPLE!!! THEY WORK. :D (almost)
 
Okay, well, I'm happy to report utter and total success at the method used from the link you provided. Also, and i hadn't realized this until today, there were two acronis driver files populating the system. I promptly deleted those and bang, everything came into line. Bizarre, but it worked.

Definitely learned a few valuable lessons and learned about some deeper inner workings. Now to reconstruct a few things and chug along. My heartfelt thanks for your assistance.
 
Back
Top