Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。
想改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。
4年前关闭。
Improve this question
例如,如果使用grub引导系统,则可能会出现诸如
在menu.lst中。
我的问题是:
在将内核镜像加载到内存之前,我认为不存在可用于在磁盘中定位内核镜像的文件系统信息(例如文件系统类型, super 块)。
那么, bootstrap 如何知道磁盘中镜像的CHS?
我猜bootloader可以根据“root(hd0,6)”找到 super 块。如果是这样,它必须盲目地检测所有可能的文件系统并找到匹配的文件系统。太复杂了吗?
想改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。
4年前关闭。
Improve this question
例如,如果使用grub引导系统,则可能会出现诸如
root (hd0,6)
kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/
initrd /boot/initrd-2.6.11-1.1369_FC4.img
在menu.lst中。
我的问题是:
在将内核镜像加载到内存之前,我认为不存在可用于在磁盘中定位内核镜像的文件系统信息(例如文件系统类型, super 块)。
那么, bootstrap 如何知道磁盘中镜像的CHS?
我猜bootloader可以根据“root(hd0,6)”找到 super 块。如果是这样,它必须盲目地检测所有可能的文件系统并找到匹配的文件系统。太复杂了吗?
最佳答案
我将使用Lilo给您答案,例如:
安装新的文件后必须运行/sbin/lilo的原因
内核是LILO bootstrap 不了解它的文件系统
只知道磁盘的较低级块结构。的
/sbin/lilo程序确实了解文件系统,并翻译了
内核的路径(即“/boot/vmlinuz-2.6.3”)进入逻辑块地址
即3-4-123),以便LILO bootstrap 可以找到内核镜像
加载。实际上,这是一个大技巧。
资源:
http://courses.cs.washington.edu/courses/cse451/02wi/section/bootloaders.txt
09-12 10:59