磁盘的低级格式化和高级格式化都进行了什么工作
一、 低级格式化 (Low-Level Formatting / 物理格式化)
低级格式化是一个面向硬件的、破坏性的过程。它为磁盘的物理表面建立了最基础的“跑道和标线”,使得磁盘控制器能够知道该如何在这张“白纸”上定位和读写数据。
在现代,低级格式化通常在硬盘出厂时就已经由制造商完成,用户基本不需要也无法再进行真正的低级格式化。
低级格式化主要进行了以下工作:
-
划分磁道和扇区 (Creating Tracks and Sectors)
-
在磁盘的每个盘面上,划分出若干个同心圆,这就是磁道 (Track)。
-
将每个磁道进一步划分为若干个固定大小的弧段,这就是扇区 (Sector)。扇区是磁盘进行物理读写的最小单位(通常为512字节或4KB)。
-
-
写入控制结构 (Writing Control Structures)
-
为每个扇区写入**“头(Header)”、“尾(Trailer)”和“扇区间的间隙(Gap)”**。这些是给磁盘控制器看的“路标”,而不是给用户存数据的。
-
头 (Header): 包含扇区的唯一地址信息(如柱面号、磁头号、扇区号)、同步信息等。
-
尾 (Trailer): 主要包含错误校验码 (ECC - Error-Correcting Code),用于在读取数据时校验数据是否出错。
-
-
经过这一步,原本光滑的盘片表面就被“画”上了一个个带有地址和校验信息的、可供读写的“小格子”。
-
-
坏道检测与映射 (Bad Sector Mapping)
-
在格式化过程中,会对磁盘表面进行检测,找出有物理缺陷、无法可靠存储数据的“坏扇区”(即坏道)。
-
将这些坏道的地址记录在一个特殊的列表(如
P-list
或G-list
)中,并用备用扇区进行替换。这样,磁盘控制器在后续操作中就会自动跳过这些坏道。
-
总结: 低级格式化的工作对象是整个物理硬盘,其目的是建立磁盘的物理结构,让硬件可以工作。它不关心操作系统,不建立任何文件系统。这个过程会彻底清空磁盘上的所有数据,且通常是不可恢复的。
二、 高级格式化 (High-Level Formatting / 逻辑格式化)
高级格式化是一个面向操作系统的、在已有分区上进行的逻辑构建过程。它的目的是在一个已经过低级格式化和分区的磁盘空间上,建立文件系统的“账本和档案柜”,使得操作系统能够在这里存储、组织和查找文件。
我们平常在Windows里“格式化一个D盘”或在Linux里mkfs.ext4 /dev/sda1
,做的都是高级格式化。
高级格式化主要进行了以下工作:
-
划分磁盘块 (Dividing into Blocks)
- 文件系统会以一个或多个连续的扇区组成一个块 (Block) 或 簇 (Cluster)。块是文件系统进行数据分配和I/O操作的基本单位。
-
建立文件系统的核心数据结构:
-
这是高级格式化最核心的工作。它会在分区的特定位置写入一套完整的文件系统“管理账本”。以一个典型的UNIX文件系统(如ext4)为例,会创建:
-
引导块 (Boot Block): 位于分区的最开始,包含了引导加载程序(boot loader)的信息,用于启动操作系统。
-
超级块 (Super Block): 包含了整个文件系统的“全局”信息,如文件系统类型、块大小、i-node数量、空闲块数量等。超级块是文件系统的“户口本”,如果它损坏,整个文件系统都可能无法识别。
-
空闲空间管理信息: 用于记录哪些磁盘块是空闲的。这可以是位图 (Bitmap) 的形式,也可以是空闲块链表(如成组链接法所用的结构)。
-
i-node区 (i-node Area): 划出一片区域,专门存放文件系统中所有文件的索引节点(i-node)。每个文件或目录都对应一个i-node,记录了文件的元数据(大小、权限、时间戳、数据块指针等)。
-
根目录 (Root Directory): 创建文件系统的第一个目录——根目录。它本身也是一个文件,其i-node和数据块被创建,并至少包含
.
和..
两个目录项。
-
-
总结: 高级格式化的工作对象是一个已存在的分区,其目的是建立文件系统的逻辑结构。它让我们熟悉的C:
盘、D:
盘不再是一片混沌的存储空间,而是变成了一个有组织、有结构、可以存放文件和目录的“档案室”。
-
快速格式化: 只重写文件系统的核心管理结构(如FAT表、MFT或i-node区),而不清空数据区。这使得格式化速度很快,但旧数据仍可通过数据恢复软件找回。
-
完全格式化: 除了重写管理结构,还会检查整个分区的所有扇区是否有坏道,并用0填充数据区,更安全但耗时更长。
对比总结
特性 | 低级格式化 (物理格式化) | 高级格式化 (逻辑格式化) |
---|---|---|
操作对象 | 整个物理硬盘 | 硬盘上的一个分区 |
工作层面 | 硬件层面,面向磁盘控制器 | 操作系统层面,面向文件系统 |
核心工作 | 划分磁道/扇区,建立物理寻址基础 | 创建文件系统结构(引导块、超级块、i-node、目录等) |
数据影响 | 彻底、物理性地清除所有数据 | 逻辑上清除数据(快速格式化)或覆盖数据(完全格式化) |
执行者 | 硬盘制造商 | 操作系统或用户 |