Have been setting up a new computer, so I thought I'd take the opportunity to write this up.
I've seen many people still just simply set up their system with a single partition and dump everything onto it. This guide will try to show you some reasons why you might want to partition.
Actually, this is primarily directed at those with large HDDs, who would rather performance at the cost of some space usage.
Probably isn't worth you going to rip up your current setup and repartition everything, but might be something you want to do when you set up a new system.
Why Partition?
Current hard-drives' biggest problem, in terms of performance, is seek time (time it takes for the HDD to spin to a specific location and retrieve the data you're after) - until SSDs become more commonplace, this is something wee'll have to live with. And fragmentation simply makes seek times worse, thus it makes sense to try to avoid fragmentation as much as possible.
Sure you can defrag once a while, but I doubt most people do it terribly often - instead, wee try to avoid it as much as possible.
Partitioning can help reduce fragmentation,
or fragmentation on certain parts of your setup.
About Fragmentation
Simply, fragmentation generally occurs once the HDD has filled up all the
physical space, and then, usually when you're running low on free disk space on a drive, the OS will try to fill up all the gaps when writing new files (which will be fragmented). (sorry for bad explanation) Note that the amount of physically unused space on the HDD will decrease over time, and eventually, files will become more fragmented.
So if you simply just have a single drive setup, with your files and apps, fragmentation can build up rather quickly on the drive.
Idea behind partitioning
...is to separate stuff that isn't commonly written to, and is read a lot (ie system files, and applications) with stuff that you often write to (ie when you're dumping a DVD to the hard-drive). As you can probably see, the less writes, the less fragmentation.
The other thing to keep in mind is free space. Don't partition so that you
just have enough room to fit what you need to - if you've got a large HDD (somewhat the case these days), leave plenty of breathing room for any future writes.
Here's an example of a general partitioning structure I adopt:
- Windows XP [20GB]
- Backup Windows [12GB]
- Applications/Games [100GB]
- Files [200+GB]
- Temporary Storage [150GB]
- Spare space [~50GB]
The idea is that the OS is installed to the first partition. 20GB is more than enough storage for a stripped version of XP, the paging file, hibernation file, and any future libraries installed. This partition rarely ever gets written to, thus will usually be pretty much unfragmented.
The temporary storage is where I dump DVDs, or copy stuff that will only be on the HDD for a short while (though I'm somewhat lazy, and leave things there, which is why I make the Temp store a bit big-ish).
Other advantages of partitioning- Can save you from hassles of having to repartition your HDD later on when you want to try a new OS (plan your structure before committing it)
- If you later get a new HDD, it's easier to move the partition across - ie, if you get an SSD (which is excellent at reads, though writes don't do them so well), you can move your OS drive directly to it.
- Can make some things more convenient (ie storing your apps on "G:\" - it's quicker to type that than "C:\Program Files")
Formatting
Yet another advantage of partitioning is the ability to format each of them optimally for the partition's purpose.
Generally, on Windows, you'd probably use NTFS (though for a file storage partition, if you use other OSes as well, you may wish to make it a file format supported by both OSes).
The other thing to consider is block/cluster/sector size (they're just different names for the same thing). Larger block sizes
generally mean faster access at the expense of disk space (larger block sizes also allow larger partitions).
So for your system drive, and a temp file storage drive, try to use the largest block size possible for maximum speed (as long as you're not going to put a tonne of small files on them). You'll probably want to use a smaller block size for file storage.
Considerations for a Windows drive
A problem when setting up Windows is that you can't choose the block size during setup. This means that you have to set the partition up before installing Windows (make sure you don't format the drive during setup though).
Another problem is the fact that a lot of things can still get written to your system drive (mainly Application Data, badly written apps hard-coded to install into your Program Files directory, Temp files etc).
A simple solution to solve these is to use NTFS junctions - I'll probably write a tutorial on how to do this later. Also, for the temp folder, you could consider setting it to a RAMDisk (will probably also write a tutorial on that later too).