lunedì 23 febbraio 2009

Change or Delete System Drive Letter via Registry to Remove Conflict USB or FireWire Drive Letter

In Windows operating system especially Windows XP, when plug in external USB or FireWire mass storage device such as USB key, flash drive, portable harddrive, the drive is not been assigned a drive letter by the system, hence the USB drive or FireWire drive is not showing in Explorer and no AutoPlay or AutoRun window pops up, although the device has been detected, in Safely Remove Hardware (show device but with no drive letter) wizard. The cause is probably due to 'stupid' behavior of XP where it won't find an available letter from free letters pool when the USB or FireWire external drive which has previously mounted and assigned a drive letter is been inserted to computer USB or FireWire port again, but that previously allocated drive letter has been taken up and used by another storage devices. Another possible reason is all 26 letters in alphabet has been used, but this situation is rare and unlikely.

There is a solution to USB or FireWire drive not showing in system error. However, the disconnect conflicted storage device to free up the drive letter fix may not practicable or usable by some, such as computer which are on a network or system running data transfer activity to all its drive assignments continuously flow without stopping, and thus disconnect or reassigning any mapped drives, networked drives, removable drives or other storage drives is not an option.

In this situation, there is another workaround hack to fix the no USB or FireWire drive issue. The workaround fix relies on the registry tweak below to change the drive letter that has been previously assigned to the mounted USB or FireWire portable mobile flash or hard disk drive. Or if users wish, can opt to delete any reference to the detected drives by the device so that when the storage device is plugged in again, the whole drive letter assignment will be start from fresh, and clean.

  1. Login to Windows as an Administrator.
  2. Open Registry Editor by typing regedit (or regedt32.exe in older Windows prior to XP) in Run command of Start Menu and then press Enter.
  3. Navigate to the following registry key:

    HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices

  4. Optional step which not required in Windows XP or later, right click on MountedDevices, then select Permissions. You can also click Permissions from the Security menu.
  5. Optional step which not required in Windows XP or later, check the option to make sure that Administrators have full control to the registry key. Change and revert back this setting when you are finished with the reset of the steps.


  6. If you run above 2 steps in OS earlier than Windows XP, quit regedt32.exe and run regedit.exe.
  7. Also in the HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices registry branch selected, in the right pane, find and locate a registry value which represents the troubled USB or FireWire drive. The registry key should have the name that resembles the format of \DosDevice\X: where X can be any alphabet letter which corresponding to your physical system drive letter.


    Here's a guidelines that you can follow to quickly determine which registry key is linked to your conflicted drive letter:

    • Exclude \DosDevice\A: and \DosDevice\B: which normally reserved for floppy disk drives.
    • Exclude \DosDevice\C: which normally is the system root drive.
    • If you have more than one fixed hard disk drives, then any drive letters that are using by them is not possible linked again, UNLESS the additional hard disk drive is added AFTER you first use the USB or FireWire device that now unable to show.
    • Same case with CD-ROM or DVD-ROM optical drive as above reasoning.
    • If you have inserted and mounted a lot of thumbdrives, USB flask drive, or external hard disks before, you will likely still see a lot of remaining registry values that you won't know which is which. In this case, double click on each remaining registry key values to view its binary data. Inside the binary data, there will be trace of the name of the device that this registry key represents. For example, figure below shows a Sandisk Cruzer micro USB flash drive.


      With this information, search for a registry value that contains name of your USB or FireWire drive brand and model that having problem showing up in Explorer.

  8. Once the correct registry value is determined (for example, \DosDevices\F:), right click on the registry value name, and the select Rename.


  9. Change the drive letter (in the example is F) to another unused drive letter that hasn't been used by another other drives, then press Enter.
  10. Now insert and plug in the USB or FireWire device into the port again (if it's already inserted, take it out and re-insert again). The drive letter for the USB and FireWire should now appear and you can use the drive normally and properly again.
  11. For OS earlier than Windows XP which you have previously change the permissions for the registry key, quit Regedit.exe and start Regedt32.exe, and change the permissions back to the previous setting for Administrators (which should be Read Only).

It's also possible to simply delete the devices registry keys instead of renaming it. Deletion is helpful is users really can't find the the registry value for the drive letter that having problem. But make sure that you do a backup for the registry branch by exporting MountedDevices key, as mistake may cause your system unbootable. The delete all possible USB drives, FireWire drives and external drives which have drive letter temporarily only when inserted in the system, and DO NOT delete any of the fixed hard disk drives or CD/DVD optical drives registry values.

Nessun commento: