Jump to content

Logical disk manager hang, cannot change drive letter


lilas

Recommended Posts

Hello,

I have the following problem:

I am running XP SP3.

1) As soon as I plug an USB Hard disk, everything is OK (drive letter assigned, files access etc...).

I can start disk management (mmc, dmremote, dmadmin), but I cannot change the drive letter assigned to the USG hard disk. It hangs.

I have to unplug by force the USB HDD, then kill the mmc.exe/dimremote.exe to recover). The problem is reproducible at will.

2) As soon as I plug an USB key, , everything is OK (drive letter assigned, files access etc...).

But I cannot start disk management, it hangs forever. I have to close the disk management window, and again kill mmc.exe and dmremote.exe.

In the registry, under HKLM\System\MountedDevices I have 4 types of entries :

1) Default

2) Entries that look like #{10bd8f26-4567-11de-9d7d-005056c00008} (REG_BINARY)

3) Entries that look like \??\Volume{10bd8f25-4567-11de-9d7d-005056c00008} (REG_BINARY)

4) Entries that look like \DosDevices\C: (REG_BINARY).

Questions: Entries type 1) and 4) seem OK for me. For type 4), the binary value is apparently the disk signature of the HDD/USB HDD with the assigned

drive letter.

1) What is the meaning of entries type 2) and 3)?

2) Can I safely remove all entries of type 2) and 3) ? Could this fix my original problem?

Thank you.

Link to comment
Share on other sites


Open a command prompt and type in it

MOUNTVOL

[ENTER]

Result may look familiar to you ;):

http://www.ss64.com/nt/mountvol.html

(type 3)

As well, I wouldn't touch the ones starting with #.

I would rather look for problems in HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR, but of course I may be completely off-track.

Here is a good place to start when dealing with this kind of problems:

http://www.uwe-sieber.de/english.html

http://www.uwe-sieber.de/usbdlm_e.html

jaclaz

Link to comment
Share on other sites

@jaclaz

> I would rather look for problems in HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR, but of course I may be completely off-track.

Thank you for your reply. I looked into this key and did not see anything abnormal, there are entries for vendor id/product id for the USB HDD/keys I plugged in the past. How can I see that there is a problem?

Do you know the meaning of MountedDevices entries type 2 (beginning with #)? I did not see any relationship with other entries types.

For old entries of type 2 that are not found in type 4, I assume I can safely delete them.

By the way, the only workaround I found to change drive letter is to rename the key of type 4 (changing for example \DosDevices\E: into \DosDevices\U: , instead of using the mmc/disk management that would hang.

Link to comment
Share on other sites

By the way, the only workaround I found to change drive letter is to rename the key of type 4 (changing for example \DosDevices\E: into \DosDevices\U: , instead of using the mmc/disk management that would hang.

Sure, that's what actually Disk Management does. ;)

And the little app by Uwe Sieber:

http://www.uwe-sieber.de/usbdlm_e.html

didn't work? :w00t:

About entries starting with # I'm not sure to have ever seen them (or to have ever actually seen them and "coupled" them to something specific). :unsure:

I'll see what I can find on the topic.

jaclaz

Link to comment
Share on other sites

@jaclaz

> And the little app by Uwe Sieber: didn't work?

I did not try it although it seems interesting. Because it is not "portable" : it requires an installation with new service created,

and some setting which is not common (machine-specific)

Link to comment
Share on other sites

  • 1 month later...

I found this problem which is for me related to my original problem.

Strange problem with MountedDevices, drive letter not memorized

I have two USB keys of same manufacturer, same model, same capacity. I partitioned them and formatted them with FAT32.

USB_key_a and USB_key_b are removable USB keys. Each has its own disk signature (seen with mbrfix /drive n readsignature),

different volume lables, and of course different serial numbers.

1)

USB_key_a plugged in USB_port1 : drive letter set to M:

2)

USB_key_b plugged in USB_port1 : drive letter seen as M: ! So I changed to N:. Unplug it.

3)

USB_key_a re-plugged in USB_port1 : drive letter seen as N: (instead of M: as set in step 1) !). Reset drive letter to M:. Unplug it.

4)

USB_key_b re-plugged in USB_port1 : drive letter seen as M: ! So I changed to N:. Keep it plugged.

