Moving Windows 7 back from SSD to HD [SOLVED]

augiem

Senior member
Dec 20, 1999
746
0
76
A couple of months ago I put an SSD in a friend's computer. As part of that process, I moved Windows 7 to the SSD and created a junction to the Users folder so I could keep that on D (the HD). It was a relatively simple matter of making an image of the drive sans the Users folder and a few others. Then, on the new SSD, restoring the image and creating the junction.

Now I'm faced with the task of installing Windows 8 on his machine. I know the junction to D:\Users will cause problems with the upgrade, so my plan was to move Windows back onto the HD first, remove the junction, install Win8, and then move the OS back onto the SSD. So far nothing has worked.

First I tried booting from the Windows 7 install disc, going to a console, and using Robocopy /mir /copyall /xj to copy back the Windows folder, Program Files, etc. Booting into Windows was extremely slow, but eventually it booted to a blank desktop with the "This copy of Windows is not Genuine" message. There is no start menu or icons and no way for me to run any program that might help me diagnose the problem. The only thing I can run is Task Manager. Booting in Safe Mode or Safe Mode w/ Command Prompt results in the same blank screen.

Next, I tried Acronis True Image. I used File Backup to copy the folders I needed and restore them to the HD. Same result as Robocopy. Windows is broken.

I cannot just do a bit-by-bit image and restore to the HD because he would lose his nearly 1TB of user data and I don't have another drive to shift it to. Plus that seems like a really terrible thing to have to do every time you need to move back from SSD. I mean, I can see needing to do this if the SSD dies. Surely there's a way.

Does anyone know how to make a bit-by-bit backup of only certain folders on the drive AND restore that bit-by-bit backup to another drive that's not empty? I can understand how this might be problematic with fragmenting and such, but...

Might anyone know the underlying reason why Windows chokes in this situation? I'm assuming it keeps track of the sector spacing of certain files of Windows or something. How else could it know it's been changed? That's why I think a bit-by-bit copy/restore is the key, but again, I can't find any software that can do it without wiping the whole target drive.
 
Last edited:

augiem

Senior member
Dec 20, 1999
746
0
76
Problem solved!

Okay, so if anyone else out there runs into this problem, I hope this helps you out:

The underlying issue was that Windows was trying to boot from drive D because the hard disk used to be D under Windows before I moved it back from the SSD. Even though the SSD was no longer connected, Windows was still assigning the HD to drive D.

Here's how to fix it:
Boot from your Windows 7 install disc
Click "Repair your computer"
(If Windows asks to repair your startup, decline.)
Click "Use recovery tools that can help fix problems starting windows. Select an operating system to repair."
Select your OS from the list
Click "Next"
Click "Command Prompt"
Type Regedit and press enter
In the regedit window, click the "HKey_Local_Machine" key
Go to the "File" menu and click "Load Hive"
In the file inspector, navigate to the drive letter with the Windows installation you're trying to fix (Note: this drive letter may not be assigned to what you'd expect. This is normal and its only because you're in this recovery console.)
Navigate to Windows\System32\config\ and select "System"
Regedit will ask for a key name. Type something like "TempSystem".
Now a key will appear in the registry under HKLM called TempSystem. Open this and navigate to "Mounted Devices"
Find the devices in the list that start with \DosDevices\C:
Now if you are doing exactly what I did, your old C drive was your SSD and your HD was D. That is no longer valid since we moved Windows back to the HD. Rename the entry "\DosDevices\C:" to "\DosDevices\Z:" or another letter that is not taken. Then rename "\DosDevices\D:" to "\DosDevices\C:" and rename "\DosDevices\Z:" to "\DosDevices\D:". You are effectively swapping what drives are assigned to C and D.
Click back on your "TempSystem" key under HKLM, go to "File" menu, and click "Unload Hive"
Close regedit and reboot the system.

Windows should now boot properly. No more blank screen, no more "not genuine" warning.
 
Last edited:

MichaelD

Lifer
Jan 16, 2001
31,528
3
76
Glad you got it fixed and thank you for posting the complete fix action here. This will help someone someday soon, I'm sure. :thumbsup: