So you just got yourself an SSD, or you’re thinking about buying one. How do you leverage this speed demon? This post is meant to help you decide which option to choose.
My Steam install takes up a whooping 210GB (and growing!), far exceeding the Intel 520 120GB SSD i’ve purchased. Also, many of the games i have in Steam aren’t games i’m currently playing. I could delete them… but disk space is cheap (and i’m constantly hitting Comcast’s 250GB/month limit) so i choose to keep it all (BTW, this will survive a Windows reinstall if you copy then off to an external drive and back).
A less extreme example is Microsoft Office, which weights in at just under 800MB. But that’s 800MB of SSD which costs more than 800MB of disk, and i don’t care if Excel opens in a few seconds rather than 30 seconds.
Unless you’re installing into a laptop/notebook you should have a secondary SATA hard drive (“rotating rust”). My recommendation is to mirror that drive with RAID1 (either with hardware or Windows mirroring). Hard drives (and SSDs fail). It’s not a question of “if” but a question of “when”. Trust me, i’ve been there. I could write up a whole nother post on my back scheme…
I won’t go into lots of detail about what SSD to choose, but will say this: If your motherboard supports 6Gb SATA, Get a 6Gb SATA SSD and use a 6Gb SATA port for the SSD. When I discuss 3Gb and 6Gb SATA, i’m referring to the speed of the data ports.
Note that many motherboard manufacturers choose to save money by mixing some SATA 3Gb and SATA 6Gb ports. My motherboard (ASUS P8Z68 DELUXE/GEN3) has 8 total SATA ports, but only 4 are 6Gb SATA. My SATA hard drives are 2TB Western Digital drives, but are not 6Gb SATA. So they go on the slower 3Gb SATA ports.
SATA 3Gb ports will work fine for DVD drives and 3Gb SATA hard drives. If your hard drive is a few years old, chances are it’s a 3Gb SATA drive. Even if you go out and buy a new SATA hard drive, read the fine print to see what you’re getting. Don’t assume it’s 6Gb SATA. And don’t waste a 6Gb SATA port on a 3Gb SATA drive (unless you’re out of ports).
Pull out your motherboard manual (or download the PDF) to determine which ports are which. If you don’t have any 6Gb SATA ports, you can pick up a PCIe add-in card relatively inexpensively.
I will outline the options, then go over my preferred method in detail with some screenshots.
Option 1: Reinstall Windows, everything is on SSD
- Drawbacks: Limited space, it’s a reinstall… ugh. Single point of failure.
- Benefits: no complexity whatsoever
Option 2: Hard Drive as primary, SSD as Add-on Drive
When you install software, you’ll need to manually set it to install to another location to get it on the SSD.
- Drawbacks: Windows is still on rotating rust. OS will be slower than if it were on SSD.
- Benefits: No need to reinstall Windows, Ass-loads of space for things you want to be fast. With RAID1 there’s no single point of failure for your OS drive. If you lose your SSD some of your apps won’t run.
Option 3: SSD as primary, Hard Drive as Add-on Drive
When you install software, you’ll need to manually set it to install to another location, or set your “%programfiles%” variable to the hard drive and manually select when you want to install something to SSD.
- Drawbacks: Where’s my program again?
- Benefits: Speed of Windows on SSD
Option 4: “Hybrid” with Windows Junctions
This is very much the same as Option 3, and is my preferred method to use. Understanding and keeping track of the Junctions takes a little bit of knowledge and patience, but that’s what we’re here for.
- Drawbacks: You have to wrap your brain around junctions (and keep track of them). Occasionally a “file” junction may break with a file update (more on that below).
- Benefits: Windows OS is on SSD and makes it FAST. Pick and chose what programs are on the SSD by selectively moving them and using a junction as a pointer to the new location.
How to setup the Hybrid:
- Install Windows to your SSD. This will be Drive C:
- Your secondary disk is typically Drive D: but can really be any other letter. All my screenshots use Drive E: (Drive D: was already used for another physical drive when I set this up — If i ever re-install, it’ll be all on one Drive D:). My code examples will show Drive E: as well to keep things consistent, just change the drive letter to whatever letter you hard drive uses.
- Install all your apps as you normally would.
- Close any programs, apps, or system tray icons so no files you’ll move will be in use.
- Now for the magic part…. As soon as the install is done, move some select installed files to your rotating disks. I also most some large users specific files (Documents, Downloads, Music, Video, Pictures) to hard disk as well.
On your E: Drive create a folder called “C_Drive_Links”. This is where you will move all your files/folders that are linked back to the C: Drive. Underneath that drive create a folder for each:
Let’s start with an easy one, MS Office. Open an explorer window, browse to C:\Program Files (x86). Locate the “Microsoft Office” folder and right click on it. Choose “Cut”. Now open another explorer window to your E: drive and browse to E:\C_Drive_Links\Program Files (x86), right click and choose “Paste”. Office will move to your E: Drive. I keep copies of all the commands I use to make Junctions in Notepad. If you want to do the same, open a copy of Notepad to edit the commands before you paste them into CMD. Save this file in E:\C_Drive_Links so you know what goes where and can reference it at a later date. From a CMD Prompt (as Administrator) type this command (be sure to edit the user portion and change the drive letter if needed):
mklink /J "c:\Program Files (x86)\Microsoft Office" "e:\C_Drive_Links\Program Files (x86)\Microsoft Office"
Here’s a screenshot and the resulting message.
Now, let’s move on to some user folders. Open an explorer window, browse to C:\Users\. Locate the “Pictures” folder and right click on it. Choose “Cut”. Now open another explorer window to your E: drive and browse to \C_Drive_Links, right click and choose “Paste”. All your photos and pics will be moved to your hard drive. From a CMD window (again, as Administrator) and use this command (again, be sure to edit the user portion and change the drive letter if needed):
mklink /J "c:\users\rob\Pictures" "e:\C_Drive_Links\Users\Rob\Pictures"
Windows should report back that a Junction was created. Repeat the steps for:
Once you’re done you should see something like this in your C:\Users\<user name> explorer Window:
Note the small arrow on the folder icon indicating that the folder is a junction (this technically isn’t a shortcut, so don’t call it that).
You can use the same system to move any other large install off to the hard drive.
For Steam (make sure Steam is closed before doing this), things are a little uglier and less straight forward. The reason is that some individual files need to be moved in additional to folders. Steam’s game files are here:
C:\Program Files (x86)\Steam\steamapps
If you browse to the folder, you’ll see a bunch of .ncf and .gcf files. Some of the files are freaking huge! Let’s tackle those first.
Pick a particularly large file, i’ll use “day of defeat source.gcf” (1.2GB) as an example. Cut and Paste it to your Disk drive location then use the mklink command again, but this type we’ll add a switch to let Windows know this is a file, not a folder:
mklink "c:\Program Files (x86)\Steam\steamapps\day of defeat source.gcf" "e:\C_Drive_Links\Program Files (x86)\Steam\steamapps\day of defeat source.gcf"
For me, anything over about 10mb gets moved. See in my screenshots the files with the arrow (again, this isn’t a shortcut) and notice the file size is now 0:
E: Drive showing the actual files and their real sizes.
Next, let’s move the game folders, which are also large. Those are stored in C:\Program Files (x86)\Steam\steamapps\common. In this example, i’ll move COD-BO. A game I don’t play anymore. Right click on the “call of duty black ops” folder and select “Cut”. Then browse to your E: Drive folder E:\C_Drive_Links\Program Files (x86)\Steam\steamapps\common and paste the folder there. Moving this may take some time as the game is over 10GB. Once its complete use CMD to make a junction:
mklink /J "c:\Program Files (x86)\Steam\steamapps\common\call of duty black ops" "e:\c_drive_links\Program Files (x86)\Steam\steamapps\common\call of duty black ops"
After moving all my games over, my folders looks like this:
Notice that “Call of Duty 4″ and “call of duty modern warfare 3″ are not links. Those are games that were recently installed and that i’m currently playing so i choose to leave those on my SSD. In fact, if you keep Steam setup this way, all newly downloaded games will automatically be on SSD. As you notice yourself running low on disk space just use what you’ve learned to move the games to your hard drive.
The beauty of this system is that you can move games back and forth as needed. Got an urge to play some COD4 (like I did recently), simply delete the junction (the icon with the arrow in it) and move the files back to the hard drive. Deleting the junction DOESN’T delete the files.
Steam functions like normal, games can update themselves and the links stay intact.
That’s all! But, before I finish, a word about backups. Hard disks are cheap. If you have space in your case, grab a drive to use just as a backup drive, if you don’t have the physical space get an external USB drive and leave it plugged in and running. Point Windows Backup at the drive and your C Drive will backup automatically.
Like this post? Help me max out my Dropbox referrals. If you don’t have Dropbox, you should! Sign up here