5)

USB_key_a plugged in USB_port2 : drive letter seen as E:, set to M:. Good, so I have both M: and N: active at the same time.

So USB_key_a = M:, and USB_key_b = N:. OK, unplug both USB_key_a and USB_key_b.

6)

USB_key_b plugged in USB_port2 : drive letter seen as M: ! So it looks like XP depends also on the USB port number for assigning drive letter?

Other quesions:

1) What are the meaning of the entries in MountedDevices? It looks like non removable disk has shorter GUID values (disk signature + checksum

in boot sector?) than removable devices? What are the meaning of values stored for GUID for removable disks? Same question for

DosDevices data for removable disk (like M: and N: are much longer).

2) Why there is a confusion between M: and N: drive letter?

I also experience XP disk management hang (MMC) at opening when there are seemingly confusion on the drive letters.

And in some cases a BSOD with stop code 0x0A IRQ_NOT_LESS_OR_EQUAL on plugging these USB keys.

Thank you in advance.

Following is sample of my MountedDevices. G: is CD-ROM, M: and N: are removable USB keys, C: D: F: are internal fixed disks,

the other are USB HDD.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices]
"\\DosDevices\\C:"=hex:3a,19,a2,c3,00,10,10,71,02,00,00,00
"\\DosDevices\\D:"=hex:3a,19,a2,c3,00,a0,96,3a,0f,00,00,00
"\\DosDevices\\F:"=hex:3a,19,a2,c3,00,d4,1f,02,0a,00,00,00
"\\DosDevices\\H:"=hex:85,51,9f,ed,00,7e,00,00,00,00,00,00
"\\DosDevices\\J:"=hex:67,74,b7,24,00,cc,4d,51,13,00,00,00
"\\DosDevices\\K:"=hex:67,74,b7,24,00,34,93,43,73,00,00,00
"\\DosDevices\\L:"=hex:67,74,b7,24,00,ac,f1,56,16,00,00,00
"\\DosDevices\\P:"=hex:67,74,b7,24,00,c4,1b,1c,04,00,00,00
"\\DosDevices\\Q:"=hex:67,74,b7,24,00,7e,00,00,00,00,00,00
"\\DosDevices\\R:"=hex:f8,7d,df,dd,00,7e,00,00,00,00,00,00
"\\DosDevices\\S:"=hex:7b,17,c6,1f,00,7e,00,00,00,00,00,00
"\\DosDevices\\T:"=hex:f4,63,90,70,00,82,00,00,00,00,00,00
"\\DosDevices\\W:"=hex:67,74,b7,24,00,de,42,4f,0e,00,00,00
"\\DosDevices\\X:"=hex:9b,ba,df,dd,00,7e,00,00,00,00,00,00

"\\??\\Volume{910999dc-7ba2-11de-95ed-806d6172696f}"=hex:3a,19,a2,c3,00,10,10,\
71,02,00,00,00
"\\??\\Volume{910999dd-7ba2-11de-95ed-806d6172696f}"=hex:3a,19,a2,c3,00,d4,1f,\
02,0a,00,00,00
"\\??\\Volume{910999de-7ba2-11de-95ed-806d6172696f}"=hex:3a,19,a2,c3,00,a0,96,\
3a,0f,00,00,00
"\\??\\Volume{910999e0-7ba2-11de-95ed-005056c00008}"=hex:f4,63,90,70,00,82,00,\
00,00,00,00,00
"\\??\\Volume{910999e1-7ba2-11de-95ed-005056c00008}"=hex:67,74,b7,24,00,7e,00,\
00,00,00,00,00
"\\??\\Volume{910999e2-7ba2-11de-95ed-005056c00008}"=hex:67,74,b7,24,00,c4,1b,\
1c,04,00,00,00
"\\??\\Volume{910999e3-7ba2-11de-95ed-005056c00008}"=hex:67,74,b7,24,00,de,42,\
4f,0e,00,00,00
"\\??\\Volume{910999e4-7ba2-11de-95ed-005056c00008}"=hex:67,74,b7,24,00,cc,4d,\
51,13,00,00,00
"\\??\\Volume{910999e5-7ba2-11de-95ed-005056c00008}"=hex:67,74,b7,24,00,ac,f1,\
56,16,00,00,00
"\\??\\Volume{910999e6-7ba2-11de-95ed-005056c00008}"=hex:67,74,b7,24,00,34,93,\
43,73,00,00,00
"\\??\\Volume{910999e9-7ba2-11de-95ed-005056c00008}"=hex:9b,ba,df,dd,00,7e,00,\
00,00,00,00,00
"\\??\\Volume{910999eb-7ba2-11de-95ed-005056c00008}"=hex:f8,7d,df,dd,00,7e,00,\
00,00,00,00,00
"\\??\\Volume{910999ec-7ba2-11de-95ed-005056c00008}"=hex:7b,17,c6,1f,00,7e,00,\
00,00,00,00,00
"\\??\\Volume{910999ee-7ba2-11de-95ed-005056c00008}"=hex:f7,7d,40,70,00,7e,00,\
00,00,00,00,00
"\\??\\Volume{091f4b14-7bf9-11de-95ef-005056c00008}"=hex:25,89,08,6e,00,7e,00,\
00,00,00,00,00

