centos启动流程

加电自检
检测硬件是否存在并且能够正常运行,如cpu、内存、硬盘是否存在并能正常运行,以及外围得输入输出设备是否存在,如键盘、鼠标、显示器。
bios启动次序,按照次序查找个引导设备,启动第一个具有引导程序的设备,即为本次启动需要加载的设备。
加载boot loader
bootloader安装在mbr中,linux的bootloader程序为grub和lilo,现在grub比较常用。mbr是第一块硬盘的第一个扇区。mbr的大小是512bytes,前446bytes为系统引导程序,从447bytes到510bytes为磁盘分区表,后两个字节为结尾标记(55AA表示为mbr是有效的,非55AA则此mbr无效)。由于mbr太小,允许bootloader程序大小最大446个字节,要求gurb程序最大为446个字节,却又要实现这么多功能几乎不可能实现,所以把grub设计为两个阶段:第一阶段加载安装在mbr中的gurb;1.5阶段让第一节段的bootloader能够识别第二阶段的所在分区的文件系统。第二阶段加载根所在分区/boot/grub/。
显示系统版本菜单加载用户选定系统内核ramdisk
内核程序一般放在/boot下,以vmlinuz开头的文件,当加载完kernel后,会初始化kernel,kernel初始完后会加载根文件系统,但是kernel可能没有自带根文件系统所在的设备驱动,这时候会加载虚拟文件系统(initrd ramdisk)。当加载完kernel和initrd后会加载根文件系统rootfs,加载根文件系统结束后根切换switchroot,为什么会有switchroot这步呢,因为加载initrd后虚拟文件系统里面有一个临时的根,所有需要切换,加载根文件系统是以只读方式挂载。运行用户空间的第一个程序sbin/init,运行/etc/inittab,/etc/init/*.conf设定的文件。包括准备软件运行环境,系统主机名称、网络配置、文件系统格式等其它服务管理,而这些操作都是init配置文件定义。
设定默认运行级别
init的配置文件中有一个非常重要的配置项,就是默认的系统启动级别,启动级别就是为了系统维护的目的而制定的。分为7个级别:
0:关闭所有服务器:关机
1:维护模式,单用户模式,sigle模式;此级别可允许root用户直接登录而无需认证;
2:维护模式,多用户模式,需要用户认证,会启动网络功能,但不支持使用NFS;
3:正常级别,完全多用户模式,文本界面;
4:预留级别;
5:正常级别,完全多用户模式,图形界面;
6:关闭所有服务;重启
运行系统初始化脚本
/etc/inittab这个文件定义了系统的启动级别,如 id:5:initdefault 即默认启动图形窗口,意味这启动或关闭/etc/rc.d/rc5.d/目录下的服务脚本所控制的服务。K开头的脚本要关闭,S开头的脚本要启动。K##数值越小越优先关闭,依赖的服务先被关闭,后关闭被依赖的服务。S##数值越小的,越优先启动,被依赖的服务优先启动,依赖的服务器最后启动。
启动终端

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/88396

(1)
469008940469008940
上一篇 2017-11-14 14:16
下一篇 2017-11-14 15:17

相关推荐

  • Linux基础学习总结(六)

    一、创建一个10G分区,并格式为ext4文件系统; 1、要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; [root@blog ~]# fdisk /dev/sdfCommand (m for help): nCommand action e extended p primary partition (1…

    2016-11-06
  • cut命令练习总结

    cut命令的作用是实现文本内容的切割,原内容或者原文件不受影响。   cut小练习:                       2016年 07月 …

    Linux干货 2016-07-22
  • 马哥教育21期网络班—第15周课程+练习

    2、删除/boot/grub/grub.conf文件中所有行的行首的空白字符; sed 's@^[[:space:]]\+@@' /boot/grub/grub.conf 3、删除/etc/fstab文件中所有以#开头,后跟至少一个空白字符的行的行首的#和空白字符; sed 's@^#[[:spac…

    Linux干货 2016-11-14
  • shell脚本的一点补充

    脚本内容补充 数组 变量:存储单个元素的内存空间数组:存储多个元素的连续的内存空间,相当于多个变量的集合。 数组名和索引 索引:编号从0开始,属于数值索引注意:索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引,bash4.0版本之后开始支持。bash的数组支持稀疏格式(索引不连续) 数组的使用 声明数组: declare -a ARRAY_NAME…

    Linux干货 2016-08-24
  • 互联网安全之iptables/netfilter入门到进阶

    随着互联网技术的方兴未艾,各种网络应用层出不穷,网络攻击、黑客入侵也成了网民畅游互联网的心头大患,互联网安全也愈加受到了人们的重视。网络防火墙,作为一种简单高效的互联网防御手段,逐渐成为了网民畅游网络世界的保护伞。下面笔者介绍下Linux系统的守卫者——iptables/netfilter。  一 兄弟齐心,其利断金  iptables/netfilter就…

    Linux干货 2017-05-06
  • grep的基本用法详解

     grep是linux上常用的一个文本处理工具之一。它有着强大的文本处理能力,学会它,可以让工作更有效率。 一、初识grep   grep: Global search Regular Experssion and Print out line   从名字上也可以直观的了解到它是基于正则表达式进行全局搜索,并把结果打印到屏幕上来…

    系统运维 2015-05-25

评论列表(1条)

  • 马哥教育
    马哥教育 2017-12-02 09:23

    赞,继续加油。