迅维网

系统初始化时怎样识别硬盘设备

hcrt 2017-8-30 13:21


系统初始化时怎样识别硬盘设备

  系统初始化时是根据MBR (Master Boot Record)来识别硬盘设备的,在MBR中包括用来载入操作系统的可执行代码。其实这个可执行代码就是MBR中的前446个字节的boot loader 程序(引导加载程序),如图:

系统初始化时怎样识别硬盘设备

  而在 boot loader 程序之后的64个字节的空间就是存储的分区表 (Partition table) 的相关信息。

系统初始化时怎样识别硬盘设备

图片来源见水印


  在分区表 (Partition table) 中主要存储的信息包括:分区号(Partition id)、分区的起始磁柱和分区的磁柱数量。所以Linux操作系统在初始化时就可以根据分区表中以上3种信息来识别硬盘设备,其中,常见的 Partition id 如下:

  • 0x5 (或 0xf): 可扩展分区(Extended partition)

  • 0x82:Linux交换区(Swap partition)

  • 0x83:普通Linux分区(Linux partition)

  • 0x8e:Linux逻辑卷管理分区(Linux LVM partition)

  • 0xfd:Linux的RAID 分区(Linux RAID auto partition)

  由于MBR留给分区表的磁盘空间只有64个字节,而每个分区表的大小为16个字节,所以在一个硬盘上最多可以划分出4个主分区(Primary Partition).如果想要在一个硬盘上划分出4个以上的分区时,可以通过在硬盘上划分出一个可扩展分区(Extended partition)的方式来增加额外的分区。不过在Linux的Kernel中所支持的分区数量有如下限制:

  • 一个IDE的硬盘最多可以运用63个分区

  • 一个SCSI的硬盘最多可以运用15个分区



雷人

握手

鲜花

鸡蛋

路过
收藏
来自: 今日头条
发表评论

最新评论

引用 青春维修 2017-8-30 13:21
知其然知其所以然 谢谢
引用 天籁维修 2017-8-30 13:21
深奥!

发表评论

登录 后可参与评论
关闭

站长提醒 上一条 /1 下一条

返回顶部
附近
店铺
微信扫码查看附近店铺
维修
报价
扫码查看手机版报价
信号元
件查询
点位图


芯片搜索