标签:使用 io ar 文件 art 代码 log sp linux
一个硬盘可以有很多分区,但MBR分区表只有四项,怎么能突破这个限制呢?答案是扩展引导记录(EBR - Extended Boot Record),通过把MBR分区表中一项设为扩展分区(系统ID为0x05或0x0F),其分区表项指定扩展分区的起始位置和长度,在其中最开始扇区 (EBR)和MBR相同位置(0x1BE)放置另外一个分区表,一般称为扩展分区表。扩展分区表的第一项指定扩展分区目前的逻辑分区信息,如果还有更多的 逻辑分区,扩展分区表的第二项指定下一个EBR的位置,否则为0。最后的两个分区表项总是为0。通过这种方式,一个硬盘上的分区数目就没有限制了。
以上的意思即是说,扩展分区是MBR表项中的4个分区表中的一个分区表,而扩展分区又通过一个链式的分区表将多个逻辑分区进行管理。即逻辑分区是扩展分区中的一部分,是子的位格。
注意:在逻辑分区中,每个分区只是前两个分区表的信息有用,后两个分区表未使用,所以以下程序并没有进行3 4个分区信息的读取。
那么如何读取扩展分区中的多个逻辑分区的分区表呢?
int Ext2Read::scan_ebr(FileHandle handle, lloff_t base, int sectsize, int disk)
{开源ext2read代码走读之-扩展分区与逻辑分区说明及如何读取扩展分区的分区表(EBR)
标签:使用 io ar 文件 art 代码 log sp linux
原文地址:http://blog.csdn.net/yygydjkthh/article/details/38874917