CentOS 5.0系统启动流程

注:CentOS系统5.x,6.x和7.x的启动流程不同,所以本文仅讨论CentOS 5.x的启动流程。

1. POST加电自检

服务器在开机之后首先会先进行硬件的检测,在开机界面我们可能会看到检测硬盘,cpu或raid卡等信息,此界面即硬件自检界面。

2. BIOS引导

BIOS(BootSequence)用于通过指定的引导装置引导系统启动。

3. Bootloader(MBR)

在所有可以引导系统启动的介质都会存在引导启动程序,即MBR。当然现在也可能会有UEFI引导启动的系统,此处只讨论MBR引导启动方式。

  1. MBR为于硬盘0柱面0扇区的前446字节,随后的64字节为分区表信息和分区标识位。

CentOS 5.0系统启动流程
此处即为系统引导盘的前512字节,这512字节如果被破坏的话系统将无法启动。

  1. BootLoader分为多种类型,如LiLo,grub等,其中CentOS 系统采用的为grub。 

    • grub程序为于/boot/grub/目录下

CentOS 5.0系统启动流程
其中存放有stage1,stage2,grub.conf等信息。

  • stage1存放的是MBR的备份信息,如下:

CentOS 5.0系统启动流程

  • grub.conf即开机引导启动的菜单,其内容如下,用户也可以自己定义:

CentOS 5.0系统启动流程

  • grub启动系统分为多个阶段,首先会通过grub.conf文件寻找内核和initrd文件引导系统,然后内核通过initrd文件加载硬盘的根文件系统。

4./sbin/init

/sbin/init为系统的第一个进程,内核加载完毕之后会只读挂载rootfs,然后寻找/sbin/init,然后内核启动阶段结束,转由用户空间启动阶段。

CentOS 5.0系统启动流程

5./etc/inittab

系统启动之后会运行/etc/inittab文件,此文件定义如下信息:

  • 系统默认运行级别;
  • 执行/etc/rc.d/rc.sysinit脚本进行系统初始化;
  • 关闭对应级别下需要停止的服务,以k*开头,启动对应级别下需要运行的服务,以S*开头;
  • 通过mingetty加载指定的tty;
  • 加载图形终端;
  • 定义ctrl+alt+del是否可以重启系统;
  • 定义系统断电和电力恢复的动作; 
    其中/etc/rc.d/rc.sysinit定义如下内容:
  • 设置主机名;
  • 设置欢迎信息;
  • 激活udev和selinux;
  • 挂载/etc/fstab文件中定义的所有文件系统;
  • 检测根文件系统,并以读写方式重新挂载根文件系统;
  • 设置系统时钟;
  • 根据/etc/sysctl.conf文件设置内核参数;
  • 激活lvm及软raid设备;
  • 激活各swap设备;
  • 加载额外设备的驱动程序;
  • 清理等操作;

6. 详解系统服务加载过程:

系统所有的服务都存放于/etc/init.d/目录下,然而在/etc/rc.d/存放多个rc#.d命名的目录,这些目录定义的就是对应的运行级别下所有需要停止和启动的服务:

CentOS 5.0系统启动流程
以上为3级别下需要启动和停止的服务,可以看到所有的服务都是以软连接的形式存在的。 
以软连接存在原因:

  • 所有服务脚本都存放在/etc/init.d/目录下
  • 所有服务脚本都有一个共同过的特性,脚本开头必须定义如下两行信息: 
    #chkconfig 运行级别 启动优先级 停止优先级 
    description:***** 
    如atd服务的脚本:

CentOS 5.0系统启动流程

  • 此类脚本收chkconfig管理,当执行以下指定命令之后会在相应rc#.d目录下创建指定的以K*或S*开头的脚本软连接,系统就是通过加载这些脚本的软连接启动服务: 
    chkconfig –add 脚本名 #添加服务 
    chkconfig –del 脚本名 #删除服务 
    chkconfig –level 运行级别 on|off #定义指定服务在指定级别下是否运行 
    chkconfig –list #列出所有服务信息

以上便是CentOS 5.x的启动流程总结。

原创文章,作者:王子豪,如若转载,请注明出处:http://www.178linux.com/75515

(0)
王子豪王子豪
上一篇 2017-05-14
下一篇 2017-05-14

相关推荐

  • Linux文件之普通权限及其特殊权限

    普通权限: 当我们使用ls -l命令查看某个文件时: [root@centos7 ~]# ls -l file1.txt  -rw-r–r–. 1 root root 30286 Aug  1 19:30 file1…

    Linux干货 2016-08-04
  • Linux 第六天: (08月03日) 练习和作业

    Linux 第六天: (08月03日) 练习和作业        当用户xiaoming对/testdir目录无执行权限时, 无法做哪些操作? 无法 ls -l 无法cd     当用户xiaoqiang对/testdir目录无读权限时, 无法做哪些操作? 无法查看目录文件列表   &nb…

    Linux干货 2016-08-08
  • 个人思想的转变及对学习的态度

    了解linux已经一年多了,但实际上学习的次数并不多。我是在部队的时候通过网络了解到linux,刚开始接触的是乌班图系统,感觉这个系统美化比较漂亮,就安装在虚拟机里进行各种操作,但是对命令是一窍不通的,都是通过百度粘贴复制各种命令,在复制的是同时我也感觉到头大,这个系统的输入、输出怎么都是字母出现在屏幕上,顿时就感到兴趣失去了一大半,再加上自己英语也不好,就…

    Linux干货 2018-03-26
  • Linux运维之基础拾遗

    博客具体内容请移步博客园: http://www.cnblogs.com/ITOps/p/6151766.html

    Linux干货 2016-12-09
  • Linux命令总结

      1、登陆和开关机       关机    halt    poweroff    init 0    重启    reboot    init 6    shutdown    shutdown -r 重启    shutodwn -h 关机    shutdown -c 取消计划关机    shutdown +0 马上关机    +1 一分钟后关机  …

    2017-09-11
  • 网络管理

    一、网络概念     什么是网络     资源共享的功能和优点         数据和应用程序         资源 &…

    Linux干货 2016-09-09