"\\??\\Volume{f3873349-7d0a-11de-95f1-005056c00008}"=hex:5c,00,3f,00,3f,00,5c,\
00,53,00,54,00,4f,00,52,00,41,00,47,00,45,00,23,00,52,00,65,00,6d,00,6f,00,\
76,00,61,00,62,00,6c,00,65,00,4d,00,65,00,64,00,69,00,61,00,23,00,37,00,26,\
00,32,00,65,00,32,00,33,00,34,00,34,00,35,00,38,00,26,00,30,00,26,00,52,00,\
4d,00,23,00,7b,00,35,00,33,00,66,00,35,00,36,00,33,00,30,00,64,00,2d,00,62,\
00,36,00,62,00,66,00,2d,00,31,00,31,00,64,00,30,00,2d,00,39,00,34,00,66,00,\
32,00,2d,00,30,00,30,00,61,00,30,00,63,00,39,00,31,00,65,00,66,00,62,00,38,\
00,62,00,7d,00
"\\??\\Volume{f387334a-7d0a-11de-95f1-005056c00008}"=hex:5c,00,3f,00,3f,00,5c,\
00,53,00,54,00,4f,00,52,00,41,00,47,00,45,00,23,00,52,00,65,00,6d,00,6f,00,\
76,00,61,00,62,00,6c,00,65,00,4d,00,65,00,64,00,69,00,61,00,23,00,37,00,26,\
00,62,00,30,00,35,00,62,00,30,00,33,00,64,00,26,00,30,00,26,00,52,00,4d,00,\
23,00,7b,00,35,00,33,00,66,00,35,00,36,00,33,00,30,00,64,00,2d,00,62,00,36,\
00,62,00,66,00,2d,00,31,00,31,00,64,00,30,00,2d,00,39,00,34,00,66,00,32,00,\
2d,00,30,00,30,00,61,00,30,00,63,00,39,00,31,00,65,00,66,00,62,00,38,00,62,\
00,7d,00

"\\DosDevices\\G:"=hex:5c,00,3f,00,3f,00,5c,00,49,00,44,00,45,00,23,00,43,00,\
64,00,52,00,6f,00,6d,00,48,00,4c,00,2d,00,44,00,54,00,2d,00,53,00,54,00,5f,\
00,44,00,56,00,44,00,52,00,41,00,4d,00,5f,00,47,00,53,00,41,00,2d,00,55,00,\
32,00,30,00,4e,00,5f,00,5f,00,5f,00,5f,00,5f,00,5f,00,5f,00,5f,00,5f,00,5f,\
00,5f,00,5f,00,5f,00,5f,00,5f,00,5f,00,48,00,52,00,30,00,35,00,5f,00,5f,00,\
5f,00,5f,00,23,00,34,00,26,00,31,00,39,00,39,00,61,00,63,00,62,00,61,00,33,\
00,26,00,30,00,26,00,30,00,2e,00,31,00,2e,00,30,00,23,00,7b,00,35,00,33,00,\
66,00,35,00,36,00,33,00,30,00,64,00,2d,00,62,00,36,00,62,00,66,00,2d,00,31,\
00,31,00,64,00,30,00,2d,00,39,00,34,00,66,00,32,00,2d,00,30,00,30,00,61,00,\
30,00,63,00,39,00,31,00,65,00,66,00,62,00,38,00,62,00,7d,00

