I have 2 computers here. Computer A has a SATA harddrive with 2 partions (200GB C and 700GB D) and Windows XP SP3 is installed on the C partition. At the moment computer A is dead and may or may not be recoverable.

Computer B has Windows 7 Pro 64bit, with a single partition SATA drive. I also have a USB/SATA enclosure that is can be used to plug and read another harddrive at any time.

I want to access the files from harddrive A using computer B, but I don't want to screw up the drive lettering - I can remember from experience that if the drive letter XP is installed on gets reassigned then Windows will boot up to a certain point, but login will fail when it can't locate required files on the "C" drive.

Is there any way after connecting the drive to computer B and copying files to reassign the drive letter back to C before disconnecting it, so that I can return it to the original machine unharmed?

  • All of the answers here so far have relied upon the unstated assumption that your disc is a Basic disc. They are all wrong for Dynamic discs. You need to confirm that your disc from computer A is indeed a Basic disc.
    – JdeBP
    Sep 11, 2011 at 8:37

2 Answers 2


Computer B may (ok, will) assign the drive new letters, but that only applies to the Windows in computer B. When the drive is inserted back into computer A, that Windows, if ever booted again, will still know the drives as C and D.

  • 2
    The information is written to the running Windows OS's registry, so the 'offline' version won't be affected. I do this type of thing every day at work Sep 10, 2011 at 20:04

Drive letters are assigned in memory when Windows boots up, they aren't written to the hard drive itself. When you put the drive into the external enclosure, Windows will assign D: or E: or F: or G: to it, depending on the other drives in the system.

Then when you stick the old drive back into another computer, Windows will assign C: to it, if it's the primary or only hard drive in that computer.

  • 3
    Windows drive letters are initially allocated automatically as you say, but only the first time that Windows "sees" the drive, after that it will, wherever possible, use the same drive letter for that drive. They are actually stored in the registry at HKEY_LOCAL_MACHINE\System\MountedDevices along with a signature of that drive/partition.
    – Mokubai
    Sep 10, 2011 at 20:07
  • But when that hard drive from old computer A is mounted via an external enclosure to computer B, its registry entry would be written only to the system partition of computer B's hard drive, leaving the external hard drive's registry unaffected. So reading the old hard drive in the external enclosure wouldn't affect the drive in a way that causes it to be seen as D: or higher when installed and booted as the primary drive in another computer. Sep 10, 2011 at 20:52
  • But that is the initial detection of Drive A on Computer B, and that detection data is stored on Drive B. Putting Drive A back into Computer A will not "reassign" the drive letters on Computer A as they have already been detected, assigned and stored in the registry on Drive A. It will simply keep the information with no "new" detection necessary. I was only trying to get across that for some time drive letters have been assigned on first detection but after that are quite static as far as Windows is concerned and I was just trying to help clarify what goes on.
    – Mokubai
    Sep 10, 2011 at 21:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.