昨天,看到金山快盘出了Linux版,就想来用用。但是,在同一台电脑上,我既装了Windows也装了Ubuntu,Windows里面自然也安装了金山快盘,所以,就想着让Linux版的金山快盘能够和Windows里面的共用一个文件夹,从而防止数据冗余。另一方面,也希望在Windows和Linux之间能够方便的交换文档。之后,就开始在Windows的里面整理文档代码等等,以适应这些需求。
整理的过程中就产生了这样的一个问题,我到底应该将硬盘分成几个分区呢?
从我拿到第一台电脑开始,就是分成4个分区的,C盘装系统,DEF自选,哪怕当时只有80G大小的硬盘。直到现在这台1T硬盘的电脑,我也是按照习惯分成了4个分区。但是,这样的分法科学性和合理性又在哪里?之前,一个同学就提出了对这样分法的异议,你很难估计每一个分区要分多大,很有可能一个分区已经满了,但是其他分区只填了一半。而这样的问题,确实在使用过程中发生过多次。最后的解决方案,一般也就是将满了的盘里面的内容拷贝到其他盘中,而这样做的问题在于盘符上的标签和它的内容已经不相符合了。为什么我不直接就一个盘呢?像Ubuntu那样,所有个人的文件都放在Home下面,硬盘有多大,就能放多大的东西。当同学提出这个想法的时候,有一个古老的说法跳入到了我的脑海中,那是在我进入CS专业之前就听说过的说法,并一直长期持有——运行效率会下降。有一个经典的建议,不要将软件安装到C盘,因为,那样会降低系统的运行速度,前不久我还用过这个建议。但这是真的吗?有什么理由呢?根据实验还是理论推理?
所以,来考究一下硬盘分区的理由。
多系统
因为,使用环境不一样,那么理由也是有很大不同的。首先就有多系统和单系统环境之分。
支持
- 一般来说,在一块硬盘上有几个系统,就至少需要几个分区。所以,多系统就一定避免不了多分区的情况。(在此Linux可以产生一个例外,它在特殊处理下可以和Windows共享一个盘。)参考【1】【7】【8】
- 多操作系统之间的数据共享。参考【1】【8】
反对
- 无反对理由。
单系统
此处单系统,既指整个硬盘只有一个系统,也指多个系统中每一个系统内部如何划分。
支持
- 效率
- 分区越大,效率越低。这是常识。出自【3】相当一部分人的观点。【12】中认为
- 将程序装到系统盘会降低系统的运行速度。经典的说法。
- 降低文件碎片,从而提高效率。
- 机械硬盘盘片外圈读写速度相对内圈要快,分区可以把常用数据限制在读写速度较快的盘片外圈。所以将操作系统和软件安装在外圈,启动和运行速度会更快些。参考【5】中2.2节,【6】中回答。【1】【10】
- swap分区。【12】
- 安全性
- 一个分区出错,不影响另一分区的数据。
- 如果中病毒了,或者操作系统损坏了,重装起来更方便,重装系统时也不用担心会破坏到个人数据。
- 管理&维护
- 将每一个分区都表上一个名字,比如:游戏、视频、文档等等。比如:【4】
- 方便备份。一方面方便手工备份(将非系统盘全部拷贝下来,而不用区分哪些应该备份),另一方面方便软件自动备份(不会将操作系统或程序软件备份下来)。【7】【8】【1】
- 制作系统恢复分区,很多OEM的电脑出厂的时候都有这样的分区。【7】【8】
- 将分区分小一点,有利于磁盘检查软件更快能够完成检查,当然,前提是小分区满足需求。【12】
- 将每一个分区都表上一个名字,比如:游戏、视频、文档等等。比如:【4】
反对
- 效率
- 分区越大,效率越低,完全出自一部分人的类比论证。
- 如果将软件安装到系统盘之外才会有效率问题。当软件启动的时候,它既要加载自己的程序文件及动态链接库,他也需要加载系统的动态链接库,就可能出现磁头在两个相聚较远磁道上来回切换。而如果都装在一个盘里面,那么来回切换的成本就小得多了。【9】
- 分区越大,效率越低,完全出自一部分人的类比论证。
- 历史原因,现在不需要了。(我没经历过DOS&Win98的年代,所以历史原因都是别人的陈述。)
- 可能Windows 2000之前的民用Windows系统,系统很不稳定,数月乃至一两个月就需要重装。在重装系统时需要格式化掉整个系统盘才行,如果,个人数据也放在这个上面的话,就需要备份,非常麻烦。所以,要弄另一个分区来存储数据,这样重装起来十分方便。但是现在的系统一来,稳定的多,也就不需要频繁重装了,二来,根本不需要格式化分区才能装系统。重装后,系统盘里面的个人文档依然还在。参考【2】中李五知答案第二点。【9】
- 重装系统除了拿光盘装,还有就是用GHOST来覆盖,这确实是一个方便的重装方案,目前,我自己也比较喜欢这种重装方式。这可能是一个不错的理由,但是,现在系统越来越稳定了,对于一般用户,他可能是一个操作系统用到电脑淘汰为止。
- 分区就是一个历史兼容问题,先于Windows(DOS)出现的UNIX就没有这个概念,如果说它有好处那么也是附带的。【11】
- 安全性
- 早些年软盘、硬盘质量不行,容易出错,但是,现在已经好很多了。而且,分区并没有降低每一个文件内容被损坏的概率,它降低的仅仅是每个文件因为分区中文件系统的索引数据被破坏而导致的文件损坏的概率。解决文件安全性问题,应该使用备份而不是靠分区。比如:现在非常流行的各种云盘就是一个好的解决方案。参考【5】中2.5节。
- 早些年软盘、硬盘质量不行,容易出错,但是,现在已经好很多了。而且,分区并没有降低每一个文件内容被损坏的概率,它降低的仅仅是每个文件因为分区中文件系统的索引数据被破坏而导致的文件损坏的概率。解决文件安全性问题,应该使用备份而不是靠分区。比如:现在非常流行的各种云盘就是一个好的解决方案。参考【5】中2.5节。
- 管理&维护
- 分区是一种管理方式,但是,从逻辑上,文件夹或者Windows下的库的概念也完全可以完成这个功能。所以,为这个而分区,不是什么太好理由。
- 分区是一种人为的将磁盘分段的行为,因为,很难把握每个分区要用多大的空间,很容易出现一个分区已经装不下了,而其他分区还空着很多的尴尬局面。【1】
- 文件在分区内移动,几乎不需要时间,但是在分区之间移动却可能需要很长时间,如果文件比较大的话。
建议分区方案
如果,有多个系统,那么自然至少要分那么多个分区,但就每一个系统而言(系统恢复分区、系统引导分区、swap分区除外),要么就一个分区(系统+个人数据),要么就两个分区(一个放系统,一个放个人数据)。软件不管大小都装到系统盘去,只需要系统盘开足够大的空间即可。
参考
- Why Partition your Disk Device?
- 知乎问题:Mac 的 OS X 系统,为何只有一个分区?重装的话是否对数据不安全?
- 搜狗问问:windows 7只有C盘 不分盘有没有关系?
- 百度知道:硬盘分区的作用、意义
- 我对“硬盘分区”的愚见 详细的比较
- 知乎问题:Windows 系统分区与否对性能有什么影响?
- How (and Why) to Partition Your Hard Drive
- Five reasons to partition a disk
- 百度知道: 硬盘分区有无意义
- 真实的谎言 硬盘分区对性能影响有多大?
- 为什么苹果电脑硬盘不分区? 考虑到了Windows分区的来源。
- wikipedia:Disk partitioning 详细的比较
- Should I partition my hard disk? 详细的比较