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
下一篇 2017-11-14

相关推荐

  • 第四周-grep正则表达式简单应用

    复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 cp -r /etc/skel /home/tuser1 && chmod 700 -R /home/tuser1 编辑/etc/g…

    Linux干货 2016-08-02
  • 8.1_Linux习题和作业

    7.28 作业 1、将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中 1 # cat /etc/issue | tr 'a-z' 'A-Z'whoi > /tmp/issue.out 2、将当前系…

    Linux干货 2016-08-04
  • HTTP的基础配置

    目录: 1.修改监听的IP和PORT 2.持久连接(保持连接,长连接) 3.MPM 4.DSO 5.定义’Main’ server_name的文档页面路径 6.站点访问控制常见机制 7.定义站点主页面: 8.定义路径别名 9.设定默认字符集 10.日志设定 11.基于用户的访问控制 12.虚拟主机 13.status页面 14.cur…

    Linux干货 2017-08-08
  • keepalived相关配置示例(一)

    配置前提: (1) 各节点时间必须同步 (2) 确保iptables及selinux不会成为阻碍 (3) 各节点之间可通过主机名互相通信(对KA并非必须)         建议使用/etc/hosts文件实现 (4) 确保各节点的用于集群服务的接口支持MULTICAST…

    2017-06-26
  • 学会在命令行中获取帮助

    在命令行中获取帮助是学习Linux必须get的一项技能,学会之后受益多多。  Linux中的命令有内部命令和外部命令之分,通常使用 type 命令来区分 除此之外还可以使用 enable 命令来查看内部命令 enable命令后的许多option可以对这些内部命令了解更多,比如: 想要知道内部命令有多少个 enable -a |wc -l 禁用某个内…

    2017-07-15
  • 图解 lvs 工作原理

    一.lvs 基本工作流程介绍  如图1,ipvsadm定义lvs服务监听的ip和port,并发送给ipvs,而ipvs是工作在netfilter的input钩子上的程序,当input链中有目标ip属于lvs服务的请求报文时,ipvs就会修改该报文的链路,使其不进入用户空间而直接转到postrouting链上,并转发给其中一台real server,…

    Linux干货 2016-10-30

评论列表(1条)

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

    赞,继续加油。