1、开机BIOS自检
2、MBR引导
3、grub引导菜单
4、加载内核kernel
小程序
五、初始化系统ide
Linux启动过程详解:
第一步——加载BIOS
当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以致于计算机必须在最开始就找到它。这是由于BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、PnP特性等等。在此以后,计算机内心就有谱了,知道应该去读取哪一个硬件设备了。
第二步——读取MBR
众所周知,硬盘上第0磁道第一个扇区被称为MBR,也就是Master Boot Record,即主引导记录,它的大小是512字节,别看地方不大,可里面却存放了预启动信息、分区表信息。
系统找到BIOS所指定的硬盘的MBR后,就会将其复制到0x7c00地址所在的物理内存中。其实被复制到物理内存的内容就是Boot Loader,而具体到你的电脑,那就是lilo或者grub了。
第三步——Boot Loader
Boot Loader 就是在操做系统内核运行以前运行的一段小程序。经过这段小程序,咱们能够初始化硬件设备、创建内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,
系统读取内存中的grub配置信息(通常为menu.lst或grub.lst),并依照此配置信息来启动不一样的操做系统。
第四步——加载内核
根据grub设定的内核映像所在路径,系统读取内存映像,并进行解压缩操做。此时,屏幕通常会输出“Uncompressing Linux”的提示。当解压缩内核完成后,屏幕输出“OK, booting the kernel”。系统将解压后的内核放置在内存之中,并调用start_kernel()函数来启动一系列的初始化函数并初始化各类设备,完成Linux核心环境的创建。至此,Linux内核已经创建起来了,基于Linux的程序应该能够正常运行了。
函数
第五步--初始化系统spa