Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am in the process of upgrading a laptop from a hard disc to SSD. I have imaged the discs via a SATA dock on another PC so they should in theory be identical.

Unfortunately, when I've put in the SSD, it boots up as far as the windows login screen, and accepts the password. But then it says 'Logging off' and throws me back to the login screen.

I'm a bit stuck now. The old hard disc works fine (I'm using the laptop with HDD now) but with the SSD, it won't get past the login screen, even in safe mode. I've tried recovering from the Windows XP CD, and manually expanded the CD copies of the userinit.exe and winlogon.exe but no change in behaviour.

Any other ideas on what to try?

Update - it seemed a borked image was the most likely cause, but I have just finished taking a new image from the HDD, and copying it back onto the SSD, but the new image behaves identically to the last.

share|improve this question
was this originally on a domain or workgroup? was it removed from the domain before imaging if it was? logging on using the builtin admin account? – Logman Jan 12 '13 at 2:24
btw, what app did you use to image the system? – Logman Jan 12 '13 at 2:31
Long ago it was on a domain, but not at the time of the imaging. I use DriveImageXML to image the disc. I've got images of all my PCs done with this tool and done various restores previously. – asc99c Jan 12 '13 at 19:45
you might want to check this link out:… – Logman Jan 12 '13 at 22:03
Awesome! I used chntpw in partition magic, deleted the \DosDevices\C: value, and now I'm now up and running on the SSD. Fancy swapping the comment for an answer so I can accept it? – asc99c Jan 12 '13 at 22:55
up vote 2 down vote accepted

Delete the \DosDevices\C: key prior to cloning.

  • Navigate to HKEY_LOCAL_MACHINE\SYSTEM\Mounted Devices
  • Search the list for \DosDevices\
  • Delete the \DosDevices\C: key value

link ...

share|improve this answer

Is this a legal copy of Windows?

I have only seen this behaviour on cracked copies - a hardware change has probably caused reactivation to be needed and the activation components are corrupt which is causing Windows to log off straight away.

If this is not a dodgy copy of Windows, I apologise to you!

share|improve this answer
It is legal! It's a HP laptop so it came with OEM XP preinstalled. – asc99c Jan 12 '13 at 19:55

The problem lies in the way XP's registry keeps track of what volumes get what drive allocation, stored in the System registry at HKEY_LOCAL_MACHINE\SYSTEM\Mounted Devices.

There are a bunch of keys that look like \DosDevices{Drive letter}:, and they store a binary value represented by 24 HEX characters, which stores mounting location and LBA location for each partition. The problem is that this information was relevant for when I booted from the master image partition, but no longer relevant for the clone on the target partition. In other words, the logging in couldn't proceed because the computer couldn't find C:\

I think it's a good idea to delete the \DosDevices\C: key prior to cloning. XP should figure it out retrospectively.

But presumably you're reading this now because you didn't do this. so what you have to do is edit the SYSTEM HIVE on the new target partition remotely from another installation of XP:

Firstly, you need an alternative installation of XP to boot from that can directly access the partition that you're trying to boot into (such as the master image partition). You could use UBCD4Win. Once this is done:

Then, you can discover the correct HEX code for this partition:

  1. Open diskmgmt.msc and make a note of the drive letter allocation of the target partition. (it won't be C:)

  2. Start REGEDT32

  3. Navigate to HKEY_LOCAL_MACHINE\SYSTEM\Mounted Devices

  4. Search the list for \DosDevices{The current drive letter allocation}: and make a note of the 24 HEX characters with pen and paper.

Now you can mount the SYSTEM HIVE from the target partition and correct the HEX code:

  1. Select the HKEY_LOCAL_MACHINE key in the left hand pane in Regedit.

  2. In the File menu select "Registry" -> "Load Hive"

  3. Select the wanted registry database file: {The current drive letter allocation}:\%windir%\system32\config\system

  4. When prompted for a name, call it SYSTEM-TARGET. The name will be used to create a new node in the tree so one can browse the offline registry.

  5. Navigate to HKEY_LOCAL_MACHINE\SYSTEM-TARGET\Mounted Devices

  6. Compare the \DosDevices\C: key value to the HEX code you wrote down. If they are different, search through the list of drive letter allocations for the 24 digit HEX code that you wrote down - it will probably be recorded against an alternative drive letter mounting - the cause of the problem. If this is the case:

  7. Rename the \DosDevices\C: key to something else, an unallocated drive letter perhaps.

  8. Rename the key with the correct HEX code to \DosDevices\C: (You could swap the key names) (The changes are written immediately to the offline registry database).

  9. When finished editing select SYSTEM-TARGET and in the File menu select "Registry" -> "Unload Hive" Now you should be able to reboot from the partition and login.


share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .