操作系统-磁盘分区

磁盘分区
MBR

磁盘分区表目前有两种格式MBR(Master-Boot-Record)和GPT(GUID-partition-table)
对于一个磁盘,由多个磁碟盘组成,磁盘碟上面又可细分出扇区(Sector)与磁道(Cylinder)两种单位, 其中扇区每个为512bytes那么大。假设只有一个磁碟盘,那么磁碟盘有点像底下这样:
在这里插入图片描述
第一个扇区非常重要,主要记录了两个重要的信息,分别是:
1、主要启动记录区(Master Boot Record, MBR):可以安装启动管理程序的地方,有446 bytes
2、分区表(partition table):记录整块硬盘分割的状态,有64 bytes
关于磁盘分区表(partition table):
磁盘分区的最小单位是磁柱。
在分割表所在的64 bytes容量中,总共分为四组记录区,每组记录区记录了该区段的启始与结束的磁柱号码。
在这里插入图片描述
因为第一个扇区只有64bytes用于存储分区表,只能有四个分区,为了支持更多分区,需要使用扩展分区,类似下面这样:
在这里插入图片描述
通过一个扩展分区p2,衍生出一个扩展分区区域 柱面101-400,这个扩展分区类似一个独立磁盘,该扩展分区使用额外的扇区来记录分区表。

  • 小总结
    • 主要分割与扩展分配最多可以有四笔(硬盘的限制)
    • 扩展分配最多只能有一个(操作系统的限制)
    • 逻辑分割是由扩展分配持续切割出来的分割槽;
    • 能够被格式化后,作为数据存取的分割槽为主要分割与逻辑分割。扩展分配无法格式化;
    • 逻辑分割的数量依操作系统而不同,在Linux系统中,IDE硬盘最多有59个逻辑分割(5号到63号), SATA硬盘则有11个逻辑分割(5号到15号)。
  • 缺点
    • 操作系统无法识别大于 2.2T 以上的磁盘容量;
    • MBR 仅有一个区块,若被破坏后,无法或很难恢复;
    • 存放 boot loader 的区块仅有 446 bytes,无法容纳较多的代码。
GPT
  • 过去一个扇区大小为512bytes,而目前已经出现了4k的扇区设计。为了兼容于所有的硬盘,在扇区的定义上,大多使用逻辑区块地址(Logical Block Address, LBA)来处理。GPT将硬盘所有区块以此LBA(预设为512bytes)来规划,第一个LBA称为LBA0。

  • 与MBR仅仅使用第一个512bytes来记录不同,GPT使用了34个LBA区块来记录硬盘分割信息,同时整个硬盘的最后33个LBA被用来作为另一个备份。

  • LBA0(MBR兼容区块):
    与MBR模式类似,也分为两部分,一部分是与之前446bytes相似的区块,存储第一阶段的boot loader程序。但在原本的磁盘分割表记录区中,仅仅放入一个特殊标志分割,以此表明当前为GPT分区方式。

  • LBA1(GPT表头记录):
    这个部分记录了分割表本身的位置与大小,同时记录了备份用的GPT分割放置的位置,以及校验码(CRC32)。操作系统可以根据校验码判断GPT是否正确,若有错误,则可以取得备份来恢复。

  • LBA2-33(实际记录分割记录信息处):
    从LBA2区块开始,每个LBA都可以记录4个分割记录,所以在默认情况下,可以记录4*32=128个记录。每一个记录除了记录所需要的标志码与相关记录意外,还分别提供了64bits来记录开始/结束的区块号码。因此对一单一的分区来说,最大容量限制在「264 × 512bytes = 263 × 1Kbytes = 233 × TB = 8 ZB 」

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值