Monday 25 December 2017

Is there a reason to keep Windows' primary partition / drive C: small?


In my jobs almost two decades ago, IT experts would keep the size of Windows' main partition (C drive) extremely small compared to the other partitions. They would argued this runs PC at optimum speed without slowing down.


But the downside of it is, C: drive easily fills up if kept small, and soon you can't install new software as it runs out of space. Even if I install software in D: drive, part of it is always copied to C: which fills it up.


My question is this practice still good? Why it is done. What are its main advantage if any? One obvious one is if primary partition crashes, your data is safe in secondary.


The reason I am asking this question is because I am trying to update Visual Studio and I can't because I have only 24MB left in primary partition.



Answer




In my jobs almost two decades ago, IT experts would keep the size of Windows' main partition (C drive) extremely small compared to the other partitions. They would argued this runs PC at optimum speed without slowing down. [...] My question is this practice still good?



In general: No.


In older Windows versions, there were performance problems with large drives (more accurately: with large filesystems), mainly because the FAT filesystem used by Windows did not support large filesystems well. However, all modern Windows installations use NTFS instead, which solved these problems. See for example Does NTFS performance degrade significantly in volumes larger than five or six TB?, which explains that even terabyte-sized partitions are not usually a problem.


Nowadays, there is generally no reason not to use a single, large C: partition. Microsoft's own installer defaults to creating a single, large C: drive. If there were good reasons to create a separate data partition, the installer would offer it - why should Microsoft let you install Windows in a way that creates problems?


The main reason against multiple drives is that it increases complexity - which is always bad in IT. It creates new problems, such as:



  • you need to decide which files to put onto which drive (and change settings appropriately, click stuff in installers etc.)

  • some (badly written) software may not like not being put onto a drive different than C:

  • you can end up with too little free space on one partition, while the other still has free space, which can be difficult to fix


There are some special cases where multiple partitions make still make sense:



  • If you want to dual-boot, you (usually) need separate partitions for each OS install (but still only one partition per install).

  • If you have more than one drive (particularly drives with different characteristics, such as SSD & HD), you may want to pick and choose what goes where - in that case it can make sense to e.g. put drive C: on the SSD and D: on the HD.




To address some arguments often raised in favor of small/separate partitions:



  • small partitions are easier to backup


You should really back up all your data anyway, to splitting it across partitions does not really help. Also, if you really need to do it, all backup software I know lets you selectively back up a part of a partition.



  • if one partition is damaged, the other partition may still be ok


While this is theoretically true, there is no guarantee damage will nicely limit itself to one partition (and it's even harder to check to make sure of this in case of problems), so this provides only limited guarantee. Plus, if you have good, redundant backups, the added safety is usually to small to be worth the bother. And if you don't have backups, you have much bigger problems...



  • if you put all user data on a data partition, you can wipe and reinstall / not backup the OS partition because there is no user data there


While this may be true in theory, in practice many programs will write settings and other important data to drive C: (because they are unfortunately hardcoded to do that, or because you accidentally forgot to change their settings). Therefore IMHO it is very risky to rely on this. Plus, you need good backups anyway (see above), so after reinstallation you can restore the backups, which will give you the same result (just more safely). Modern Windows versions already keep user data in a separate directory (user profile directory), so selectively restoring is possible.




See also Will you install software on the same partition as Windows system? for more information.


No comments:

Post a Comment

Where does Skype save my contact's avatars in Linux?

I'm using Skype on Linux. Where can I find images cached by skype of my contact's avatars? Answer I wanted to get those Skype avat...