电源
读取BIOS
BIOS包含cpu的相关信息,设备启动顺序,硬盘,内存,时钟,pnp特性
读取MBR
第0磁道第一扇区 MBR Master Boot Record 主引导记录,512字节,包含预启动,分区表信息
系统找到BIOS指定的MBR,将其复制到0x7c00地址所在的物理内存中,其实内容就是Boot Loader
boot loader
初始化硬件设备,建立内存空间的映射图,为最终调用操作系统内核做好一切准备
包括:Grub,Lilo和spfdisk
Grub配置信息(menu.lst或grub.lst),依照此配置信息来启动不同的操作系统
加载内核
根据grub设定的内核映像所在路径,系统读取内存映像,并进行解压操作。此时,屏幕输出“Uncompressing Linux"。当解压缩内核完成后,输出“OK,booting the kernel"
系统将解压后的内核置在内存中,并调用start_kernel()函数来启动一系列的初始化函数并初始化各种设备,完成Linux核心环境的建立。
inittab,运行级别
第一个运行的程序是/sbin/init,该文件读取/etc/inittab。并依据此文件进行初始化工作
/etc/inittab主要作用是谁都能够Linux的运行级别
init进程执行rc.sysinit
linux系统执行的第一个用户层文件/etc/rc.d/rc.sysinit脚本程序
他的工作包括:设定PATH、设定网络配置(/etc/sysconfig/network)、启动swap分区、设定/proc
具体可以查看/etc/rc.d中 查看rc.sysinit文件
启动内核模块
依据/etc/modules.conf文件或/etc/modules.d目录下的文件来装载内核模块
执行不同级别的脚本程序
运行rc0.d到rc6.d的相应的脚本程序,来完成相应的初始化工作和启动相应的服务
执行etc/rc.d/rc.local
打开此文件,你对此命令一目了然
rc.local是在一切初始化工作后,给用户进行个性化的地方,你可以把你想设置或启动的放这里
执行/bing/login 进入登录状态
转载于:https://blog.51cto.com/inter870815/1867736