Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Im currently building a new PC, the specification is below:

  • Windows 7 Ultimate
  • Intel Core 2 Due 2.6
  • 2GB Ram
  • Hard Drives
    • 150GB Sata
    • 180GB Sata
    • 200GB Sata
  • 512MB Express GFX Card

Now my question(s) mainly relate to the hard drives, most of you guy's will know that the major bottle neck of a computer is the hard disk, the fact that it has 1 needed it cannot read / write from 2 places concurrently.

Im trying to speed up I/O of the hard drives and this is a learning curve for myself but i think the question is plausible but im not sure about other factors that may effect what im thinking about doing.

As I have 3 hard drives im wondering if I can spread a windows operating system across multiple hard drives, so that the bulk of the OS (Program Files) would be placed on a separate drive, thus spreading the I/O Bottleneck out to reduce the load.

Now I understand that Linux distributions do this, such as the Home Folder can be placed on a separate HDD.

  • Would it be a good idea to spread the I/O across several hard drives
  • Is this possible on windows based operating systems
  • Is there any other ways that can speed up I/O

as stated above, this is not something that I need to do on this computer, but it's something I would like to know how to do if it's possible.


oine possible solution I have read about is that after Windows 7 Has installed and your at the "Create Users" screen, if you hit Shift + F10 you will get a Command Prompt, you can then do the following:

  • Make your partitions on your hard drives.
  • Copy all your files from User data and Program Files to the new locations
  • Open Registry Editor and change a few key's to point to the new locations
  • Continue to create the user's and should be all ok.
share|improve this question
Can you tell us more of what you're doing? Based on some of your answers it sounds like your concerns aren't based around the average user checking email and running solitaire. –  rlb.usa Apr 21 '11 at 22:35
It's purely or education purposes, I would like to know if it can be done, and how it can be done. –  RobertPitt Apr 21 '11 at 22:41

4 Answers 4

If you mean hold one drive for the Operating System and another for all the Data Storage, you can do this.

All you need to do is install Windows on one Hard Drive, and then once your in Windows just simply go to C:\Users\**USERNAME** and you will be presented with all your user folders, just right click each one and go to properties. and go to Location, change the location to that of the second Hard Drive, e.g if your second drives letter is H, then to change the Documents folder location just use H:\Documents

This will perform all data storage on the second drive while all operating system I/O will be done on the OS Drive.


To move a location of other Windows folders, consider using the mklink command of windows

Here's a simple tutorial on how to do this: http://windows7themes.net/windows-7-mklink-command-use-to-create-symbolic-links.html

You may face an error if you were to do

mklink /J "C:\Program Files" "H:\Program Files"

as it's complaining about C:\Program Files existing.

Here's a possible way you could go around this issue: http://tuts4tech.net/2009/08/05/windows-7-move-the-users-and-program-files-directories-to-a-different-partition/

share|improve this answer
It might be more practical to simply use an external harddrive for personal storage (and your internal HD for system files + programs) if you're going to do this. –  rlb.usa Apr 21 '11 at 22:18
Well this method work's but it's only available for folders within the user data, i would like to focus on Program Files as this is one of the main I/O Points of a system. –  RobertPitt Apr 21 '11 at 22:21
OK I get you, edited my answer to show how to add aliases for routing folders to another location. Also I would recommend a SSD if you want to omit the HDD Bottleneck –  Sandeep Bansal Apr 21 '11 at 22:30
+1 for the MkLink, this is how I would want to achieve it within Linux, will take a look at that. –  RobertPitt Apr 21 '11 at 22:38
added information about a possible error –  Sandeep Bansal Apr 21 '11 at 22:44

The bottleneck here is the harddrives - as you mentioned - but it isn't the concurrent problem you describe. It's the fact that hard-drives are many, many times slower than RAM.

If you want to speed up your computer:

  • buy more RAM - like, 4GB, because 2GB is basically the bare-minimum standard nowadays
  • buy the fastest HDs you can - 7200RPM, I believe

But if you want to "spread out" your OS, you can do this via striping across the disks. Check out RAID to learn more, as in general, this kind of striping is done to replicate data for the purposes of HD failure. http://en.wikipedia.org/wiki/RAID

  • I'd also recommend swapping your Duel Core for a Core 2 Duo, they are much better

How It Memory Works

Your computer will store as much as it can on it's RAM. This is so that when it needs any data, whether it be a file or instruction, it can simply look at it's internal memory for a super fast response. If that data isn't in memory, it has to go to the HardDrive to fetch it. This takes a lot of time, as physical devices are slow.

