Wednesday, November 4, 2009

The Ultimate Tweak: Windows XP or Vista installation on larger than default allocation sizes

The choice of cluster size has an impact on real-world performance, though for most people it is not all that significant. In a nutshell, larger clusters waste more space due to slack but generally provide for slightly better performance because there will be less fragmentation and more of the file will be in consecutive blocks. This occurs because when clusters are larger, fewer of them are needed than when they are small. A 10,000 byte file would require three 4 kiB clusters but only one 16 kiB cluster. This means this file will always be in a contiguous block if stored in a 16 kiB cluster, but could be fragmented if stored in a 4 kiB cluster size partition. The slack tradeoff is a waste of 4 kiB more storage in the case of the 16 kiB clusters, but, this is hardly an issue now with the gargantuan sizes of hard drives nowadays. Small cluster sizes also have a negative effect on partition because they require larger file allocation tables, to manage their much larger numbers of clusters.

Due to this advantage on real world performance of larger cluster size, many have tried to install windows on partitions with cluster sizes larger than 4kb but to no avail. Windows will not allow installing itself on a partition with a cluster size larger than the default allocation size of the NTFS file system... but there is a way around this. Though you cannot use anymore system restore and windows backup, and the installation disk for repairs but who uses them anyway. And who cares when your drive works like RAID.

Five years ago, I have tried for weeks to install Windows XP on a drive formatted with 64KB cluster size with no success. I have searched the net for related articles on how to install Windows on a 64KB cluster size drives or partitions and I found nothing. Okay, let’s cut to the chase, I know you’re itching to do this. Here’s how it works:
  1. Partition your drive so that it has two volumes. The first partition you set as the physical volume must be 10 MB or larger and format it with FAT32 or NTFS file system with default allocation size. You should create this partition first because this will become your boot drive and you would want it to be on outer most part of the disk for performance reasons and label it as BootDrive or SystemDisk (any label would do).
  2. Create another partition and format it with the NTFS file system with a cluster size of 64KB or 32KB or 16KB, whatever you prefer, but for better performance larger means better as it means less fragmentation and lesser head movement. Label the partition as OSDrive, Windows or anything.
  3. Run your windows installation disk. When the installation prompts you to choose which drive or partition you may want to install Windows, choose the second partition you made and it works like magic. It's that easy.
And, oh, besides the two partitions that I have told you to create, you might want to hide first your other drives or partitions before installation, or better disconnect it,  as Windows might install its system files on those disk if  those drives or partitions have default allocation sizes. This tweak also works on Windows 7 but your first partition must not be less than 100MB and NTFS only. Enjoy!

For your questions or comments contact me:

Windows Vista or XP Installation on Large Cluster Sizes

The Ultimate Tweak: Windows XP or Vista installation on larger than default allocation sizes