"\\DosDevices\\M:"=hex:5c,00,3f,00,3f,00,5c,00,53,00,54,00,4f,00,52,00,41,00,\
47,00,45,00,23,00,52,00,65,00,6d,00,6f,00,76,00,61,00,62,00,6c,00,65,00,4d,\
00,65,00,64,00,69,00,61,00,23,00,37,00,26,00,62,00,30,00,35,00,62,00,30,00,\
33,00,64,00,26,00,30,00,26,00,52,00,4d,00,23,00,7b,00,35,00,33,00,66,00,35,\
00,36,00,33,00,30,00,64,00,2d,00,62,00,36,00,62,00,66,00,2d,00,31,00,31,00,\
64,00,30,00,2d,00,39,00,34,00,66,00,32,00,2d,00,30,00,30,00,61,00,30,00,63,\
00,39,00,31,00,65,00,66,00,62,00,38,00,62,00,7d,00
"\\DosDevices\\N:"=hex:5c,00,3f,00,3f,00,5c,00,53,00,54,00,4f,00,52,00,41,00,\
47,00,45,00,23,00,52,00,65,00,6d,00,6f,00,76,00,61,00,62,00,6c,00,65,00,4d,\
00,65,00,64,00,69,00,61,00,23,00,37,00,26,00,32,00,65,00,32,00,33,00,34,00,\
34,00,35,00,38,00,26,00,30,00,26,00,52,00,4d,00,23,00,7b,00,35,00,33,00,66,\
00,35,00,36,00,33,00,30,00,64,00,2d,00,62,00,36,00,62,00,66,00,2d,00,31,00,\
31,00,64,00,30,00,2d,00,39,00,34,00,66,00,32,00,2d,00,30,00,30,00,61,00,30,\
00,63,00,39,00,31,00,65,00,66,00,62,00,38,00,62,00,7d,00

Link to comment
Share on other sites

Basically, windows tries to "remember" the drive letter that was assigned to a given stick.

To do this, some info is also related to which BUS (not port, unless I am mistaken) of the motherboard it was connected to (typically ports on the back and ports on the front of the case are under two different BUSes or USB controllers).

After a lot of inserting and removing sticks, the Registry gets cluttered and should be cleaned.

About values in MountedDevices, Fixed disks are identified by MBR signatures+offset to the partition beginning:

http://www.911cd.net/forums//index.php?showtopic=19663

whilst Removable disks are linked through their ParentIdPrefix, and other data that is "pendrive specific".

Open the key \\DosDevices\\M in Regedit.

Select all the data in it, right click, COPY.

Open Tiny Hexer.

Create a new file, PASTE.

Save the file.

File->Export->Plain Text

Save the file, open it in Notepad, you will get something similar to this:

	  0001 0203 0405 0607 0809 0A0B 0C0D 0E0F - 0123456789ABCDEF
----------------------------------------------------------------
0x00: 5C00 3F00 3F00 5C00 5300 5400 4F00 5200 - \.?.?.\.S.T.O.R.
0x10: 4100 4700 4500 2300 5200 6500 6D00 6F00 - A.G.E.#.R.e.m.o.
0x20: 7600 6100 6200 6C00 6500 4D00 6500 6400 - v.a.b.l.e.M.e.d.
0x30: 6900 6100 2300 3700 2600 3600 3600 3700 - i.a.#.7.&.6.6.7.
0x40: 3400 3000 6400 3000 2600 3000 2600 5200 - 4.0.d.0.&.0.&.R.
0x50: 4D00 2300 7B00 3500 3300 6600 3500 3600 - M.#.{.5.3.f.5.6.
0x60: 3300 3000 6400 2D00 6200 3600 6200 6600 - 3.0.d.-.b.6.b.f.
0x70: 2D00 3100 3100 6400 3000 2D00 3900 3400 - -.1.1.d.0.-.9.4.
0x80: 6600 3200 2D00 3000 3000 6100 3000 6300 - f.2.-.0.0.a.0.c.
0x90: 3900 3100 6500 6600 6200 3800 6200 7D00 - 9.1.e.f.b.8.b.}.

