Guide : Move software/games to another drive/partition without reinstalling.

My First guide so any feedback is very welcome.

EDIT!
Please note that STEAM seems to allow more then one game library now :) . This is still good for other games and programs
/EDIT!

This is a quick and easy(or dirty) guide of moving a program or game from one drive to another without uninstalling. It has some limitations the biggest one being that a copy + paste to move files will not copy over NTFS security permissions, but for most games and programs this is not a problem.

I will be using the freeware program Junction Link Magic, but use of mklink or linkd work as well(but this is more easy for a new user)

Download Junction Link Magic. Install this first. It will scan your system for existing junctions/symbolic links and mounting points. This can take some time, but it will finish.
DO NOT MESS WITH THE ONES IT FINDS, Most are NEEDED for windows to operate properly.
http://www.rekenwonder.com/linkmagic.htm

This guide is aimed at moving programs and games ONLY and was not for moving parts of the operating system or users folders. For that you may wish to look here for more info on moving the Users folder(While not recommended, many users have done so without issues.)
http://lifehacker.com/5467758/move-the-users-directory-in-windows-7
Thanks to djscribbles for the link

Why would I want to do this?

1. You have an SSD/HDD setup and want to move some games/programs off to the hard drive to save SSD room(No reinstall required).
2. You have a second hard drive and want to move programs/games off to make more room(No reinstall needed).
3. You have a HDD/SSD system and want to place your most demanding games on the SSD(without reinstalling).
4. Your drive is almost full. While the linked files appear on the drive, they will not take space :)

So as you see the real reason for this is to avoid uninstalling and reinstalling a program/game when you need to move it to a new drive(thus avoiding having to reconfigure or patch).

A bit of background on this(just covering what you will need to know).
Windows(linkd for 2000/xp and mklink for Vista/7/8) has the ability to redirect requests for a certain directory to another directory on another drive.

The nice thing about this is that while the data now resides on another drive, your programs still see them selves on the install drive(you are not limited to moving from c to another drive/partition's folder). This makes junctions transparent to software and even the end user(you will see what looks like a shortcut arrow on junction folders to remind you what it is).

Why does this matter you you?
If you want to move a game/program from one drive to another, you have to uninstall it then reinstall it. In many cases this requires you to download patches and whatnot.

Why not just copy and paste the game and edit its shortcut?
Some games will allow this(mostly MMO games), but many other games and programs will have registry entries pointing to locations on the install drive so when you move the program/game, those entries are no longer valid and things may not work right.

What will this guide do?
In a nutshell, you will being moving a game/program to another drive(copy + paste), then removing the contents of the games folder in its installed location(you need the folder empty). You will then create a junction from the “old” location to the “new” location. As soon as this is done, you will see the files from the new location show up in the old location, but they will in fact be in the new location. After that, you can run your game/program as you normally would.

Step by step how-to
Step 1
Find the folder for the game/program you want to move.
Either use “(My) Computer”(explorer by holding Start + E) to navigate to the folder containing the game. If you are unsure of the games location, you can always check the properties of its short-cut and in most cases right clicking a shortcut will give you an option to “Open file location”
See image below

Step 2 and 3
Now you can copy and paste(ctrl + c for copy and ctrl +v for past or use the right click method) that folder containing the game/program to the new drive. In my case it will be going to my “games” folder on drive d, Your location may be different
See image below

Step 4
Wait...
110xct4.png


Step 5
Once the copy and paste has been completed, you can remove the files from the game/programs folder in the old location(the folder needs to be empty to create the junction).

Make sure you are in the “old folder”, you can leave the files in the recycle bin just in case, but worst case, you should be able to copy + past the files back if you run into problems
xek0ad.png


Step 6
Open Junction Link Magic and select the “Create...” button. The create screen may take a bit to come up, it almost seems random, but it will show up. You can maximize that window to see things better when it opens as well.

Step 7
Now on the LEFT side select your “OLD” now empty folder and on the RIGHT side select the “NEW” folder once you are sure you have selected the right folders you can hit create.

Step 8
You will get a warning about adverse effects and being sure, select Yes
35bb69v.png


You should instantly see all the files you have removed from the old folder are back, but they are all on the other drive. Try your program/game then empty the recycle bin.
fyow1.png


You can use this to almost any program or game, but I do not recommend messing with moving parts of windows as that can cause lots of problems. If you do not want to use the linked method above for moving users folders, each folder(default folders in your users folder) has a Location tab in its properties to allow easy moving of those. Its not perfect, but better then nothing for newer users.

If you need to undo this, you can either remove the junction in the Junction Link Magic. You may need to do a refresh to get the new junction to show up.
OR
Just delete the junction folder(the "old" one with the shortcut arrow on it) and then copy the program back from the "new" location, your program will not notice the difference. This is useful if you need it back on the old drive or get a bigger SSD. some users also may wish to move a game off the drive to free space, but want it back if they start to play it more often.

Questions or comments?
Post away.
 

agpbiohazard

Distinguished
Dec 8, 2011
41
0
18,540
Very interesting. I only usually keep no more than 10-15 games installed at any given time but once my SSD comes in, I'll have 1.5 TBs of hard disk storage... Will certainly give this a try if I need more space on the new drive ;)
 

JCMall

Honorable
May 15, 2013
1
0
10,510
Dragging this up five months later, but I mad this account just to say thanks to the author! You helped me free up like three hundred GBs of space on my C Drive after I hooked up my second drive. Thanks so much!
 

B3nchm4rk

Honorable
Apr 12, 2013
13
0
10,510
I use this for games that I play off and on like Battlefield, SW:TOR, etc. that are all very large games. I transfer the files to my SSD and create a link when I'm playing them for a while, then simply copy/paste/replace the files back onto my HDD and remove the junction when I'm done with them. Very big thanks to you nukemaster.
 

KRISKALI777

Honorable
Nov 23, 2013
1
0
10,510
Hi Nukemaster,
I have tried to send my games to another drive, in your prescribed method.
I downloaded Junction Link Magic, however, when trying to run the program, ended up getting an 'Error code 740' message.

As suggested, I also looked at mklink & linkd (both are fairly dated programs); I wondered if this was the problem seeing that my new system runs Win 8.1.
To be honest, I am a little reluctant when messing with operations that I have no experience with!

My goal is to simply free up space on my "C" Drive as it is becoming full.

Any further advice would be much appreciated,
Kind Regards
Kriskali777
 
mklink should be build into windows it self. No need to download it.

Can you try to ensure that Junction Link Magic is being run as an admin.

I had used it on Windows 8 without issues, but have not tried it on 8.1

using mklink is a bit more work, but should still be able to be done.

The usage would be

mklink /j "folder name" "target location"

Now the folder name actually gets created unlike the Junction Magic program this means after you copy the folder to the new location you have to actually remove the folder and then re-create it with the above command.

As an example
This makes program files appear to be located in c : \ test \ program files

md was just to make my test directory(thought I already had one :) you should not need to do this)
6t6a.png


