linux 的启动流程
第一步:启动BIOS(在内存中,非易失),纯硬件动作。
第二步:利用BIOS载入可启动设备的MBR的boot loader(即是grub,spfdisk),boot loader认识该操作系统的文件系统
第三步:利用boot loader从硬盘中加载内核(系统安装在硬盘上,bootloader 认识硬盘系统,因此它可以加载硬盘的数据)
第四步:内核开始加载各种模块.注意如果硬盘的驱动程序没有被编译进内核,而是编译成模块。就会有问题。因为内核如果没有驱动模块的支持,它就不认得设备,就无法读取数据,即无法取得模块。解决方式:额外创建一个可执行文件,该文件一般放在/boot/initrd中,boot loader也能加载它。然后该文件会帮助内核加载驱动模块。
第五步:内核和内核模块各种执行和加载
注意区分两个问题:系统的安装,系统的启动。本文介绍的系统的启动。
系统安装的过程其实复杂多了。。。。(格式硬盘成指定文件系统,放操作系统的数据到指定的位置等等)