The Microsoft utility called Windows Easy Transfer, or Migration Wizard, can do the job. Windows Easy Transfer is used to transport Windows XP user information over to Windows Vista systems, and now it can be used to move XP user data to Windows 7 systems as well. The program scans your existing XP installation and copies the data to be moved into a single file. This file can be stored on a drive somewhere and then run on the target machine to restore the user data.
Windows Easy Transfer is on Windows 7 setup CD in the directory supportmigwizmigsetup.exe.
Windows Easy Transfer is designed easy to use.
Windows Easy Transfer has advanced options, ability to select or deselect specific directories. After the program finishes detecting what can be copied and presents you with a short list of what to copy, select “Customize” and then “Advanced” to see a full directory tree. You’ll want to do this to make doubly sure you’re backing up everything you want, but you’ll also want to avoid copying files that are not actually in your Users folder but are hosted elsewhere.
A perfect example: the My Music folder. On my old system, the My Music folder was actually a folder on another hard drive, with some 160 GB of music on it (all ripped from my CD collection). By default, Easy Transfer was set to copy all of this stuff into my user-data backup file. Thankfully, I aborted the operation before it tried to fill up my backup drive with a completely redundant copy of my music library.
Note that you can save the Easy Transfer backup file to the partition where you’re going to install Windows 7, as long as you don’t format the partition. You’ll be best off saving the file to a removable drive, a network location, or a second hard drive on the same system, just for the sake of complete safety.
One final piece of advice: When you create your new Windows 7 installation, create two user accounts. One will be the user you’re migrating from your previous installation i.e., where you’ll be restoring all the user settings and the other will be a user account for the sake of temporary administration until everything’s been migrated over. That way you can perform any work on the system without using the very account you’re going to be migrating