There seems to be a lot of confusion around having multiple partitions for Windows. Some of the theories I have heard are
- It's faster to move to a new partition start than searching for a file start
- If you need to format it's easier since the data is on the other partition
- Putting swap file on a separate partition increases performance
- File/Folder level security
Generally I found the data one to be true, but in that scenario I would rather have separate disks since those will be faster.
In short my question is, is there any truth to the above theories and are there any other reasons to partition a disk?
One of the primary reasons I use different partitions is that of separating the data from the OS. Should you need to re-install windows (which we all know is quite likely) at any point you can do so without needing to move your data off to somewhere else.
As partitions on the same disk will be using the same spindle theres very little to be gained in terms of speed with partitioning a single disk.
Putting swap on a different disk will not be faster since it's still the same physical disk.
However, by partitioning you can actually determine whether the partitions should be on the inner or outer part of the physical disk (depending on partition order). Thus you can make one partition on the outer edge of the disk that's way faster than the one on the inner part of the disk. Putting swap there might theoretically increase performance. It might also increase disk thrashing since the disk head will have to move from the innermost part to the outermost more often.
I have always put my user data on D: and this has saved me on multiple occasions.
YMMV.
I doubt you would see any performance increase for the first or third items you have listed. Partitioning a single disk doesn't avoid the fact that you need time to seek the head over the proper track and then need to wait for the desired sector to rotate under the head.
The time is lost due to physical reasons. Separating partitions won't improve that latency.
However, I am a huge fan of using it to separate data from the operating system. Makes it a breeze when you need to do a reinstall.
In general, partitions are inflexible things and one should use as few as possible. However, when the OS partition runs out of space it tends to make a server unstable, so there are still good reasons for using separate partitions, even when only using a single disk array.
Shadow Copies - when using MS shadow copy on file servers, this helps prevent a high I/O load from causing some of the shadow copies to be deleted or filling up a data or OS partition. Recommended 16 KB minimum cluster size to mitigate defragmentation problems that might otherwise delete some of the shadow copy data. See here for more info: http://technet.microsoft.com/en-us/library/cc753975.aspx
Quotas - when using MS quotas, they can only be applied on a per volume/partition basis. While it is possible to apply them to the OS partition, it can cause problems for windows components, installing programs, and service and system accounts if not managed correctly.
Separate user data - Keeping user data separate from OS and application data allows you to recover from various problems and easily upgrade or reload the OS. More importantly, should your users unexpectedly fill up the user partition (say, by copying a VM file to the user share), it won't crash the whole server.
Separate log files - should you experience a BSOD or the OS partition become corrupted and need restoration, this preserves your logs for forensic troubleshooting. Also prevents the log files from filling up the OS partition and causing server instability.
Separate paging file - cheap memory makes swap files less critical than they used to be, but are still recommended. Swap files thrive best with large cluster sizes, 64 KB or larger, and in one contiguous block of disk space. Recommend a partition at least double the size of RAM. Paging files and log files can go on the same partition to simplify the configuration.
I find it quite useful to have system files on one partition and user files on another.
So, in linux land that would be a partition for / and a partition for /home. In Windows land that would be c: and d: drive, and either actually modifying windows so the "Document and Settings" directory is on D or just learning to store my data on D.
This means that if your system goes belly up (on the Linux case you want to swap distros or distro versions) you can easily nuke the partition and start again.
Apart from that one rule though, I think the less partitions the better. Partitions are inflexible things, and the less you have to deal with them the better.