Linux-磁盘分区

空扰寡人 提交于 2019-12-20 05:52:51

1.磁盘组成:

  • 盘片(platter): 一般磁盘会有两个以上的盘片组成, 每个盘面都对应地有一个读/写磁头.

  • 磁头(head): 磁头用于向磁盘写入数据或从磁盘读出数据.

  • 磁道(track): 磁道是对盘面的划分, 磁道是围绕盘面圆心的一个个同心圆, 由外向里编号.

  • 扇区(sector): 扇区是对磁道的划分, 将磁道划分为一段一段的弧, 这段弧就是扇区.

  • 柱面(cylinder): 由于磁盘由上到下的多个盘片组成, 每个盘片的盘面被划分为多个磁道. 盘片由上到下的相同编号的磁道就构成的柱面.

    platter

    disk
    2.磁盘分区:

    • 磁盘分区单位:
      一般来说磁盘是以一个柱面的大小作为一个分区单位的.

    • MBR 分区表:
      磁盘的第一个扇区存放者磁盘的分区信息, 分区的实质就是对这个扇区存放的信息进行修改. 对于扇区大小为 512 Bytes 的磁盘来说, 该扇区主要存放两部分信息:

      • 主要开机记录区: 安装开机管理程序, 有 446 Bytes.

      • 分区表: 记录整个磁盘的分区状态, 有 64 Bytes. 分区表每组分区记录需要占用 16 Bytes, 所以总共可以有四组分区记录. 每一组分区记录记录了该分区的起始和结束柱面号码. 这四个分区的记录被称为主要 (Primary) 或延伸 (Extended) 分区.

      • 延伸分区:
        为了使硬盘能够划分多于四个分区, 可以将其中的一个分区指定为延伸 (Extended) 分区, 在延伸分区中去划分逻辑分区 (logical partition). 在延伸分区中使用最前面的几个扇区来记载分区信息. 延伸分区的目的是使用额外的扇区来记录分区信息, 延伸分区本身并不能被拿来格式化.

      • Linux 分区名称:
        假设现在系统有两个分区主分区 1 和扩展分区, 在扩展分区上又划分出了 5 个逻辑分区, 那么它们在系统的中的名称为:

        P1:/dev/sda1
        P2:/dev/sda2
        L1:/dev/sda5
        L1:/dev/sda6
        L1:/dev/sda7
        L1:/dev/sda8
        L1:/dev/sda9
        

        逻辑分区的设备编号由 5 号开始. 前面 4 个编号都保留给 Primary 或 Extended 使用.

    • GPT 分区表:
      因为过去扇区大小为 512 Bytes, 而现在已经有 4K 的扇区出现了. 为了兼容, 使用逻辑区块位址(Logical Block Address, LBA) 来处理. GPT 将磁盘所有区块以 LBA 进行编号.

      GPT 使用了 34 个 LBA 区块来记录分区信息, 除了前 34 个 LBA 之外, 整个磁盘最后 33 个 LBA 也拿来作为另一个备份. GPT 解释说明:
      * LBA0 (MBR 相容区块): 第一部分和之前 446 Bytes 类似, 存储了开机管理程序; 而在原本的分区表记录区内, 放入特殊分区的标志, 表明磁盘采用 GPT 分区表.
      * LBA1: 记录了分区表本身的位置与大小, 同时记录了备份用的 GPT 分区放置的位置, 同时放置了分区表的检验机智码.
      * LBA2-33(实际分区记录信息处): 每个 LBA 都可以记录 4 笔分区, 总共可以有 128 笔分区记录. GPT 在每笔记录中提供了 64bits 来记载开始/结束的扇区号码, 单个分区可以达到 8 ZB.

      gpt partition

    • 开机启动流程:

      • BIOS: 开机主动执行的固件, 会认识第一个可开机的设备.
      • MBR: 第一个可开机设备的第一个扇区内的主要开机记录区块, 内含开机管理程序.
      • 开机管理程序(boot loader): 可读取核心文件来执行的软件.
      • 核心文件: 开始操作系统的功能.
    • 开机管理程序:

      • 提供菜单: 使用者可以选择不同的开机项目, 提供多重开机功能.
      • 载入核心文件: 直接指向可开机的程序区段来开始操作系统.
      • 转交其它 loader: 将开机管理功能转交给其它 loader 负责.
  1. 参考:
    [1] : 硬盘基本知识
    [2] : Hard disk drive
    [3] : 鸟哥的Linux私房菜
    [4] : 磁盤管理
    [5] : Extended boot record
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!