我们是在虚拟机上安装的Linux系统。在安装的过程中,可能会遇到磁盘分区的问题,我们下面简单介绍一下分区的原理。

1.硬盘的基础知识

下面是一块空白的硬盘:


【Linux全面学习】2.Linux系统之硬盘与分区基础知识_主分区


这是一块格式化后的硬盘:


【Linux全面学习】2.Linux系统之硬盘与分区基础知识_磁盘分区_02



格式化就是,在空白空间中建立秩序。

其他的格式(不同的文件系统):

【Linux全面学习】2.Linux系统之硬盘与分区基础知识_磁盘分区_03


存入磁盘的数据:


【Linux全面学习】2.Linux系统之硬盘与分区基础知识_Linux_04


存数据并不是从头到尾按照顺序存数据,其实是向我们的哈希表一样,我们的数据存在哈希表的时候,会计算出一个哈希code值,再把这个数据放在哈希表的唯一的一个位置上(如果哈希code相同,就会把数据存成一个链表或者数组再放在唯一的一个位置上),所以不是连续的放数据,会形成一个稀疏的表。那么我们寻找数据的时候就会很轻松,只要计算它的哈希code值,然后定位唯一的一个位置找到数据,速度十分的快。

硬盘上存数据就有点像哈希表,是稀疏的存储,不是连续的存储。

2.分区的知识

那么为什么要分区?

(1)支持多种文件系统

(2)更加容易管理

例如我们硬盘分了四个区,我们要记住每个区的开始和结束。分区的信息记录在硬盘的柱面的第一个磁道的512个字节中(硬盘的最开始),我们一般称之为硬盘分区表。那么,毁灭硬盘分区表就相当于毁掉一个硬盘。

分区表记录了硬盘的分区信息,但是一个硬盘分区表只能记录四个分区。

硬盘上的分区分三种:

(1)主分区

装了我们最基本的操作系统的分区。主分区+扩展分区最多只能分四个区,因为上面提到了一个硬盘分区表只能记录四个分区。

(2)扩展分区

上面提到了主分区+扩展分区最多只能分四个区,一般大家的电脑都不止四个分区,那是因为在扩展分区中,还可以分逻辑分区。类似于树状结构。


【Linux全面学习】2.Linux系统之硬盘与分区基础知识_逻辑分区_05



(3)逻辑分区

就是拓展分区分出来的分区。

接下来是几组分区的图例:

(1)使用未经分区的空间安装Linux


【Linux全面学习】2.Linux系统之硬盘与分区基础知识_磁盘分区_06



(2)使用一个不在使用的空间

把原来的那块分区格式化之后,再安装系统


【Linux全面学习】2.Linux系统之硬盘与分区基础知识_Linux_07



(3)已经安装了操作系统的磁盘空间

重新分区,然后安装,原来的所有数据就没有了


【Linux全面学习】2.Linux系统之硬盘与分区基础知识_主分区_08



也有一些无损分区的技术,就是把之前分区的数据压缩在某一块连续空间中,把剩下的空间再划分:

步骤一:压缩


【Linux全面学习】2.Linux系统之硬盘与分区基础知识_Linux_09


步骤二:分区

【Linux全面学习】2.Linux系统之硬盘与分区基础知识_磁盘分区_10


步骤三:在新分区中安装系统

【Linux全面学习】2.Linux系统之硬盘与分区基础知识_主分区_11

最后,分享一个windows系统的磁盘分区图例:

【Linux全面学习】2.Linux系统之硬盘与分区基础知识_主分区_12

windows与linux分区对比

【Linux全面学习】2.Linux系统之硬盘与分区基础知识_磁盘分区_13


windows与Linux系统共存的磁盘分区情况

【Linux全面学习】2.Linux系统之硬盘与分区基础知识_拓展分区_14

注:Linux硬盘的命名规则:
/dev/xxyN
其中xx:
分区名的前两个字母表名分区所在设备的类型,通常是hd(IDE磁盘)或sd(SCSI磁盘)。
y:
这个字母标明分区所在的设备。例如,/dev/hda(第一个IDE磁盘)或/dev/sdb(第二个SCSI磁盘)
N:
最后的数字代表分区。前四个分区(主分区或拓展分区),使用数字1排列到4.逻辑分区从5开始。例如,/dev/hda3是在第一个IDE硬盘上的第三个主分区或拓展分区;dev/sdb6是在第二个SCSI硬盘上的第二个逻辑分区。