When the computer fills up it's RAM, it has to store some of the stuff back onto the HD and fetch the new things it needs from the HD and put it on RAM. If you're running a gigantic program or doing lots of things at once, you run into a place where your computer is constantly shuffling things from RAM to HD, because your working set of memory(the things you really need and are using) doesn't fit on RAM anymore - this is called thrashing, and you hear your HD being noisy and your computer will be quite slow and sluggish.

So, the more RAM you have, the more stuff you can fit into super-fast memory (rather than fetching it from your HD), the less waiting you have to do for the HD, and the all-around faster your computer will be.

To answer your questions:

Would it be a good idea to spread the I/O across several hard drives

For the purposes of speeding up your computer, you really won't see that much of a difference. Buying more RAM is the most effective solution.

If you're backup-conscious, RAID isn't a bad idea at all and will achieve what you're going for.

Is this possible on windows based operating systems

Yes, but it's more common to do it physically and is controlled in the BIOS. See this howto : http://www.pcmag.com/article2/0,2817,2249572,00.asp

Is there any other ways that can speed up I/O

In order from cost-effectiveness:

  • buy more RAM
  • buy a better processor
  • buy 7200RPM disks
share|improve this answer
I know all of the above, the major problem's im looking at is reading data from 3 hard drives at the same time, thus reading faster in general, if i have 50 GB of ram, and I run Adobe Photo shop as-well as copying a bunch of files around, I still run into the same issue, alsso it is a Core 2 Duo sorry, updated my question. –  RobertPitt Apr 21 '11 at 22:31
Please stop emphasizing on RAM, my question has nothing to do with RAM, it's purely disk I/O, +1 for the other tip's –  RobertPitt Apr 21 '11 at 22:37
Disk I/O is slow. It's just slow. There's really no way of getting around that fact. You can tweak and twiddle all you want, but at the end of the day, you're not going to see any real noticeable differences. –  rlb.usa Apr 21 '11 at 22:40
I understand that, but it also play's a role in organizing my data, im a perfectionist and would like to set this kind of system up to 1. spread the I/O, 2. organize and utilize my HDD's, 3. learn the pros/cons behind this structure, im not worried about amazing results, I just want to see the results and understand them to further my knowledge –  RobertPitt Apr 21 '11 at 22:44

These were the only two things that I could find:

It seems that the only way to get a performance boost by putting some windows files on another drive (off the system drive) Is to only put the swap file on another drive. I have seen some people go as far as creating a TEMP folder on another drive and changing the windows environment varables for TEMP and TMP to point to the new folder.



This is a registry hack that tells windows to use more memory for file I/O but I am not sure if is the same thing as large system cache. Since I have 8 gig of ram, I did this and did find my PC to be faster.


share|improve this answer
When posting links, please summarize the contents of those links in your answer so that any future readers of this question can quickly determine if the link applies to them. –  Wes Sayeed Sep 19 at 1:23
This is a link only answer. Please edit your answer to include more details, instead of just external links. Otherwise, link rot becomes a real problem. –  lzam Sep 19 at 1:23
I thought the URLs were self explanatory.... There now fixed –  Larry Hyman Sep 23 at 23:50

A halfway measure: Whenever you install anything, tell it to install to some directory (I hate calling them "folders") on another drive. This does gets tedious.

A better answer is to go ahead and install your system as usual, then use "dynamic disks" and turn your system and boot partitions into a two-member RAID-1 (mirrored) sets.

This gives you superb throughput for reading, because any read can be satisfied from either drive - if one is busy, the other one can do it. It's not so great for writes because everything has to be written twice (once to each disk) but the OS doesn't spend a lot of time writing to much of the system or boot partitions. If "write time" bothers you then you could use your third drive for \users and for your pagefile.

A terrific thing about this is redundancy: The two disks are always kept in sync, so if one fails you still have the other. No "running a backup", it's just there. Want to keep an offsite backup? Shut down, pull one drive, stash it someplace safe. Put in another one, boot. Your system will (should) boot up just fine, but disk manager will complain about the broken mirror set. Tell it to re-establish the mirror using the new drive, and it will copy everything over, and you have your RAID-1 array again.

This page: http://sourcedaddy.com/windows-7/mirroring-boot-and-system-volumes.html has a pretty complete description of how it's done.

Verb. Sap.: The "system" volume is the one the BIOS boots from; it's the little one (usually 100 MB) with the \BCD directory on it. The "boot" volume is the one where \Windows, \Program files, etc., are.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.