SSDs are the best thing to happen to computers since Windows 95. Running your computer from an SSD will increase it’s performance where it matters most. Your computer will boot in seconds instead of minutes, large applications will start almost instantly, load screens in games will zip by, and copying the pictures and videos off your camera will seem almost instant.

Unfortunately, most of us can’t afford an SSD drive large enough to handle all of our storage needs. Compare a 1 Terrabyte Evo 850 SSD at $350 to a 4 Terrabyte Toshiba 7200 RPM HD at $130 and you’ll see what I mean. Wouldn’t it be great if you had a fast SSD and a large capacity HD that you could easily move stuff between? The problem is that to move a program in Windows you have to re-install it, right?

Wrong! There’s a little known technique in Windows and Linux called Symlinks. A symlink or, symbolic link is a type of pointer that tells your operating system to look somewhere else for the data. A symlink will let you move the files and folders that make up a program or game to a new location and will tell the software where you moved them to. Our dream of having a small, fast SSD with our most used data and large HD to store everything else on, is in reach.

To make a symlink you’ll need to open PowerShell or a Command Prompt in administrator mode (right-click and choose Run As Administrator).

RunAsAdmin

In Windows there are a few different types of links to choose from. Soft links are a kind of redirection similar to a shortcut. Hard links are impossible for software to see and are therefore the most useful. A hard link for an entire folder (vs. a single file) is called a junction in Windows. Typing mklink in our command prompt will show us the basics.

mklink

As you can see below, my gaming rig has several storage drives, the RAMDisk is RAM memory that can store files as long as the power isn’t turned off, the FastDrive is my SSD, and the SlowDrive is a 3TB 7200 RPM HD.

mydrives

When I installed Battlefield 1, I let it go to its default location (C:\Program Files (x86)\Origin Games\Battlefield 1) because I was playing it a lot and wanted it to start fast and have short load screens. Now that I’ve switched to mostly playing Destiny 2, I want to move Battlefield to free up the space on my SSD. The instructions below will work for any software you want to move on all versions of Windows since Vista (including servers). Just change the folder names in your commands. Be careful, quote marks and spacing matter.

  • I use Windows Explorer to cut the Battlefield 1 folder from its original location and paste it onto my SlowDrive.MoveGameFiles
  • In this case we’re relocating an entire folder so our link needs to be a junction. The syntax is: mklink /j path I moved the folder to path of the original folder.  Note the quote marks, these are required if your path has spaces in any of the folder names. Also note, there is a space between the new location and original path.mklink-junction
  • When I look in the original path of the data, I will see a shortcut. This is the link; it’s what fools our software into thinking the files are in their original location. In fact, if I check the properties of the link in Windows Explorer I will see the information (size, etc.) for the new location, it even shows the original path. Checking the directory in PowerShell or a command prompt will show us the truth.mklink-shortcut-propertiesmklink-cmd-properties

You can use symbolic linking to move software to any drive you like without having to re-install it. I took less than 6 minutes for me to move this game vs. hours of downloading and re-installing. I used this same technique to map my children’s Minecraft save data to my OneDrive account so that they can access their games from any of our computers or even from their friend’s houses. It’s a very handy thing to know. Let me know in the comments if this helped you out or if you have questions about using links.

Advertisements