|

楼主 |
发表于 2009-12-16 21:57:06
|
显示全部楼层
Post by 糊涂;2056396
BIOS程序在BIOS数据区建立可用磁盘设备的清单及其引导顺序,在POST的最后一步,BIOS把引导顺序表中第一个可引导设备的物理第一扇区内容读入内存一个固定的位置,下一步CPU就从这个固定位置开始取指并执行;这第一扇区的内容最主要就是Grub引导代码和磁盘分区表。
这也就是说:Grub是被BIOS装入内存的。如果BIOS不能识别(或有意设计成不去识别)某些磁盘,那么那个磁盘上的Grub是没办法被装入内存的。
换句话说:只要Grub能被装入内存,那么Grub所在的那个磁盘设备的物理访问信息就已经由BIOS程序装入到BIOS数据区了,也就是说,BIOS已经建立了Grub能够看到的hd0、hd1等等设备信息了。
Grub所需要的磁盘信息与Kernel所需要的应该是不一样的并且是处于不同层次的,Grub所要读取的信息更底层一些(我的猜测),这些信息是BIOS提供的。Kernel所需读取的信息要由kernel module提供。
Grub并不去负责识别RAID。
除非kernel module出问题(不存在或不兼容)使得kernel不能访问磁盘,否则/boot是没必要非得单独分出来的。
sorry,由于我RAID的层次较低,所以不应该称 我机器的硬RAID是 BIOS管控。
先忙点事情,空了来打字。 |
|