不知道为什么,系统翻出了一篇多年前W君的帖子《为什么很多人喜欢把软件装在D盘,而不是系统盘C盘?》,成为24小时最热的文章。
其实已经2120年了,讨论是否分区没有太大意义。在回复区,我承诺粉丝要重点写这个内容,那么我们来看看:
其实W君的主要业务不是做自媒体,而是做IT系统咨询和一些系统架构设计工作。有时候也会看一些数码博主的自媒体内容,但很多时候感觉像是“一帮土炮瞎BB”(没有别的词来形容)。事实上,许多计算机或网络设计都遵循严格的协议和规范,这意味着我们可以流畅地使用各种数字产品。
严格来说,如果只有一个硬盘没有分区,性能只是一个形而上的问题。
很多人潜意识里认为分区是把硬盘分成不同的“块”,但硬盘的结构并不是这样设计的。硬盘出厂时几乎不记录任何信息。磁盘是一种能储存磁性的金属盘。
当硬盘是“低格式”时,它将被分为柱面、磁道和扇区。目前大部分硬盘出厂时都会由厂家来做这一步,但20多年前,还得由电脑用户自己操作。这个过程被称为“低格式”。为什么要做到这一步?开始的时候,很难把圆盘做成一个绝对的圆,让圆盘按照一个绝对的圆心旋转。不同硬盘之间略有不同。这时候就需要根据每个硬盘的差异来适配整个硬盘。所以有前面提到的低级格式。就像在开始使用硬盘之前,用笔(磁头)画出“这个硬盘”的存储区平面图。在低级格式化的过程中,将磁盘的基本数据信息写入硬盘的最外层磁道,同时划分磁盘的不同扇区。这是初始化磁盘的过程。
然后是格式。磁盘初始化后,将划分不同的扇区,这些扇区的地址信息将存储在磁盘的MBR(主引导记录)中。
然后在主引导记录后面会记录一个分区表,记录磁盘不同分区的具体开始和结束位置,也就是CDEFG……。格式化的工作是将一个特定的分区分成“簇”。如果不选择快速格式,你会让每个“簇”都被0填充。
“集群”的概念不是硬盘上的物理概念,而是操作系统用来存储文件的中间体。群集覆盖一个或多个磁盘上的扇区。
mg.com/large/pgc-image/52d12c418a7a46a286b25576a0ffc767" />这是一个操作系统驱动磁盘的驱动程序算法。只不过在当年由于磁盘空间不大,例如W君最早用的硬盘磁盘是40MB的,存储簇数据的空间在硬盘上也就是相当宝贵了,于是在FAT(文件分配表)最早的版本中存储的簇的数量是固定的。这就带来了一个问题,例如在一块40MB的硬盘上簇所代表的存储空间是1KB,但是到了一块1GB的硬盘上,一个簇的所代表的存储空间就是16KB了。
对于磁盘来说簇的大小是指磁盘上存储文件位置的门牌号。
但对于操作系统来说,簇是文件的最小存储空间。每个文件至少要占用一个簇
早期硬盘容量小价格贵啊!那么如果一个1K大小的文件存储在一个1K大小簇里面是理想的情况,但是世界上哪有这么多碰巧的事情呢,一个文件可能是1K+1个字节。那么在存储的时候也就占用了2个簇。这就浪费了一个1K宽的99.99%的空间也就是浪费了1024个字节。问题还没有结束,如果是16K大小呢?这就导致了一个1K的文件浪费了15K的存储空间。
从统计学上来说每个文件会浪费半个簇的空间。如果簇被设置得过大就会导致硬盘出现极大的空间浪费。

这也是为什么在当时的问答里面给大家发出的簇尺寸对照表。面临着巨大的浪费当然是得考虑解决办法了,簇和分区大小的尺寸直接关联啊,所以把分区做小就可以节省磁盘空间。于是磁盘就开始分区了。
把一块1G的硬盘分为基本够用的200MB硬盘四块,这样簇的大小就由32K降低到了4K,大幅度的降低了文件占用的实际磁盘空间。这才是磁盘分区的一个初心所在。
到了硬盘越来越大的时候,显然分更多的磁盘分区(也就是CDEFG盘)并不能有效地解决簇越来越大的问题,于是诞生了类似于FAT32的磁盘分配表格式或者干脆就是NTFS这样的磁盘分配格式,这些格式有一个共同点就是一个磁盘上的簇都被统一划分为固定大小。例如FAT32的簇就固定在了4K,也即是说平均每个文件浪费2K的存储空间,这样的浪费对于大硬盘用户来说已经是可以接受的了。同时也带来了不用那么多分区的便利性。
但历史是有惯性的,尤其是给硬盘分区这种普通用户自己做不来的操作,往往被电脑装机商当作秀技能的表演项目给保留下来了。于是硬盘的分区就深深地刻入了个人电脑用户的意识里。
从狭义上来讲,一块硬盘分布分区性能是一样的,但如果用久了性能还真的是不一样的。这是因为操作系统的倾向性问题。操作系统往往更倾向于往连续的簇里面写文件。

当磁盘有连续的簇,并且恰好可以存储下文件的情况下操作系统就会将文件直接存储在磁盘的一个连续区域。但是咱们用电脑不是还要删文件吗?删掉的文件所释放出来的簇就在磁盘上零零星星的存在了。这时候很多文件就不得不存储在不连续的簇里面。于是硬盘的磁头就会在不同的磁道来回运动,这个过程叫做“寻道”。

相比于每分钟几千转旋转的硬盘,磁头臂的移动就慢了很多,这就导致了系统性能的下降。也是很多系统越用越慢的一个主要原因。在Windows中有磁盘碎片整理程序,主要就是针对磁盘上的文件按照不连续的簇进行存储的一个整理程序,整理后大部分文件就是连续簇存储了。
文件碎片的问题,在很多小的硬盘分区上就更为突出了,小分区的空余空间很少,很难原生的为大文件提供足够的“连续簇”存储。久而久之分了很多区的硬盘性能下降也就更明显了。
说大家很注重的一个分区的“好处”,就是操作系统坏掉了可以不影响自己的私人文件存储。其实这也是一个误区。
W君的系统还真的没坏过!听起来有点不可思议吧?从1992年W君有自己的第一台电脑到现在已经30年时间了。算是重度电脑用户的W君只经历过一次系统崩溃的问题导致了个人数据的丢失。原因不在分区,而是当年在用两块硬盘做RAID 0,在阵列中一块硬盘坏掉了,让W君丢失了3年多的程序和照片,后来学乖了用Raid 5了,一台台式机至少装三块硬盘。
至于Windows的崩溃,这个事情和大家的用机习惯有相当大的关联性。装了很多盗版软件和某60某霸某讯的全家桶的机器很难不崩溃。但问题并不在于是不是分了很多硬盘分区,而是在于你为什么安装这些来路不明的软件呢?PC得X病的问题还真不应该怨床不干净吧?说C盘重装不影响系统的家伙们,你们如果没有对C盘做了什么不可告人的事情,那么C盘需要重装吗?这本身就是一个悖论。当然了,如果是硬盘的硬件坏了,你分几个区,就是弄出Z盘来,该丢的数据也还是会丢的,难道不是这样吗?
这样说,你会不会发现除了长期性能会降低之外,如果正常使用计算机的情况下,一个硬盘分多个分区和单一分区是并没有区别的呢?