Now it is very important to be in the folder that you want to make the link in first. for c : stuff it is fast to just use cd \ to the root of the drive.

The safest way to remove these links will be to just delete them in windows explorer as doing it wrong in the command prompt will erase the files from both locations.

If you need more information or want to see this in a step by step with a game, let me know.
 

pbananth

Honorable
Jan 6, 2014
2
0
10,510
Hi
i have installed some programs other than c dirve ( d & e)
if i transferred the programs to another DisK say F.. linking as per your explanation..
further if i wipe the partition d & e and merge the drives.. whether linking will still work?
or is there some other step to be taken..
thanks...
 
The link would have been on the install drive, so if you remove that partition, the link would be removed.

If your new single partition has the same drive letter you can remake the folder structure of the old program and then remake the link pointing back to f : and still have this working. but without the same drive letter it will not work.

In that case you will have to reinstall the program. You can still copy your old version of the program over it self AFTER installing to try to keep settings and current version.
 

trev2012

Honorable
Jun 15, 2012
17
0
10,520
Hi guys. I was wondering why use junction instead of symbolic. I've been using symbolic for some time with my PC. I got 3 SSD a external HDD and a internal HDD with symbolic links all over and have never had 1 error. Plus it's really simple since all you need to do is open cmd as admin type "mklink /d" then hold shift and right click the folder you want to move select "copy as path" paste it in cmd. Then cut n copy wherever you want copy path again, paste in cmd. then your done. My instructions writing skills ain't the best but here's a example.

 

They are both easy to make in the command prompt. I actually use Symbolic links for my network drives(to use them as folders on my local drive because junctions do not work across unc paths) and any game saves I have saved over the network(keep all saves for games central).

At a single local computer level they work the same, over a network, they do work a bit different. If I access a shared folder with a Junction it will follow it. With a symbolic link over the network, it may not work as it may be looking locally.

So you have c : \ test folder linked to c : \ test1 locally it will go to test1, but remotely it will look for c : \ test folder and not find one

The above program is just easy for new users or users that do not want to play in the command prompt.
.

It should work in Windows 8, I was using it in the developer preview without issues and mklink works for sure as it is a part of Windows.

That is how I have my steam games and some programs(Install and then create the link. setting in some programs may not be saved[from os to os] because they use other folders for saving settings) shared from Windows 7 to Windows 8 when they had the beta and developer preview
 

Brozzs

