文章目录
- 系统分区
- 什么是分区&我们为什么要用分区
- 逻辑分区
- 分区规则
- 为什么主分区最多只能分4个?
- 硬盘的结构
- 扩展分区
- 格式化
- 啥叫格式化
- 为什么我们需要格式化
- 索引呢?
系统分区
什么是分区&我们为什么要用分区
磁盘分区是指,使用分区编辑器(partition editor)在磁盘上划分几个逻辑部分。碟片一旦划分成数个分区(partition),不同类的目录与文件就可以存储进不同的分区
说人话
事实上,就算我们不使用分区,硬盘依然可以实现存取操作。但是所有的数据都会被堆放到一起,计算机必须要花相当的一段时间来查找数据
于是我们决定给硬盘这个 柜子 加 抽屉,再在这些抽屉上面增加 标签 以说明这个抽屉是用来干嘛的,然后把数据分门别类的放到各个抽屉里面,这样一来就极大减轻了搜索的压力
逻辑分区
你做的分区当然是逻辑上的分区,物理上还是一整块硬盘。
分区规则
分区规则不由系统决定,而是你的硬盘结构决定的。目前通用的硬盘结构的分区规则如下:
- 主分区:最多只能分4个
- 扩展分区
- 最多只能有一个
- 主分区+扩展分区 最多可以有4个(即 3个主分区+1个扩展分区)
- 不能写入数据,只能包含逻辑分区
- 逻辑分区
为什么主分区最多只能分4个?
这是硬盘的结构决定的
硬盘自身会把自己分成N个等大小的 扇区,每个扇区都是等大小的 512 个字节。其中,448 个字节是用来记录启动信息的。于是乎只能留下 512-448= 64 个字节用于存储分区信息
又因为记录一个分区的信息需要16个字节,因此硬盘的主分区最多只能分成 64/16= 4 个
硬盘的结构
硬盘由很多盘片(platter)组成,每个盘片的每个面都有一个读写磁头。如果有N个盘片。就有2N个面,对应2N个磁头(Heads),从0、1、2 开始编号。每个盘片被划分成若干个同心圆磁道(逻辑上的,是不可见的。)每个盘片的划分规则通常是一样的。
这样每个盘片的半径均为固定值R的同心圆再逻辑 上形成了一个以电机主轴为轴的柱面(Cylinders),从外至里编号为0、1、2……每个盘片上的每个磁道又被划分为几十个扇区(Sector),通常容量是512byte
并按照一定规则编号为1、2、3……形成Cylinders×Heads×Sector个扇区。这三个参数即是硬盘的物理参数不过现在有些硬盘的物理扇面量可以改成4096字节了
扩展分区
扩展分区必须是建立在主分区之上的。也就是说,把一个主分区分成N个逻辑分区,这时候这个主分区就成了扩展分区,就像这样:
4就是扩展分区。5&6就是逻辑分区
可是看起来4个分区还是好大,如果硬盘只能进行分区的话,那么理论上来说4T硬盘的搜索效率就会跟不分区的1T硬盘一样快。那是无法容忍的,所以另一个概念叫格式化。
格式化
首先要更正一个误区,格式化不是用来清空某个分区里面的数据的,应该说清空数据是格式化的一个 副作用。格式化的根本目的,是为了写入 文件系统
啥叫格式化
格式化(高级格式化)又称为逻辑格式化,他是根据用户指定的文件系统(如FAT16、FAT32、NTFS、EXT2、EXT3、EXT4),在磁盘的特定区域写入特定数据,在分区中划出一片用于存放文件分配表、目录表等用于文件管理的磁盘空间
常见文件系统简要说明(越新越好):
- FAT16(windows)
单文件不可以超过2G- FAT32(windows)
单文件不可以超过4G多提一句
最近笔者使用软碟通制作windows11安装程序的时候之所以不成功,就是因为软碟通制作出来的启动盘都是FAT32格式,而windows11里面的主体文件大小已经接近5G,所以无法识别
- NTFS(windows)
最新的文件系统格式,现在windows中的分区都是这种格式- EXT2、EXT3、EXT4(Linux)
linux中常用的几种分区方式,EXT4为最新
为什么我们需要格式化
因为一个分区还是太大,所以我们需要在分区内继续隔离,就像这样:
格式化的最终目的,依然是建立索引,简化查询。
以上图的2分区为例子,假设每个小方框分区是4K大小,如果我要存一个10K的数据。那么就要占2.5个格子,这些格子仅在逻辑上连续。而且最后那个0.5的格子,不可以与其他数据公用
这个小方框就叫 block(数据块)
索引呢?
以上图中的3分区为例子,这就是一个索引。在索引里面他会存储数据块具体的ID、修改时间、数据块地址和权限。当你访问数据块的时候,最优先检查权限,然后反馈ID等信息,再取出逻辑上连续的所有数据块。
硬盘上的索引我们称之为 inode,也就是文件的ID
所以,格式化最重要的工作是把整个硬盘的可用空间分成若干个等大小的数据块 并 重置索引。这样一来原先存储在硬盘上的所有数据块都会被重置,那么数据自然而然就被删除了