Friday 18 March 2011

mklink

One of the least intuitive things I found about Linux, especially when moving over from a history of Microsoft OS's, was the idea of 'mounting' a disk to a point in the file system.

It is something that does take a bit of getting used to. Once you do, though, a number of other opportunities present themselves. One interesting thing is the ability to link files and other folders to other parts of the file system. This is different to the Window's idea of a shortcut. This is something that actually happens at file system level, with the result that no matter what programs you use, they will always be able to access the material in the same way.

Well, finally Microsoft have cottoned on to the fact that this might be a good idea. Hence in Vista, and now in Windows 7, there is the command

mklink

This [m]a[k]es a [link] between a folder in one place and a placeholder in another place on your filesystem.

Why would you want to bother with this? I will give you one, frankly excellent, example. Steam on SSD.

See, if you jump on the hype bandwagon and get yourself a solid state disk, you will rapidly discover 2 things.

1. It wasn't just hype, they really are excellent bits of kit.
2. There just is not enough space on the drive for all the stuff you want to put on it.

The second issue arises because SSD's are many times more expensive per gigabyte than traditional spinny magnetic disks. Realistically, in early 2011, 64Gb disk drives are reasonably priced, and 120Gb drives are the economic limit for most users.

If you are using 64Gb, this means that once you have stuck the bloated behemoth that is Windows on the disk, you'll be left with, realistically, 40Gb. Games these days can take up north of 15Gb (Dragon Age Origins I am looking at you). Clearly, space is going to be an issue. The main problem here is that Steam will only install games to one location. It will not let you say this game this disk, this game the other disk.

Game files are stored in the folder [Steam]/steamapps/common/[name of game folder]. Once you have installed the games you can move the [name of game folder] to another, slower, disk and run the command:

mklink /j "[Steam Folder]/steamapps/common/[name of game folder]" "[Other disk and folder]/[name of game folder]"

This will establish a hard link to the game folder on another disk. As far as Steam is concerned the game is still where it started, and it will run fine.

What this needs is some enterprising type to make an application that keeps track of your steam folders and moves them on and off the SSD for you managing the links all the time. Also, a profile system per game would be excellent, so you could just move off the movie files for instance, leaving the rest of the game on the SSD. Said enterprising type could then flog the software to Valve who should just incorporate the facility in Steam, thereby making my life just a little bit easier.

This person, for instance.

No comments:

Post a Comment