linux内核映像: 用户选择要加载的内核之后,次引导加载程序(GRUB)就会根据 /boot/grub.conf 配置文件中所设置的信息,从/boot/所在的分区上读取Linux内核映像,然后把内核映像加载到内存中并把控制权交给Linux内核。 linux内核获得控制权之后开始干自己的事 •检测硬件 •解压缩自己并安装必要驱动 •初始化与文件系统相关的虚拟设备,LVM或RAID •装载根文件系统,挂在根目录下面 •完成之后,linux在进程空间里面加载init程序,下面轮到init干活 •init进程 问题:在加载内核时, 还未加载根文件系统,如何读取/boot/grub.conf ,是怎么加载/boot中的内核映像的。 所提变成先有鸡还是先有蛋:要加载内核,就要去读取/boot,而这就需要文件系统的支持。 文件系统要加载, 就需要内核启动区加载文件系统?? grub 本身就是一个系统,它与 linux 无关,你可以用 grub 启动 windows。 grub 系统在引导区,它从引导区直接启动,并内置了文件系统,所以不存在鸡蛋问题。 在 grub 中选择内核的过程,全部都由 grub 这个系统控制,与 linux 无关,此时 linux 还根本没有启动。 grub 这个系统读取了 /boot/grub.conf,然后引导了 linux 内核之后,才把控制权交给 linux 系统,之后才是 linux 的事,所以读取 grub.conf 与 linux 内核没有任何关系。 题主可能进入了一个误区:并不是所有软件都是由软件启动或加载的,所以不存在先有鸡先有蛋的问题。 对一般Linux系统而言,其由grub引导程序引导加载。那么问题来了,又是谁启动了grub呢,是硬件。硬件启动则是因为电。是由一系列的顺序动作组成。 (责任编辑:IT) |