【发布时间】:2014-07-10 20:42:29
【问题描述】:
开机时,Linux Kernel 是先加载到内存还是先挂载根文件系统?我有这个疑问是因为压缩的内核映像通常位于 /boot/vmlinuz。因此,要访问内核映像,应该挂载根文件系统。但是由于根文件系统会驻留在存储上,如何从存储中读取呢?
【问题讨论】:
-
见
initrd。 -
感谢@JonathonReinhart。那么,GRUB 或 LILO 是否能够与存储交互并将 initrd 和内核映像文件加载到内存中?那么,基本上他们可以和根文件系统交互,从根目录读取这些文件?
-
"要访问内核映像,应挂载根文件系统" -- 引导加载程序不必遵循正式的内核程序。它只是一个执行快速和肮脏操作的瞬态程序。所以文件系统(或有时是原始设备)只是简单地读取,没有复杂的
mount过程。 “根文件系统”也是一个内核概念,而不是引导加载程序概念。引导加载程序正在从 引导设备 上的文件系统读取内核映像。不要求此引导设备或文件系统必须是内核的 rootfs。
标签: linux-kernel x86 boot rootfs