My Windows backup method
1
Nachbar's Backup Method
Greetings fellow Fakku-ers! Today I thought I would share with you my "backup method" that I currently use on my own computer in case anyone out there would like to try it out. The basic principle behind my method is that any critical data you have will be isolated away from the operating system should it go down. If you have ever had to reinstall an operating system from scratch, you know how time consuming a task it is to install all your programs again and then configure it back to the way you had it in order to restore functionality. With my method all you will ever have to do again after doing some initial work is merge a small 6KB registry file that redirects to where that critical data is. The data I'm referring to is your Users, ProgramData, and Program Files folders (I have also mapped out other folders to my Storage drive if you notice). The reason this works is because all programs store configuration data inside of your ProgramData and AppData folder (which is in your user folder) and your user folder also contains how you've configured your computer as well as all of your data that you have saved on your computer - unless you have it saved elsewhere. You will find that most programs do not need an actual presence in the registry in order to work. This should really only be attempted by people who are comfortable with working with computers. And as always, I suggest you read this whole thing and plan out what you will be doing before doing anything. If you are unsure with what you are doing don't be afraid to ask around.
Step 1: Prepare your hard drives
The first thing you will need to do is prepare your hard drive(s). What you will eventually end up with is your operating system on one partition, all your program files on another, and optionally having files redirected to a storage drive. I highly recommend using GParted (found at http://gparted.sourceforge.net) in order to partition/format/shrink/expand your hard drive(s) to the way you like. You will need a lot of extra space on your hard drive for copying the files over but it will be reclaimed in the end once you delete them off the system partition. For reference, here is my current drive configuration after all of this is completed: 3 partitions on a 640GB drive where the first one is a 15GB Windows XP partition, the 2nd is a 25GB Windows 7 64-bit partition, and the third contains the rest for Program Files. My second drive is a 1.5TB Storage drive on a single partition. Typically your operating system will take up less than 20GB and the bulk of the space taken up will be by program files and storage so partition accordingly. If you notice, I am dual-booting a 32-bit Windows XP with a 64-bit Windows 7 and they are both sharing the same program files. Most of you will only have 1 operating system so make note. I also have separated files onto my storage drive so that if I ever wanted to take the drive out and convert it into an external to take to a friends or something I could. For those with a single-drive configuration, I suggest having 2 partitions, 1 for your OS and another for your Users and Program Files folders. You will probably end up creating the partition(s) first, copying the files over, deleting the files off the source, then shrinking the operating system partition in order to maximize the space you have available.
Step 2: Assign the proper drive letters
The next thing you need to do is to make sure you have your drive letters assigned the way you like. This is how I have for both operating systems and it works well: C: current OS, D: the other OS, E: Program Files, F: Storage. You can easily do this by using Windows built-in disk management by right-clicking Computer and selecting manage and from that screen select disk management on the left. From there you right-click disk management and choose "Change drive letters and paths" and make it out the way you want it. Note you can't have them occupy the same letter at the same time and you should use the keys at the end of the alphabet (Q,R,S,T, etc.) to temporarily move them and then move them back in the order that you want. Look below at Arbitor's post for a more detailed explanation if you are having trouble.
Step 3: Copy the files over
Now you need to copy files over from the C:\ drive to the other drives/partitions. In the Program Files Drive (E: ), I have Program Files, Program Files(x86), Windows 7 Profiles, and Windows XP Profiles folders. Copy your Program Files over first, keeping your 32-bit apps in the x86 folder and the 64-bit apps in the regular folder (for example if you are dual-booting a 32-bit version with a 64-bit version like I am, you would copy all the the program files from the 32-bit version to the x86 folder. The 64-bit OS will already be using this naming scheme) For the Windows 7 profiles folder you copy over the Users and ProgramData from the C:\ folder. The ProgramData folder will be hidden and you will have to click "show hidden files and folders" in the folder properties to see it. In order to get your currently logged in user profile to copy over you will have to log out and log in to a different user like Administrator in order for them to properly copy over. Now, if your using a storage drive/partition, create these folders: Desktop, Documents, Music, Pictures, and Videos. Navigate to your user profile folder and copy the respected files to the storage drive/partition (if you can't find your user profile folder, try typing %userprofile% in the address bar). After all this you can delete all the folders on the C:\ drive you copied over and even shrink the partition.
Step 4: Reflect the changes in the registry
After that you need to edit some registry entries in order to point it to the new locations. If you've deleted the files and folders off the C:\ drive at this point you will notice nothing works. Time to fix that. This will involve finding and editing certain keys in the registry using the registry editor. You can open the registry editor by typing "regedit" in the programs search box in your start menu or by clicking run and typing "regedit" in the box. At this point I suggest you make a file on a partition other than C:\ and name it backup.reg or something similar. Any change you put in the registry you will put in this file as well. You can save the key you are working with by right-clicking it and selecting "export" in the registry editor. Save it using any random name you see fit as you will be deleting the file soon and then open it with notepad. You should have a line in [brackets] which is the path to the specific key and values for that key underneath it. Copy the line in brackets and any values that you changed and paste them into your backup file keeping a double space between keys and once your done delete the randomly-named registry file. You should end up with something that looks like my backup file in the end. Now for the specific keys that you need to edit. First, lets tackle the Program Files key. Go to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion and change any key in there that you see pointed at C:\Program Files to E:\Program Files. There should be a total of 6 values that you end up changing if you are using a 64-bit OS(look at my file for reference) and if you are using a 32-bit OS and are using my naming scheme for the Program Files folders you will have to change them to say E:\Program Files(x86). You will also need to go to HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion if you have a 64-bit OS and change those as well. Second, for the user profiles, go to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList in registry editor. For these 4 keys replace the %SystemDrive% part with where you saved them (for me it was E:\Windows 7 Profiles). Now find any subkey under it that looks like S-1-5-21-1058906830-3820467003-2355286709-500 (it will have a lot of numbers) and change the ProfileImagePath to where you saved them (For me it was E:\Windows 7 Profiles\Users\Neal). You can reboot now and everything should be working peachy again. Now go to the following keys and make sure the values are pointed to the correct locations and if you are using a storage drive and want certain directories pointed to that you can do that too from here: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders and HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders. There are spaces where there shouldn't be in these keys and I can't do anything about it because its Fakku's fault so check out my registry file at the end if you can't find them.
...And thats it! You should have a nice little backup key that you can now use to "restore" your computer should you ever have to reinstall it and if not you should at least have written down the locations where you changed the registry keys at somewhere. Everyone is now a pro at using the registry editor now right? =)
Here is my registry key for reference: http://www.mediafire.com/?nzwedmd5any
0
Its really a lot simpler than I make it out to be. You are basically just copying files over to a different drive or partition and then editing the registry to redirect it to where you copied them to.
0
Tegumi
"im always cute"
When making a guide, I find that people are usually able to understand it better if you have short, concise steps. You can explain this steps in detail, but the base step should be brief.
0
To add, there's no need to go to registry to change drive letter.

Right click My Computer/Computer -> Manage and it might ask you if you want to proceed (you answer yes ofc).
When a big window opens up, Computer Management w/e, find Disk Management option:
and click it to access disk management where you see your hard drives and partitions.
Right click the partition which letter you want to change and select the "Change drive letter and paths..." option.
On the next window (upper) select the partition which's letter you want to change and click change as the red line leads.
From the combobox you can choose a letter between A-Z. Choose the one you want and click ok. D=
Cool stuff Nash. Lotsa text!

Right click My Computer/Computer -> Manage and it might ask you if you want to proceed (you answer yes ofc).
When a big window opens up, Computer Management w/e, find Disk Management option:
Spoiler:
and click it to access disk management where you see your hard drives and partitions.
Right click the partition which letter you want to change and select the "Change drive letter and paths..." option.
On the next window (upper) select the partition which's letter you want to change and click change as the red line leads.
Spoiler:
From the combobox you can choose a letter between A-Z. Choose the one you want and click ok. D=
Cool stuff Nash. Lotsa text!
0
Very good suggestions. I'll revise the guide to make it look more appealing and to make changing the drive letters easier. Thanks guys!
0
Flaser
OCD Hentai Collector
Another Tip:
Assign the letters "X:","Y:","Z:" to your optical drives.
Why? your older (...and sometimes newer - thx lazy programmers) programs may need your optical drive to be a specific letter. Because the way windows maps partitions if you use external drives or just tend to swap hard disks your optical drive letter may change from boot-to-boot.
When you add a new hard drive, windows will first map it first - giving it a letter - and map optical drives later. So if your you have hard disk partitions C:,D: and your optical drive as E:, and you added a new hard disk with 2 partitions, then you'd have hard disk partitions C:,D:,E:,F: and your oprtical drive's letter would be G:.
However if you manually assign, the letter Z: it will never change since this is the last letter windows can assign. X: and Y: are also unlikely to change as you'd need several dozen partitions for them to be bumped.
Could you write a more in-depth explanation of writing the .reg file?
What you describe is something that normally can't be done, as programs usually have dozens entries in the registry referring to their path.
I know there is a windows variable that tells the system where the "Program Files" folder is, but even beyond that I'd have to export all my program settings. (I use several programs on the web, like Flashget for downloading stuff from FTPs, FlashFXP for uploading stuff and I also heavily reconfigured my mail client Thunderbird, finally I have all my IM clients with their logs and setups).
Assign the letters "X:","Y:","Z:" to your optical drives.
Why? your older (...and sometimes newer - thx lazy programmers) programs may need your optical drive to be a specific letter. Because the way windows maps partitions if you use external drives or just tend to swap hard disks your optical drive letter may change from boot-to-boot.
When you add a new hard drive, windows will first map it first - giving it a letter - and map optical drives later. So if your you have hard disk partitions C:,D: and your optical drive as E:, and you added a new hard disk with 2 partitions, then you'd have hard disk partitions C:,D:,E:,F: and your oprtical drive's letter would be G:.
However if you manually assign, the letter Z: it will never change since this is the last letter windows can assign. X: and Y: are also unlikely to change as you'd need several dozen partitions for them to be bumped.
Could you write a more in-depth explanation of writing the .reg file?
What you describe is something that normally can't be done, as programs usually have dozens entries in the registry referring to their path.
I know there is a windows variable that tells the system where the "Program Files" folder is, but even beyond that I'd have to export all my program settings. (I use several programs on the web, like Flashget for downloading stuff from FTPs, FlashFXP for uploading stuff and I also heavily reconfigured my mail client Thunderbird, finally I have all my IM clients with their logs and setups).
0
Anything that I had to change I threw together in that registry file. You will find that most programs do not need an actual presence in the registry in order for them to work. Most of them rely on the information in your %appdata% folder (which is located inside your user profile folder - and yes that means your mozilla programs are there too!). Very seldom will you find a program that will not work unless it is in the registry. Also most programs on startup will add themselves back into the registry if they need to be. And if stuff isn't in the appdata folder it is likely found in your My Documents folder or in its Program Files folder. My method has all of these on a different partition from your OS and has the registry correctly pointing to it. I've reinstalled my OS a few times and never had to reconfigure anything. The only thing that didn't work again was stuff like Far Cry 2's benchmark program because it needed a reg key to redirect itself to the game. Basically ALL your configuration data for EVERYTHING is found in that appdata folder.
If your talking about the structure of a registry file I can explain that for you. Take a look at my registry file in notepad. You will see something like this:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion]
"CommonFilesDir"="E:\\Program Files\\Common Files"
The line in [brackets] specifies where the registry key is. You can open this up in registry editor and find it as well. Any lines after it are values for that key. Wikipedia has a nice way of putting it:
[<Hive>\<Key>\<Subkey>]
"Value Name"=<Value>:<Value>
If the value already exists it will be rewritten with this data. If it does not it will be created. You can put as many values as you want under that key. Notice the key itself only uses 1 "\" in its address and that your values will use 2 "\"'s. If you are working with the registry editor, it corrects this 2\ issue for you. If you want to switch to a different key and add values to it you have a space in the line. Example:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion]
"CommonFilesDir"="E:\\Program Files\\Common Files"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion]
"CommonFilesDir"="E:\\Program Files (x86)\\Common Files"
As for the registry file itself: You can name it whatever you want so long as it has a .reg extension. Also for some reason, fakku is putting a space in that last key in the word Version.
Edit: I have added all this info to the OP so as to not bring up this confusion again.
Edit again: I have fixed a few more errors and explained the registry step in more detail.
If your talking about the structure of a registry file I can explain that for you. Take a look at my registry file in notepad. You will see something like this:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion]
"CommonFilesDir"="E:\\Program Files\\Common Files"
The line in [brackets] specifies where the registry key is. You can open this up in registry editor and find it as well. Any lines after it are values for that key. Wikipedia has a nice way of putting it:
[<Hive>\<Key>\<Subkey>]
"Value Name"=<Value>:<Value>
If the value already exists it will be rewritten with this data. If it does not it will be created. You can put as many values as you want under that key. Notice the key itself only uses 1 "\" in its address and that your values will use 2 "\"'s. If you are working with the registry editor, it corrects this 2\ issue for you. If you want to switch to a different key and add values to it you have a space in the line. Example:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion]
"CommonFilesDir"="E:\\Program Files\\Common Files"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion]
"CommonFilesDir"="E:\\Program Files (x86)\\Common Files"
As for the registry file itself: You can name it whatever you want so long as it has a .reg extension. Also for some reason, fakku is putting a space in that last key in the word Version.
Edit: I have added all this info to the OP so as to not bring up this confusion again.
Edit again: I have fixed a few more errors and explained the registry step in more detail.

