话说CentOS6的启动流程

简介: 1.按下开机按钮,电脑的主板通电,电脑开始加电自检(POST,Power On and Self Test),测试主机的硬件是否满足开机的要求.2.加载主板上的BIOS(Base Input/Output System,基本输入输出系统),BIOS会加载用户设定的第一个可开机设备.

1.按下开机按钮,电脑的主板通电,电脑开始加电自检(POST,Power On and Self Test),测试主机的硬件是否满足开机的要求.

2.加载主板上的BIOS(Base Input/Output System,基本输入输出系统),BIOS会加载用户设定的第一个可开机设备.,这里我们只说硬盘的加载.

可以按下键盘上的Esc或者是F2或者是Del键,可以调整开机设备,这个键依据每个主板的不同而不同.

3.BIOS加载硬盘的第一个分区的第一个扇区内的内容,也叫做MBR(Master Boot Record,主引导记录).

MBR只有512byte大小,由三部分组成:主引导记录,硬盘分区表和硬盘有效标志,其中主引导记录占用446byte,硬盘分区表占用64byte,硬盘有效标志占用2byte,通常为55AA.

4.由MBR来加载CentOS系统的开机系统管理程序GRUB(GRand Unitifed Bootloader),也就是/boot/grub/grub.conf文件.grub.conf**这个文件的内容如下:

#指定默认加载第一个系统,如果没有这一项,用户不选择的话,系统默认会一直停在这里
default=0 
#开机菜单显示的时间,不建议设置太长时间              
timeout=5
#开机菜单显示时的背景图,分辨率为640*480               
splashimage=(hd0,0)/grub/splash.xpm.gz 
#这一项为默认隐藏菜单,可以省略       
hiddenmenu 
#显示的开机菜单               
title CentOS 6 (2.6.32-642.el6.x86_64)
    #指定系统所在的硬盘的第一个分区         
    root (hd0,0)        
    kernel /vmlinuz-2.6.32-642.el6.x86_64 ro root=UUID=234a19e9-96c4-4710-af9b-536fdefbe875 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 KEYBOARDTYPE=pc KEYTABLE=us  rhgb quiet
        #指明内核kernel的地址,这里的根文件系统为/boot这个分区,后面接的是开机时内核加载的参数
        #ro指定开机过程中,以ro(ready only)方式加载根文件系统
        #root=UUID=234a19e9-96c4-4710-af9b-536fdefbe875为系统的真正的根,这里是用硬盘分区的UUID号指定的 
        #rd_NO_LUKS 的意思是说系统上禁用会被initrd或init脚本自动挂载的加密设备
        #LANG=en_US.UTF-8指定系统所用的语言 
        #rd_NO_LVM为系统不启用LVM逻辑卷
        #rd_NO_MD 选项为系统禁用软RAID设备
        #SYSFONT=latarcyrheb-sun16选项为系统开机时所用的字体
        #KEYBOARDTYPE=pc选项为指定键盘的类型
        #KEYTABLE=us选项为指定美式键盘
        #rd_NO_DM选项为不启用硬RAID
        #rhgb选项为不显示开机的画面
        #quiet选项指定系统开机过程中加载的各种信息不显示出来
    #指明initramfs.img文件的地址,这里默认的根系统为/boot分区
    initrd /initramfs-2.6.32-642.el6.x86_64.img

5.依据GRUB中的信息,加载CentOS6系统的内核到内存中,并把内核解压缩.

6.内核初始化完成后,会加载initramfs.img这个虚拟的文件系统,并根据initramfs.img提供的各种驱动探测加载主机上所有的硬件设备,然后以只读的方式挂载根文件系统.

7.执行/sbin/init程序,读取系统的/etc/inittab文件,取得系统的运行级别,同时运行/etc/rc.d/rc.sysinit程序,初始化系统的各种信息,比如:

读取主机名hostname,
依据/etc/issue文件读取系统的欢迎信息
激活udev和selinux
检测根文件系统,并根据/etc/fstab文件来以读写方式重新挂载根文件系统
设置系统时钟
激活swap分区
根据/etc/sysctl.conf文件设置内核参数
激活lvm及software raid设备
加载额外设备的驱动程序

8.根据系统的运行级别,运行/etc/rc.d/rc#.d/下的各种文件,这里所有的文件都是/etc/rc.d/init.d/目录下文件的软链接

这个文件夹下面的程序都是以K和S开头的,基中
以K开头的文件是在系统开机过程中要被运行的服务,K后面跟的数字表示的是服务的运行次序;数字越小,越先运行;数字越小的服务,通常都会依赖到别的服务,
以S开关的服务则表示的是系统在关机或是切换运行级别时要结束的服务,S后面跟的数字表示的是服务结束的次序;数字越小,越先被结束;数字越小的服务,通常为被依赖到的服务

9.正常级别下,前面的程序运行完毕后, 最后一个S99local的程序指向/etc/rc.d/rc.local这个脚本,用户可以在这个脚本里可以写入自己不方便或是不需写入的系统服务脚本.

10.执行/bin/login程序,进入登录状态,等待用户登录

目录
相关文章
|
网络协议 安全 Unix
centos7.9系统部署NFS详细流程—2023.04
centos7.9系统部署NFS详细流程—2023.04
785 0
|
3月前
|
Linux 开发工具 数据安全/隐私保护
CentOS7安装流程步骤详细教程
【8月更文挑战第22天】
693 2
CentOS7安装流程步骤详细教程
|
3月前
|
缓存 运维 Linux
深入解析:一步步掌握 CentOS 7 安装全流程及运维实战技巧
深入解析:一步步掌握 CentOS 7 安装全流程及运维实战技巧
|
4月前
|
Linux Shell 数据安全/隐私保护
centos 开机启动流程、开机运行级别
centos 开机启动流程、开机运行级别
|
5月前
|
开发工具
centos8 yum安装mysql8 流程配置
centos8 yum安装mysql8 流程配置
663 0
|
6月前
|
XML JSON Java
【亮剑】在CentOS上搭建Solr 7单机服务的流程
【4月更文挑战第30天】本文介绍了在CentOS上搭建Solr 7单机服务的流程。首先确保系统安装Java,然后下载解压Solr 7压缩包,进入目录创建运行目录和日志目录,使用命令启动Solr服务。通过浏览器访问管理界面,创建Collection和Core。接着配置数据导入,创建`example_docs`文件夹存放数据,通过管理界面导入数据。最后进行查询测试,完成Solr的基本使用。
79 2
|
6月前
|
安全 Linux 数据安全/隐私保护
Centos7的虚拟机创建流程
Centos7的虚拟机创建流程
89 6
|
NoSQL Linux 编译器
Linux CentOS 内核编译全流程:从安装vmware开始
Linux CentOS 内核编译全流程:从安装vmware开始
631 1
Linux CentOS 内核编译全流程:从安装vmware开始
|
安全 Linux 网络安全
CentOS7.9安全加固镜像制作流程梳理
CentOS7.9安全加固镜像制作流程梳理
592 0
CentOS7.9安全加固镜像制作流程梳理
CentOS 7 缺少os-release导致启动黑屏
CentOS 7 缺少os-release导致启动黑屏
下一篇
无影云桌面