Honorable
Apr 26, 2013
72
0
10,630
One last question, I just built my computer and I am kind of a noob when it comes to this stuff. Is it easy for a noob like me to easily move files to my hardrive such as my virus protector stuff without messing up?
 
I would not remove the virus scanner because it already has other files within the OS and since it runs with the system if for any reason your drive was to be removed or have its drive letter swapped, you would loose your scanner.

I generally recommend this for games and programs that you do not run all the time.

This is not to say you can not, I just do not recommend it.

I do also recommend you either move your documents with the build in Windows location tab or using another guide linked above. The windows built in feature is more fool proof.

Example of moving your users folders with the built in Location tab in the properties of your folders under c : \ users \ your name \
customlocations.png

This also means if you reinstall windows you can just reset these to have all your desktop and documents back instantly.
 

Anubite51

Reputable
May 9, 2014
4
0
4,510
Big Problem:

I can't get the program to create any new junctions. My understanding was that if I deleted all my files from my old hard drive, after having copied everything to my new, larger hard drive, that I could just select my old drive and the new drive like the instructions said and it would "make it work." However, much to my disappointment, the create button is greyed out and I can't make new junctions for even single folders. So I don't understand what I'm doing wrong and until I figure this out, I can't use any of my programs. Any help would be greatly appreciated as I have been trying for the past week to get my programs moved from my old hard drive to my newer, larger one, but with no luck. Seems like something that should be fairly simple.
 
OK.

I will try to sort you out here. My first guess is you have a hidden desktop.ini file in the folders, not being empty stops this software. You can show hidden files to check.

Please ensure the drives are both NTFS and lets get some info on your hardware if you can as well.

If all else fails, I do not want you to sit here forever so we are going to use the command prompt to get you back up sooner than trying to trouble shoot 3rd party software.

We are going to need to open the command prompt as an administrator to get things stated.

1. Hit start and type "cmd" without the ""'s
2. Hold Shift + Control and hit Enter(Or right click cmd as select Run as Administrator)
3. In the window that comes up you are going to fist get to learn mklink. so type mklink /? too see the help.

So it will tell you that you just need to use "mklink /j link target"
Link is the Name of the link and Target is the location of the folder you want to redirect to.

So as an example

cd\ to get to c :
and type mklink /j Test d : \ downloads
This will create a Folder on c : that will show the contents of d : \ downloads.

Example Image
2h6y0dv.png


This IS different from JunctionLinkMagic because it CREATES the folder(so rename the old one first if needed, you can remove it when you KNOW everything works) when you make the link.

Now we will use an example with a program. I will be using Winamp as an example here.

1. Copy the program to your hard drive(you have done this).
2. Open Command prompt as shown above.
3. Use "cd\" to get to the root of your drive.
4. Use the cd commend(you can use "cd " or "cd\" they both work the same) to navigate folders(ie cd program files (x86) will move to program files (x86). "cd.." can use used to move up one directory level. You can shorten the commands a bit as well (ie cd programs files(x86)\winamp would get to the directory in one shot)
5. Once you are ONE level below the folder you want to create[program files (x86) if you want to make a junction to any sub folders]. You will use the command to make the junction. See earlier and below for an example

For my example of winamp it would be,
cmd (Control Shift Enter)
cd\ (to get to the root of c drive)
cd Program Files(x86)
mklink /j "Winamp" "D : \ Link Test \ Winamp" . Please note I have un-needed spaces to avoid the forum turning some it it into emoticons. The ""'s are required for any folder or link with more than one word. In my case Link Test would generate an error without the ""'s
2cd906a.png


After making a link you should be able to run the program normally.

Remember. This method CREATES the "folder" on your SSD so if you have the folder it self, it has to be removed or renamed. The links point to your folder new location on the other hard drive/ssd. Drives MUST be NTFS for this to work. using symbolic links, you can even do this over a network.
 

Anubite51

Reputable
May 9, 2014
4
0
4,510
So then I would have to do this for every single program I've downloaded in the life of this computer in order to move everything from my old hard drive to the new one? Why is it exactly that I can't just have Junction Link do this automatically again?
 
I would like more information, How many programs did you not get onto the SSD? This process is for migration not fresh installs.

You may have had no options if the folder is not empty, you should check to ensure it does not have a hidden file in it.

So the old location folder should have NO files while the new location(hard drive most times if you have added an SSD) should have the folder copied from the old location.

Either way it has to be done in a step by step fashion.

I do not know of any FREE software that will auto migrate while leaving just programs on the hard drive.

To check for files in the folders, you will need to show hidden files. This can be done under Windows Explorer - > Tools(hit alt to see the file menus. Windows 8 users should have a view button in the ribbon) -> Folder Options -> View(tab). Select "Show Hidden files , folders and drives" and unselect "Hide protected operating system files".