SDB:背景知识:分区

跳转至: 导航, 搜索
本文旨在介绍最基本的分区知识。更加高级的内容比如:什么是逻辑卷(LVM)、逻辑卷和 Windows 下的「逻辑分区」的区别与联系、分区加密及有加密分区的分区方案注意事项等请见SDB:背景知识:高级分区。而引导加载器的选择(grub legacy, grub2, grub2-efi 等)请见SDB:背景知识:引导流程

为什么要分区?

这个问题想必能够选择使用 Linux 的用户应该已经自己想清楚了。

为了说明什么是分区,我们必须说明下硬盘的构造。

Harddisk structure.png

一块机械硬盘拆开是这样的。看上去是不是像一个老式黑胶留声机?其实它们的原理是一样的(这也就是为什么好多人把机械硬盘又叫「硬碟」的原因,因为实际上存储数据的依然是圆形的盘面,其它都是机械辅助装置)。

数据全部存储在盘面上,通过盘面主轴和动臂主轴的配合,可以把磁头引向不同的盘面位置。而不读取数据的时候动臂会把磁头拉回泊区空置。这里最重要的是磁头和盘面。磁头每次接触盘面或泊区均会产生磨损,同样盘面被磁头接触也会产生磨损(泊区也会产生磨损,但就算它比起磁头或盘面可耐用多了)。磁头的寿命几乎等于硬盘的寿命,因为一是它坏了就读不出数据,盘面是好的也没用; 二是它坏了的话盘面也会很快的被它弄坏。而磁头在接触盘面时若遇到外力震动,会把盘面划花,这就是「硬盘坏道」,这也是为什么要频繁的把磁头拉回泊区的原因,硬盘保护也是为了防止这种情况。

而大家在常见的分区软件中看到的条形磁盘我也画在了上面。机械硬盘的一个特点就是,越靠近主轴的被读取的越快,因为两个主轴不用转动就能读取到,对应的就是条形的左边,越靠左读取的越快,这就是为什么网上的其它教学让你们把启动分区/引导分区放到最左边的原因,虽然这影响非常小。

之所以要分区,跟操作系统使用硬盘的方式有关,如果不分区,重装的时候就会把整张硬盘抹去,而分区后只会抹去这个分区。其次是在同一分区里,数据总是从左到右放的,所以如果你只有一个分区,想要把整个盘面都利用到是不可能的,也就是说网上说的诸如数据文件放到硬盘后面(右面),这些都是不可能实现的,即使你等待它根据使用时间自然增长到右边,你的数据文件还是在左边,因为它是从左到右挨着写的,左边没东西不可能写右边,而分区后就可以。

误区

没分区的硬盘是没法用的

因为不管什么引导加载器,都需要一种分区表来读,也就是说没有分区的硬盘其实是完全用不了的,你至少要分一个区,哪怕这个区横跨了整张硬盘也是如此。

分区不等于文件夹

文件夹是操作系统的概念,甚至连文件系统的概念都不是。而分区是硬盘相关的概念。它们就不是一个领域的东西。

之所以这么说是为了防止新人认为比如:我把 /root 分一个区,那 /root 这个文件夹不代表这个分区,因为你随时可以把 /root 挂载到一个新分区或者别的分区上面。这么说只是为了方便,真正能代表分区的永远只能是 /dev/sda5、/dev/sdb3 这样的东西。而一个分区可以放成千上万个文件夹,因为一个空文件夹在磁盘上的物理空间只有 1b,你设想一下 50GB 的分区能放多少个空文件夹吧 :-)

能跨扇区/柱面,但跨不了分区

扇区、磁道、柱面这些都是硬盘的物理概念。硬盘是圆形的,比如可以划分为一个坐标系,四个区间,这每一个区间都是扇形的,就叫做一个扇区,当然实际中一张硬盘究竟有多少个扇区这我也不知道。而磁道就是圆形硬盘上的一个同心圆,磁头不动,盘面主轴转一圈可以把整个磁道读完。而硬盘不是只有一个盘面,它其实跟 CD 盒差不多,一个主轴上可能套了三四张 CD。于是磁道实际上是立体的。而柱面就是指这个立体。

分区时经常会遇到分区软件问「对齐到柱面还是对齐到扇区」,很多人都不知道这是什么意思,这是因为他们脑海中的硬盘是条形的原因,如果硬盘是碟形的,这个问题就比较好理解了,看下图:

Harddisk sector cylinder.png

C 盘的分区就是对齐到扇区的,而 D 盘的分区就是对齐到柱面的。当然真正的分区还有比如头部对齐到扇区/柱面、尾部对齐到扇区/柱面,请自行想象。(注:为了简单起见,下面再出现分区方案我们依然假设硬盘是条形的哦)

扇区、柱面都是实际上在物理上不存在的东西(物理上你就看到三张盘片),是人脑划出来的,或者说,它们用显微镜看是存在的,但是即使它们是存在的,它们之间并没有什么「界限」,没有铁丝网挡住,所以一个文件跨了扇区/柱面是非常正常的事情。而文件跨过分区则是不可能的,因为分区与分区间是有「铁丝网」挡住的,这种「铁丝网」就是分区表信息。也就是说临近分区首尾的那几个字节实际上是始终被占用的,根本不可能把新文件写到这里。好多人都意识不到分区的存在,那是因为你电脑的硬盘与分区表信息相比要大得多,至少你是这么认为的。实际上分区表信息有一个最小量,比如 20MB(假设),其它时间是根据你分区的多少和硬盘大小增长的,具体算法不详。而如果你的硬盘很小,那么分区的多少产生的容量增长就是很可观的了,比如 8G 优盘分好区可能就剩 7.6G,而 1T 硬盘去掉 500MB 对你来说几乎没影响。

分区表的类型

主要类型间的比较(要不要选择 gpt/efi 分区表)

Linux 下常见的文件夹和它们应不应该单独分区

什么是文件系统?

文件系统的选择

一些常规分区方案

安装多操作系统的注意事项

一些多操作系统的分区方案