Again in Tiny Hexer, Find/Replace 00's with NOTHING.

Select all the data.

Scripts->Tools->Copy to clipboard as raw text data

Paste in a Notepad opened file you will get something like this:

\??\STORAGE#RemovableMedia#7&66740d0&0&RM#{53f5630d-b6bf-11d0-94f2-00a0c91efb8b}

Now search in registry (in "HKLM\SYSTEM\CurrentControlSet") for string {53f5630d-b6bf-11d0-94f2-00a0c91efb8b} (or whatever you got).

You will likely land, sooner or later here:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceClasses\{53f5630d-b6bf-11d0-94f2-00a0c91efb8b}\##?#STORAGE#RemovableMedia#7&66740d0&0&RM#{53f5630d-b6bf-11d0-94f2-00a0c91efb8b}

with a key DeviceInstance

STORAGE\RemovableMedia\7&66740d0&0&RM

Now, search in Registry for last part 7&66740d0&0 (minus the "&RM")

You'll land (sooner or later) here:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\STORAGE\RemovableMedia\7&66740d0&0&RM

then, you'll land here:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR\Disk&Ven_USB&Prod_DISK_2.0&Rev_1219\O29OXXJDI4BOBM6F&0

with key ParentIdPrefix=7&66740d0&0

Search for last part :O29OXXJDI4BOBM6F (minus the "&0"), you will find these:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceClasses\{53f56307-b6bf-11d0-94f2-00a0c91efb8b}\##?#USBSTOR#Disk&Ven_USB&Prod_DISK_2.0&Rev_1219#O29OXXJDI4BOBM6F&0#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceClasses\{a5dcbf10-6530-11d2-901f-00c04fb951ed}\##?#USB#Vid_090c&Pid_1000#O29OXXJDI4BOBM6F#{a5dcbf10-6530-11d2-901f-00c04fb951ed}

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\Vid_090c&Pid_1000\O29OXXJDI4BOBM6F

You'll also find it here:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Disk\Enum

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PartMgr\Enum

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbstor\Enum

Take your time browsing around the given keys/hives, you should be able to get the hang of it, try doing similar actions for a USB device which is seen as "Fixed".

Try doing it with the cfadisk.sys or dummydisk.sys installed or uninstalled.

jaclaz

Edited by jaclaz
Link to comment
Share on other sites

@jaclaz

Thank you for the interesting detailed explanations. For a plain man point of view, the registry entries are really a mess :-).

> After a lot of inserting and removing sticks, the Registry gets cluttered and should be cleaned.

I believe this is my problem, since I plug/unplug a lot of USB keys and hard disks.

Is there a tool for this, or I have to do it manually, and how?

Link to comment
Share on other sites

Thank you for the interesting detailed explanations. For a plain man point of view, the registry entries are really a mess :-).

Even from a "complex" man point of view, rest assured. ;)

> After a lot of inserting and removing sticks, the Registry gets cluttered and should be cleaned.

I believe this is my problem, since I plug/unplug a lot of USB keys and hard disks.

Is there a tool for this, or I have to do it manually, and how?

See if these fit :):

http://www.nirsoft.net/utils/clean_after_me.html

http://www.nirsoft.net/utils/usb_devices_view.html

or the good ol' way:

http://support.microsoft.com/kb/315539/en-us

http://www.tech-recipes.com/rx/504/how-to-...s-and-services/

jaclaz

Link to comment
Share on other sites

How often do you need to change drive letters and why? The DosDevices registry hack is best, you can do it in VBS script even though VBS cannot officially write binary values, or use "REG.EXE add" in a batch file .

Link to comment
Share on other sites

  • 2 months later...
this thread is so extensive, can you give me a solution to the "usb device not recognized" of a usb stick problem?

There is NO "one-size-fits-all solution".

You do not need to double post:

http://www.msfn.org/board/usb-device-not-r...63.html&hl=

There I asked you to make a couple of tests, which you never did or never reported.

My crystal ball is (again) in the shop for tuning, so I have no way to help you.

jaclaz

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...