Linux系统是怎样识别硬盘设备和硬盘分区的?
发布时间:2020-12-14 02:15:27 所属栏目:Linux 来源:网络整理
导读:Linux 系统初始化时,会根据 MBR 来识别硬盘设备。 MBR,全称 Master Boot Record,可译为硬盘主引导记录,占据硬盘 0 磁道的第一个扇区。MBR 中,包括用来载入操作系统的可执行代码,实际上,此可执行代码就是 MBR 中前 446 个字节的 boot loader 程序(引导
Linux 系统初始化时,会根据 MBR 来识别硬盘设备。 MBR,全称 Master Boot Record,可译为硬盘主引导记录,占据硬盘 0 磁道的第一个扇区。MBR 中,包括用来载入操作系统的可执行代码,实际上,此可执行代码就是 MBR 中前 446 个字节的 boot loader 程序(引导加载程序),而在 boot loader 程序之后的 64 个(16×4)字节的空间,就是存储的分区表(Partition table)相关信息。如图 1 所示。 ![]() 图 1 MBR结构示意图 在分区表(Partition table)中,主要存储的值息包括分区号(Partition id)、分区的起始磁柱和分区的磁柱数量。所以 Linux 操作系统在初始化时就可以根据分区表中以上 3 种信息来识别硬盘设备。其中,常见的分区号如下:
由于 MBR 留给分区表的磁盘空间只有 64 个字节,而每个分区表的大小为 16 个字节,所以在一个硬盘上最多可以划分出 4 个主分区。如果想要在一个硬盘上划分出 4 个以上的分区时,可以通过在硬盘上先划分出一个可扩展分区的方法来增加额外的分区。 不过,在 Linux 的 Kernel 中所支持的分区数量有如下限制:
接下来的问题,就是为什么要将一个硬盘划分成多个分区,而不是直接使用整个硬盘呢?其主要有如下原因:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |