跳转至

磁盘

# 查看磁盘使用量
df -h

磁盘可分为

  • 软盘:唯一优点就是方便携带,如今已被光盘、U盘等取代
  • 硬盘:硬盘可分为传统的机械硬盘与固态硬盘

机械硬盘体型和重量较大,需要马达转动和风扇降温,噪音较大,猛烈磕碰有可能会导致盘片损伤数据丢失。

机械硬盘删除数据只是删除了FAT表记录,而数据其实还在,在没有写入或者写入的新数据没有覆盖掉之前的区域,数据是可以被全部或者部分恢复的。

固态硬盘删除数据后,再写入新数据时需要先清除旧数据后才能覆盖,因此虽然固态硬盘读写速度更快,但由于擦写次数有限,所以使用寿命比机械硬盘要低。为了减少写入的时间消耗,一般操作系统会默认在空闲时间自动清理旧数据,也就是说数据删除后基本不太可能找回数据。

物理结构

这里主要指机械硬盘,虽然固态硬盘在物理结构以及存储介质上与机械硬盘完全不同,但使用原理上基本可相等看待

20240412145938

  • 盘片:磁盘是由一叠磁盘片叠加组合构成,每个磁盘片上都会有一个磁头负责读写。
  • 磁道(Track):每个盘片会围绕圆心划分出多个同心圆圈,每个圆圈叫做一个磁道。
  • 柱面(Cylinders):所有盘片上的同一位置的磁道组成的立体叫做一个柱面。
  • 扇区(Sector):每个磁道可划分出多个扇区

逻辑结构

  • 逻辑扇区

随着硬盘容量的不断扩大,为了提高数据记录密度,扇区由最初的 512KB 变为了 4096KB,变大后会带来兼容问题,于是便在物理扇区的基础上划分出 512KB 的逻辑扇区,由硬盘固件程序负责寻址转换。

寻址方式有两种,CHS 和 LBA,磁盘容量大于 8G 左右时,只能用 LBA 寻址

磁盘在使用之前必须先分区并格式化

简单讲分区就是从磁盘上划分出来一大片连续的逻辑扇区,格式化则是对分区范围内扇区的使用进行规划。比如文件数据的储存如何安排、文件属性储存在哪里、目录结构如何存储等等。

格式化程序会将分区里面的所有扇区从头至尾进行分组,划分为固定大小的簇,并按顺序进行编号。每个簇可固定包含一个或多个逻辑扇区(个数总是 \(2^n\))。格式化以后,分区就会以簇为最小单位进行读写,文件的数据、属性等等信息都要保存到簇里面。

磁盘可读写的最小单位是一个逻辑扇区是(即一个簇只包含一个逻辑扇区的情况)

20221127221555

如果分区的起始位置没有对齐到某个物理扇区的边缘,格式化后,所有的簇也将无法对齐到物理扇区的边缘,则会导致读取一个簇需要对应读取两个物理扇区,会造成读写性能的严重下降,于是便有了4K对齐那些事

分区表(分区方式)

将一个磁盘插入已经含有操作系统的机器上时,操作系统会检索这个磁盘的分区表,并正确认识它的分区结构

MBR

20221128013051

磁盘的第一个逻辑扇区叫做引导扇区,包含:主引导记录 MBR(Master Boot Record) + 分区表 + Magic Bumber(以 0x55 0xAA 结尾的标志符)

MBR 分区表最大只能管理 2.2T 的硬盘,最多支持 4 个逻辑分区

每个分区开始部分(占用扇区不定)也都存在引导记录 PBR(Partition Boot Record)(上图红色部分),保存着操作系统引导程序配置文件的所在位置

MBR 用于查找活动分区,并加载执行活动分区的 PBR,PBR 查找操作系统中的引导程序(Bootloader)

GPT

GPT/GUID 分区表(Globally Unique Identifier Partition Table)全局唯一标识码分区表

20221128020857

属于 UEFI 规范下的衍生品,可管理的空间和分区数量都没有限制,PMBR 部分用于兼容 BIOS 启动方式