Link to home
Start Free TrialLog in
Avatar of sikadmin
sikadmin

asked on

relocate Program Files and user folders to another disk

Hello,
i have installed a new laptop (ASUS) with a 32 SSD memory.
i installed the OS (win7 pro 64b) on the SSD (C:\) and i want to have all other "stuff" on the HD (D:\)
1. Program files
2. Users
3. program Data

My questions are:
1. i understand that Microsoft is not recommending to move the program files folder to a different folder than the OS - why , can i do it ?
2. What id the best way of doing the transfer trough changing the registry after installation
or by "Audit mode" in windows 7
Avatar of jcimarron
jcimarron
Flag of United States of America image

sikadmin--You can copy all personal files, settings, programs to D:\ .  Use Easy Transfer (migwiz.exe)
http://windows.microsoft.com/is-IS/windows7/products/features/windows-easy-transfer

What you cannot do is transfer operating system files.
Avatar of Davis McCarn
Moving the Program Files location can be pretty dicey and the best way would be to install the programs to "D"; but, even 32G should hold Windows and your Programs if you are a little careful.
The folders you really want to move are USERS and PROGRAMDATA.  PROGRAMDATA replaces the old All Users in XP and fills up with lots of junk.  The easiest method wants you to do it before creating any users and you can read how here: http://www.overclock.net/t/1133113/how-to-move-windows-7-vista-user-and-program-data-folders-pre-user-creation
ASKER CERTIFIED SOLUTION
Avatar of rindi
rindi
Flag of Switzerland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of sikadmin
sikadmin

ASKER

In this linkage way of doing things (Junction), what happens in case of updates will they be installed on the new drive also ?
meaning: lets say i had office installed on C:\ then moved to D:\ with a mklink left on C
i have updates to it from windows updates..where will they be installed now ? will they go to D:\ ?
The updates themselves will be downloaded to C:, but then installed to the location of the folder the junction links to (D:\).

But I wouldn't install Office at all, I'd rather use LibreOffice or OpenOffice, both are free and very good alternatives to m$ Office, and they are available as PortableApps which I mentioned earlier. If there really is some obscure reason for needing Office I would install to Drive D in the first place. The Installer of Office allows you to choose where you want it, you don't have to take the defaults...
the real issue is with the default program files that windows installs on C with the windows, which i can do anything about them (cant choose where windows installs it)
how do i move them just by "copy paste"  and then do the junction ?
how do i have access to them trough a "different OS" as suggested above ?
Why move those? They don't take up much space and I'd just leave them.

With a different OS I mean you would need to boot the PC using a LiveCD like PartedMagic or WinPE or the UBCD4Win or install a temporary second instance of Windows to some other location on your PC (to drive D, or make an extra partition for it). To copy files I hardly ever use cut & paste, but rather a file-manager like the freecommander where you have 2 windows. In one window you can select the source, in the other the destination. Then you can just select all the files and folders from the source location and use the move button, and then the selected folders and files get moved into the other window which is the dest. It is much easier to use than windows explorer or cut & paste.

http://partedmagic.com
http://ubcd4win.com
2 more questions:
1. if you do the Junction link - does it mean that nothing will work on C, or he first looks on C the if it don't found it it goes to D

2. Do I need also to change the registry key as seen below:

1.      Open “Run” command
2.      Type “regedit”
3.      X86 - Navigate to : ” HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion”
4.      X64 - Navigate to : ” HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Windows \ CurrentVersion”
5.      Change all DWORDs including the path to “Program Files”
You don't need to change anything within the registry. The Junction is an option that the ntfs file-system offers. The system looks on C and finds the junction and then the junction handles everything from then on, so although the OS thinks it is working on C, it actually works on D. To the OS it is totally transparent.
So if i understand you correctly:
1. i install windows regularly
2. i transfer the program files to D (trough a different OS)
3. i create the junction (link file) in C
4. when installing new Program i try to change the path to D

what happens with programs that dont ask me and install themselves on C directly (need to move them again later)
If you have already transfered the Program Files folders and created the junctions, then you won't need to tell a program when it installs to install to D. Then they will automatically install in D. You would only have to tell them to install elsewhere if the program by default doesn't install to the Program files folder (some ancient software might still go directly into the root of C and create a directory there, but those are rare and most of them probably wouldn't work anymore on modern OS's, particularly 64bit OS's anyway).

Something you might try too, but I don't know if it would work, is to move the folders while windows is started in safe mode. Chances are that nothing is opened then inside the the program folders, and it might work that way without needing to boot into another instance of an OS, But I haven't tried this.
Thanks !!
i will try it and let you know if it worked