linux 总共做的事可以分为五步来完成。
1 、 BIOS 加电自检:
加电自检,检测硬体装置。然后按照 cmos 上面的顺序来搜寻处在活动状态下的可以引导的装置。可以是光碟机、软盘、 USB 等。
2 、 载入主引导载入程式(MBR):
主载入程式是一个 512 位元组的映像。包含一点机器码还有一个小的分割槽。
主载入程式的任务就是查询并且载入处在硬碟分割槽上的次载入程式。通过分割槽表查询活动分割槽,并将处在活动分割槽的次引导载入程式读取到内存里面执行。
3 、 载入次引导记载程式(GRUB)
次引导载入程式只要就是载入 linux 核心。
上一阶段结束之后次引导载入程式就会在内存里面跑起来。就会出现 GRUB 图形介面,让使用者选择载入什么样的核心。
4 、 linux 核心映像:
使用者选择要载入的核心之后,次引导载入程式(GRUB)就会根据/boot/grub.conf 配置档案中所设定的资讯,从/boot/所在的分割槽上读取 Linux 核心映像,然后把核心映像载入到内存中并把控制权交给 Linux 核心。
linux 核心获得控制权之后开始干自己的事
检测硬体
解压缩自己并安装必要驱动
初始化与档案系统相关的虚拟装置,LVM 或 RAID
装载根档案系统,挂在根目录下面
完成之后,linux 在程序空间里面载入 init 程式,下面轮到 init 干活
init 程序
init 是所有程序的发起者和控制者,所有的程序都由此衍生。
init 程序获得控制权之后,它会执行/etc/rc.d/rc.sysinit 指令码,根据里面的程式码设定环境变数、互联网、启动 swap 、检查并挂载档案系统、执行其他初始化工作。
至此,linux 启动完成。
我们稍微总结一下:
首先是 BIOS 加电自检,之后载入主引导载入程式、次引导载入程式,最后就是 linux 核心映像,完了把控制权交给 init 程序,完成初始化工作。
swap 分割槽是什么?
类似 windows 系统中的虚拟内存,当实体内存不够用的时候,使用 swap 中的内存。
原文连结:http://www.cnblogs.com/lamian/p/3971195.html