Filesystems MBR组织
MBR分区表中偏移量为8字节的字段用于存储分区开头的LBA地址。LBA寻址是在CHS坐标不足时引入的,用于寻址较大的磁盘。但在引入MBR支持时,这样的磁盘还不存在。因此,问题是:偏移量为8和12字节的字段最初包含什么?它们是为进一步的结构开发保留的还是有其他用途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字节)和
我还对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扇区号
我认为简单搜索一下“MBR的历史”就可以回答所有这些问题。读这篇文章时特别写了一个问题。MBR是否总是占用磁盘的前512字节?我认为,大多数经典磁盘工具(如fdisk或“磁盘管理”)只能在磁盘的前512字节扇区中检测到MBR(如果存在)。所以是的。可以有没有任何MBR的磁盘;大多数USB闪存驱动器没有MBR。大多数GPT格式的磁盘都有“保护MBR”,向较旧的操作系统发出信号,表示磁盘上有一些数据。某些GPT格式的分区可能在MBR中镜像(仅当它们位于前2 TB的磁盘空间中时)。经典MBR中的扩展分区