1024-Cylinder Limit

1024-Cylinder Limit
1024-磁柱限制

当BIOS搜寻开机磁盘时,其实就是在检查磁盘的第一个扇区(sector)是否含有“引导记录”。引导记录本身是一段有固定长度(512-byte)与固定格式的数据,它记录了磁盘的“主分区表”(Master Partition Table),以及一小段“主引导程序”(Master Boot Code, MBC)。因此开机磁盘的第一扇区被我们称为“主引导记录”(Master Boot Record),通常简写为MBR。

当你安装Windows操作系统时,安装程序会将Windows自己的MBC写入MBR,该MBC会运行Windows的NTLDR加载程序。Linux比较灵活,你可以将Linux的加载程序(LILO或GRUB)放到MBR或root分区。

当你将Linux加载程序放到root分区,必须靠MBR上的MBC将CPU控制权交给Linux加载程序。在这种情况下,Linux加载程序只能通过BIOS来取得磁盘的结构信息(调用BIOS的Interrupt 13H function 8H),也就是所谓的CHS参数(Cylinder、Head、Sector)。然而BIOS提供的Cylinder参数只有10-bit,对于磁柱数多余1024的磁盘,这表示Linux加载程序只能访问到磁盘的前1024-Cylinder(注1)。倘若内核映像文件时放在1024磁柱之后的位置,开机就会失败。

避免这个问题的方法,是在磁盘的起始处规划一个小小的/boot分区(通常256MB就已足够),然后将内核映像文件放在此分区内,如此一来,就可以确保内核映像文件的位置一定会在BIOS的寻址能力范围内。

注1:1024-Cylinder所出现的位置可用此公式算出来:1024 × H × S × 512。注意其中的H与S是磁盘的结构参数,分别是Head(磁头数)与Sector(每轨的扇区数)。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部