天天看点

Linux系统启动流程

从上至下为:

             BIOS 

            MBR:Boot Code

      执行引导程序-GRUB(操作系统)

            加载内核

            执行init

            run level

1.BIOS(Basic Input Output System)

基本输入输出系统,一般保存在主板上的BIOS的芯片中,负责检查硬件/查找可启动设备

2.MBR

BIOS找到可启动设备后,执行其引导代码,引导代码为MBR前446字节(一共512字节),一般加载复杂的引导程序。

3.GRUB(主流引导程序)

几乎会引导现在所有的OS,Grub文件保存在/boot/grub目录下。

4.KERNEL

MBR引导代码负责找到并加载Linux内核,内核保存在/boot/vmlinux-2.6.32-279.e16.i686,额外加载内核模块打包文件/boot/initramfs-2.6.32-279.e16.i686.img

命令dmesg可查看本次启动时的内核的输出信息。也保存在/var/log/下。

5.INIT

Linux系统中运行的第一个进程。调用/etc/rc.d/rc.sysinit对 系统初始化,挂载文件系统并根据运行级别启动相应的服务。

-0 关机   -1单用户   -2不带网络的多用户  -3多用户  -4未用  -5图形化模式  -6重启动。

可以通过/etc/inittab配置文件修改默认级别,每级启动服务在/etc/rc.d/rc[0123456].d中。

runlevel可以显示当前以及上一个运行级别

命令init可以用来改变当前运行级别。

A man must be on his own!