Moving Windows XP Professional User Profiles off the C: Drive
Overview
Sometimes you just have to reinstall Windows. This can be for a myriad of reasons: hard drive goes bonkers, virus, you screwed up, Windows screwed up, etc... Whatever the reason, one of the most painful parts of the re-installation of Windows is making sure you get all the user data. Most user data is stored in the user profile in "C:\Documents and Settings\username" so this chore becomes easier. However, you don't want to just merely copy the user profile from the old installation and drop it into the new installation. That generally will cause all kinds of wierd anomalies. If you're not using roaming profiles (and most home and small business users are not) then you want a more robust method of keeping your user profile intact when you reinstall Windows.
What we do below is move all user profiles to the D: drive. This gives us an extra layer of comfort in case something goes wrong. Please understand this is not a backup solution at all. There is still only one copy of your data. If you want a backup of your data, you will still need to use some sort of backup solution that fits your needs. What this does do for you is gives you a fast and easy way to reinstall Windows without having to mess with moving your data around which is a royal pain. The reason this is a good thing to do even if you do have a backup solution is that often times, the backup solution will not be able to do a full restore of Windows from scratch. This helps with that. Sometimes, you don't want to restore the Windows operating system from backups and just want to do a reinstall anyway. This helps. You can always image your system to make reinstallation faster. But if you don't move those user profiles off the C: drive, you have a lot of extra manual work ahead of you. By moving the user profiles before we image the system, a 10 minute re-imaging procedure is all that is needed to reinstall Windows with all of your user data and settings intact and ready to go.
A comfortable level of familiarity with Windows and Knoppix are assumed in this article. Tools are suggested with no instruction on how to use them. If you need help with these tools, you will have to find that help elsewhere. As always, read the entire article and make sure you understand it thoroughly before starting the process.
Instructions
First, setup three partitions. C: as NTFS, D: as NTFS, and a third partition as ext3. A good size for the ext3 partition is 5GB - 8GB.
Install Windows XP Professional by hand. During the install when asked to create a username, create a temporary username that will be removed later. I use 'tempadmin'.
As soon as Windows is done installing, BEFORE DOING ANYTHING ELSE, disable System Restore. After that, create D:\Documents and Settings. Copy "C:\Documents and Settings\All Users" and "C:\Documents and Settings\Default User" to the "D:\Documents and Settings" folder. Do NOT attempt to copy the entire "C:\Documents and Settings" folder. It is unnecessary and you will be unsuccessful. Then, use the "Run" option in the Start Menu to open regedit. Modify this key and value:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\ProfilesDirectory
Set it to "D:\Documents and Settings".
Reboot your computer.
Login as your temp account which is admin by default. Create a new user in the Computer Management control panel and add this user to the "Admins" group.
Reboot the computer.
Login as the new user you created (or Administrator if you did not add your new user account to the "Admins" group.) At login, the new user's profile will automatically be created in "D:\Documents and Settings\username".
Remove the temporary account that was created while installing Windows and then remove it's associated "C:\Documents and Settings\username" folder and you're done.
Epilogue
At this point, your profiles are successfully moved to the D: drive. If that's all you wanted to do, stop reading here and be happy. I highly recommend some other steps, though . . .
If you really want to use System Restore, now's the time to reactivate it. If you're going to image your system after installing patches and applications, I would wait until after creating your image to enable System Restore.
Install your Windows updates, applications, etc... Right now is a good idea to also make copies (perhaps on your C: drive somewhere) of the All Users start menu and your start menu. More on this later.
Once you have this done, use the latest Knoppix CD to create an image of your C: drive as a file on the ext3 partition you created before installing Windows. Just load Knoppix and run 'partimage' as root to create your image on the ext3 partition. It will spit out a warning that NTFS support is experimental. Ignore it, it works just fine.
Nice thing about using ext3 for this is that unless you load the ext3 utils for WinXP, the ext3 partition will not be visible in My Computer so it helps to reduce the chance of accidentally removing the image of your OS. The downside is that you will not be able to back this up easily with your normal backup utility. There are many ways to handle this situation and it will be left as an exercise to the reader.
When you want to reinstall Windows, just load Knoppix and use 'partimage' to restore from image to partition and all of the above Windows Installation work will have already been done for you. Before using your "virgin" system, remember to restore your saved start menu folders and update it again with the latest security updates for your OS and all applications, including updating to the latest version of your applications (unless you specifically don't want to). Then use Knoppix/partimage to create a new image of your C: drive overwriting your old image. Using this method keeps you up to date and lets you reinstall windows to an "unused" state in a matter of minutes with all of your data intact. If you created your ext3 partition with enough capcity, you can have room to store more than one image of your OS. This can be good in case your latest image has a problem you didn't notice until after making the image. Unless you're installing some very large applications in your C: drive before imaging, you should be able to use 'partimage' with bz2 compression to store two images on your ext3 partition. This also assumes you did not enable System Restore before imaging. You can save a little extra space in your image by setting the security policy "Shutdown: Clear virtual memory pagefile" to "Enabled" before creating your image. You should be doing this for security concerns anyway.
The Caveats:
- Do this BEFORE you install any updates or applications on your system. I have never seen any system instability from applying these changes BEFORE installing updates or applications. However, in one case, one System Administrator did report instability when moving the user profiles AFTER installing updates and applications.
- The Local Service and Network Service accounts will not migrate automatically. They're just fine in "C:\Documents and Settings\". Leave them there.
- The built-in "Administrator" account is the ONLY account that will migrate to this new location. Any other account that exists BEFORE you perform this change will not migrate. Thus the reason for the temporary account.
- This works on Windows XP Professional. I do not know how to get this working on Windows XP Home.
- This will not protect data stored in the C: drive (for instance, Save Game data that is stored in Program Files.) You will still have to back that up before re-imaging your C: drive. One option for dealing with this is to install your applications in your D: drive. While this will not solve all application reinstalltion problems, it will at least keep your saved games and other data saved in third party "Program Files\Application_Name" folders from being lost during reimaging.