Cnetos6启动流程

post加电自检>MBR引导>GRUB>加载内核

1.加载BIOS的硬件信息,获取第一个启动设备

2.读取第一个启动设备MBR的引导加载程序(grub)的启动信息

3.加载核心操作系统的核心信息,核心开始解压缩,并尝试驱动所有的硬件设备

4.核心执行init程序,并获取默认的运行信息

5.init程序执行/etc/rc.d/rc.sysinit文件

6.启动核心的外挂模块

7.init执行运行的各个批处理文件(scripts)

8.init执行/etc/rc.d/rc.local

9.执行/bin/login程序,等待用户登录

10.登录之后开始以Shell控制主机

(post加电自检,grub,加载内核,读取加载操作系统的根,运行系统的第一个进程,读取初始化脚本对应的运行模式0 1 2 3 4 5 6,最后运行rc.local),进入启动界面等待登录

1.开机加电自检post

2.选择启动设备引导系统(可以在bios进行调整);默认用硬盘引导的话,会去寻找硬盘中的mbr,mbr处于硬盘中的第一个扇区,mbr扇区分为三个部分,最前面有440个字节(bootloader),中间有64个字节,最后有55a的两个字节标记位

3.bootloader加载完后加载操作系统内核,内核加载到内存后会尝试挂载整个系统的根。挂载根的时候要识别文件系统对应的驱动,对应的驱动程序在initramfs文件下。加载完驱动就可以进入到根目录

4.进入根目录之后默认去寻找系统中的第一个系统进程(init),到此内核完整工作

5.系统开始运行sbin下的init进程.

centos6 的情况下

chkconfig atd on 开机自动启动atd服务

服务的启动流程

yum install atd;service atd start;chkconfig atd on;修改配置文件

服务脚本放在/etc/init.d/

chkconfig: 345 95 5(在345模式自动开启‘-所有模式不启动’;s开头95;k开头5)

chkconfig --list 服务脚本清单

chkconfig --add testsrv 把服务testsrv添加到清单中

chkconfig --level 3 tetsp on 在3模式下开机自启动

grub的三个阶段

stage1:mbr(前521字节的前440个字节)

stage1_5: mbr之后的扇区(512字节后),让stage1中的bootloader能识别stage2所在的分区上的文件系统stage2:磁盘分区(/boot/grub

centos 7

  • BIOS 上电自检(POST)
  • 引导装载程序 (GRUB2)
  • 内核初始化
  • 启动 systemd,其是所有进程之父。