Filesystems MBR组织

Filesystems MBR组织,filesystems,disk,mbr,Filesystems,Disk,Mbr,MBR分区表中偏移量为8字节的字段用于存储分区开头的LBA地址。LBA寻址是在CHS坐标不足时引入的,用于寻址较大的磁盘。但在引入MBR支持时,这样的磁盘还不存在。因此,问题是:偏移量为8和12字节的字段最初包含什么?它们是为进一步的结构开发保留的还是有其他用途 我还对LBA-48的实施感兴趣。分配了32位用于在MBR中存储LBA地址,因此如何将48位地址存储为32位?两篇维基百科文章提供了有用的详细信息:和。其他有用的来源是 膜生物反应器中有;对于LBA兼容条目,它们同时具有CHS(3字节)和

MBR分区表中偏移量为8字节的字段用于存储分区开头的LBA地址。LBA寻址是在CHS坐标不足时引入的,用于寻址较大的磁盘。但在引入MBR支持时,这样的磁盘还不存在。因此,问题是:偏移量为8和12字节的字段最初包含什么?它们是为进一步的结构开发保留的还是有其他用途


我还对LBA-48的实施感兴趣。分配了32位用于在MBR中存储LBA地址,因此如何将48位地址存储为32位?

两篇维基百科文章提供了有用的详细信息:和。其他有用的来源是


膜生物反应器中有;对于LBA兼容条目,它们同时具有CHS(3字节)和LBA(4字节)地址。CHS给出两个地址,一个用于分区的第一个扇区,另一个用于分区的最后一个扇区。LBA地址是第一扇区的LBA地址和该分区中扇区的总数。因此,这两种类型的地址都不是针对字节,而是针对扇区,并且“以前认为扇区大小固定在512(29)字节”

使用4个字节,我们可以将最大容量为2 TB的磁盘编码为4294967295(2到32次幂减1)乘以每个扇区512字节(2147483647.5千字节)

LBA-48不能存储在官方支持的MBR分区条目中,因为48位是6字节,MBR(对于第5个逻辑分区)只有4个字节来存储LBA开始和结束扇区地址。LBA-48与-

当前的48位LBA方案是在2003年随着ATA-6标准引入的,[4]将寻址限制提高到2^48×512字节,即128 PiB或大约144.1PB。。。但是,通用DOS风格的主引导记录(MBR)分区表只支持大小不超过2 TiB的磁盘分区。对于较大的分区,这需要用另一个方案来代替,例如GUID分区表(GPT),它与当前的INT 13h扩展具有相同的64位限制

(在一些类似wiki的随机站点中存在一些漏洞,但对于大多数期望使用正确的经典MBR的操作系统来说,这些漏洞是行不通的。)

LBA是在1996年推出的,“在Windows95B和DOS7.10中,为了支持大于8GB的磁盘”,如前所述。1999年授予了相关的IBM专利(可能于2019年10月到期):

对于MBR在LBA之前的时代知之甚少,但在分区表中,总大小为64字节,有4个分区,每个分区16字节。它的大小编码为:

对汇编代码的检查

062C 83C610       ADD  SI,+10            ; Checking the next entry...
                                         ; (10h = 16 bytes per entry)
即使是Starman的MBR资源也没有关于为每个分区表条目分配16字节的原因的信息

我在1990-1992年发现了AST Research的专利(现在被分配给三星),该专利在图2中给出了分区表布局(图3),它听起来非常像LBA:

分区标识符段133、134、135和136中的每一个包括16字节的磁盘空间,构成包含对应磁盘分区的标识信息的分区表140(图3)

分区表140在图中定义为:

  • 141启动指示器
  • 142总人数
  • 144扇区号
  • 气缸号
  • 148系统指示器
  • 150总人数
  • 152扇区号
  • 气缸号
  • 154引导扇区地址
  • 156扇区号
在AST 1992专利划分表的文本中描述为:

分区表140包括引导指示符字节141,用于标识对应的分区段P4是可引导分区还是不可引导分区。在给定的时间内,只能引导P4、P3、P2和P1的一个分区。分区表还包括物理起始头编号字节142、物理起始柱面和物理起始扇区段144、识别操作系统类型的系统指示符字节148、物理终止头编号字节150、物理终止柱面和物理终止扇区段152,引导扇区地址段154和扇区号段156,其指示分区P4中的扇区数,这在本领域中是众所周知的

因此,在我的假设中,+8字段可能用于指向分区的引导扇区(它可能不在第一个扇区?),而+12可能用于检查分区大小计算。但是,在这项研究中,没有实际读取+8和+12字段。它们可能只是在IBMMBR中保留,并在AST专利中重新使用,以用于某些类似LBA的用途

1991年的PCMag()还指出,类似LBA的扇区地址已经使用了4字节字段:

分区表中的每条记录是16个字节,包括起始扇区和扇区数的4个字节。此外,为分区字节保留一个字节

1992年马克·米纳西(Mark Minasi)的《硬盘生存指南》(The Hard Disk Survival Guide)一书也是如此,至少在最后+12字段(分区大小)第279页(谷歌图书中有一些片段):

获得这个数字来修复启动记录很简单:它在MBR中。每个分区表条目的最后四个字节是分区长度,单位为secotrs


我认为简单搜索一下“MBR的历史”就可以回答所有这些问题。读这篇文章时特别写了一个问题。MBR是否总是占用磁盘的前512字节?我认为,大多数经典磁盘工具(如fdisk或“磁盘管理”)只能在磁盘的前512字节扇区中检测到MBR(如果存在)。所以是的。可以有没有任何MBR的磁盘;大多数USB闪存驱动器没有MBR。大多数GPT格式的磁盘都有“保护MBR”,向较旧的操作系统发出信号,表示磁盘上有一些数据。某些GPT格式的分区可能在MBR中镜像(仅当它们位于前2 TB的磁盘空间中时)。经典MBR中的扩展分区