Linux系统启动:
BIOS --> MBR: Boot Code --> 执行引导程序 - GRUB --> 加载内核 --> 执行init --> runlevel
BIOS
BIOS负责检查硬件并且查找可启动设备,可启动设备可以在BIOS中定义
MBR
MBR负责执行引导代码,引导代码为前446字节 后64字节代表次设备为可启动设备
GRUB
GRUB是主流的引导程序,负责引导系统。GRUB配置文件为/boot/grub/grub.conf,配置格式如下
  title centos
          root(hd0,1)
          kernel /boot/vmlinuz-2.6.32-279.el6.i686 ro root=UUID=77272833-B6BB-4D53-B043-9541 D I I02EBD
          initrd /boot/initramfs-2.6.32-279.el6.i686.img
加载内核
  Linux内核保存在/boot/vmlinuz-2.6.32-279.el6.1686
  一般还会加载内核模块打包文件:/boot/initramfs-2.6.32-279.el6.i686.img
  命令dmesg可以查看本次启动时内核的输出信息
执行init
  内核启动完毕就会运行init进程
  init 是linux系统中运行的第一个进程
  init负责使用/etc/rc.d/rc.sysinit负责对系统进行初始化,挂载文件系统,并且根据运行级别启动相应服务
  linux运行级别:
    0  关机
    1  单用户模式
    2 不带网络的多用户模式
    3 多用户模式
    4 未使用
    5 xll 图形化多用户
    6 重新启动
  top 命令可以查看PID,其中1为init
  默认的运行级别可以通过文件/etc/inittab 下修改
  runlevel 显示当前运行级别
  init 3 可以切换到3级别
原文:http://www.cnblogs.com/mxdream/p/7570676.html