centos6启动过程

前言

每次在虚拟机里点击开启虚拟机后会看到屏幕不停地出现很多代码,后面有些跟着【ok】,有些代码后面跟着红色的【failed】。那么问题来了,为啥有些启动服务都失败了,系统还是进去了呢?本文就此给大家详细介绍一下,centos5和6 的启动流程。以后遇到系统无法启动,可以做到心中有数。

一、加电自检POST,通过BIOS读取cmos上的配置信息,读取硬件的信息。并检测能否正常运行,硬件设备初始化。

二、选择启动顺序

1、加载MBR,存在于0磁道0扇区前446字节;

2、读取位于MBR中存放的bootloader,功能是:识别、加载操作系统中的核心文件,交给内存。提供菜单信息和用户选择加载不同的操作系统,告诉下一阶段去哪里找系统和grub引导。

3、为了打破MBR中只有446Byte存放bootloader,grub分为三个阶段

stage1:存放于MBR中,用于加载stage1_5阶段,目的是为了识别并驱动stage2所在分区文件系统。

stage1_5: 存放于MBR之后的扇区,让stage1中的bootloader能识别stage2所在分区的文件系统

stage2:存放于磁盘分区上(/boot/grub),用于加载临时根文件ramdisk和加载内核文件

功能:(1)提供启动菜单、并提供交互式接口

a:内核参数

e:编辑模式、用于编辑菜单

c:命令模式,交互式接口

(2)加载用户选择的内核或操作系统

允许传递参数给内核

可隐藏启动菜单

(3)为菜单提供了保护机制

为编辑启动菜单进行认证

为启用内核或操作系统进行认证

总结:stage1_5就是向grub提供文件系统的驱动的,这样stage1就能访问stage2及内核所在分区(/boot)

grub的配置:/etc/grub.conf,读取此文件的参数,准备启动内核

三、加载系统内核kernel,执行系统初始化信息

内核存放在/boot下,是一个vmlinuz的文件,通过initramfs文件(ramdisk)虚拟一个根文件系统在内存中,来加载合适的驱动程序,并以只读方式加载真正的根文件系统,然后运行用户空间的第一个应用程序/sbin/init

ramdisk:centos 5 iniCentOS 5: initrd
                                工具程序:mkinitrd
                 CentOS 6,7: initramfs
                                工具程序:mkinitrd, dracut

制作ramdisk文件的制作:

(1) mkinitrd命令
                                        为当前正在使用的内核重新制作ramdisk文件
                                        mkinitrd   /boot/initramfs-$(uname-r).img   $(uname-r)
                                (2) dracut命令
                                         为当前正在使用的内核重新制作ramdisk文件
                                          dracut   /boot/initramfs-$(uname-r).img   $(uname-r)

四、启动/sbin/init

1、 init的程序的类型:

SysV: init, CentOS 5之前            配置文件:/etc/inittab
        Upstart: init,CentOS6                 配置文件:/etc/inittab————————-仅设置设置默认运行级别

/etc/init/*.conf   ——————-Upstart将配置文件拆分存放于/etc/init下以.conf结尾
        Systemd:systemd, CentOS 7     配置文件:/usr/lib/systemd/system、/etc/systemd/system

2、流程

(1)初始运行级别

(2)系统初始化脚本————–/etc/rc.d/rc.sysinit:a、设置主机名(/etc/sysconfig/network中的HOSTNAME)

b、欢迎信息

c、激活udev和selinux

d、 挂载/etc/fstab定义的文件系统

e、挂载根文件系统(读写方式)

f 、系统时钟

g、根据/etc/sysctl.conf文件设置内核参数

h、激活swap

i、激活LVM和software RAID设备

j、加载额外的驱动程序

k、清理操作

(3)对应运行级别的脚本目录

centos 5 的/etc/inittab有类似的几行: 13:3:wait:/etc/rc.d/rc 3 ————–读取/etc/rc.d/rc3.d的链接文件来决定如何启动或关闭赴服务:S开头的 进行start操作,K开头的stop。链接文件的源文件在/etc/init.d/目录下服务脚本

例外:S99local没有链接到/etc/init.d/下的服务脚本,而是链接到/etc/rc.d/rc.local (/etc/rc.local)。后序如果有不方便或者没必要写进脚本的程序,又希望开机自启动,可以直接写进这个脚本。

(4)配置好组合键的功能

(5)配置不断电系统PF、PR

(6)启动tty6个终端

(7)如果是3级别,启动字符界面

五、启动终端,登录。

六、到这里linux大概的过程就结束了,学习启动过程是为了在系统出故障时,能做到快速判断。后面一篇文章会详细模拟启动故障,根据启动所需的文件来恢复。

时间: 2024-08-26 23:51:45

centos6启动过程的相关文章

CentOS6启动过程超详解分析

CentOS 6 开机流程--linux由kernel和rootfs组成.kernel负责进程管理.内存管理.网络管理.驱动程序.文件系统.安全等;rootfs由程序和glibc组成,完善操作系统的功能.同时linux内核的特点是模块化,通过对模块装载卸载可以对内核功能自定义.linux内核文件:/boot/vmlinuz-2.6.32-696.el6.x86_64 整体的流程 BIOS/开机自检 MBR引导(Boot Loader) 启动内核 启动第一个进程init 一.BIOS/开机自检 1

聊聊CentOS6的启动过程

前言:     作为一个合格的运维人员,系统的启动过程我们需要牢记在心,此文不深入探讨,只求大致理解CentOS6的启动过程. 一张图带你了解CentOS6的启动过程 注意:图片放大查看效果更佳 上图各阶段详解 POST:计算机开机时BIOS对其各硬件的简单测试,测试各硬件的完整性 BootSqunce:加电自检后根据用户自己这次开机手动设置的接口或者BIOS默认设置依次检查FirstBoot,SecondaryBoot...等定义的接口是否能引导系统启动 MBR:Master Boot Rec

linux基础:5、linux启动过程

linux启动过程 1.BIOS(basic in out system) 通电检查硬件,然后加载第一可用启动项的mbr: #可通过BIOS设置各种介质存储设备的启动顺序,比如:cdrom.disk.usb 2.MBR(main boot recorder) 磁盘的第一个扇区,共512字节,446字节的boot程序空间,64字节的分区表,2字节的校验位. 执行MBR内保存的boot loader程序,一般为GRUB,通过GRUB来找到kernel和initrd(centos6里面此文件更名)并将

CentOS6启动流程

CentOS6启动流程 1.加载BIOS的硬件信息,获取第一个启动设备 在通电之后,CentOS6会进行加电自检(Power On Self Test),这个过程主要是由BIOS完成的.在自检完毕,会检查启动设备. 2.读取第一个启动设备MBR的引导加载程序(grub)的启动信息 在检测到启动设置之后,会读取第一个可启动设备MBR(Main Boot Record)中grub的启动信息. 主引导扇区,由MBR(主引导记录,占446byte).磁盘分区表(DPT,占64Byte)和结束标志(占2B

CentOS6 启动流程图文解剖

我们在使用Linux操作系统的时候,我们只需按下电源键,等待,然后输入账户和密码就可以使用Linux操作系统了.那么在按下电源到输入账号和密码之前,操作系统都做了些什么?下面就来讲述在这段时间发生的动作. 下面以CentOS6系列为例来讲解Linux的启动流程. 一.Linux启动流程详解 下图就是启动流程的大致过程: 二.POST加电自检 POST(PowerOnSelfTest)首先对每一个设备进行检查.完成后会寻找存有引导记录的设备,找到后读入操作系统引导记录,然后将系统控制权交给引导记录

Linux系统--Linux的启动过程

Linux系统--Linux启动过程 CentOS 启动流程: POST --> Boot Sequence(BIOS) --> Boot Loader (MBR) --> Kernel(ramdisk) --> rootfs --> switchroot --> /sbin/init -->(/etc/inittab, /etc/init/*.conf) --> 设定默认运行级别 --> 系统初始化脚本 --> 关闭或启动对应级别下的服务 --

centos6启动流程详解

当我们在平常的工作学习的环境中使用linux时,我们只需要按一下开机键,系统就会自动为我们加 载好相关配置,然后为我们打开操作界面,那么在这个过程中究竟都发生了什么,如果系统突然起不来 了,那么到底是启动时的哪一部分发生了错误呢,下面,我们就来看看linux中的centos6启动的具体流 程. centos6启动流程大致分为以下这些步骤:     1.加电自检,得到BIOS的硬件信息,获取第一个启动设备 2.读取第一个启动设备MBR的引导加载程序(grub)的启动信息 3.加载核心操作系统的核心

centos7的启动过程

开机启过程 POST->BOOT     SEQUENCE-> BOOTLOADER->KERNEL +     INITRAMFS(INITRD)->ROOTFS->/sbin/init POST:加电自检 当开机按下电源按钮后,计算机开始加电,主板上的BIOS或UEFI基本输入输出程序开始对硬件进行检查,检查内存,CPU等等吧,当检测到错误的时候机器会中断或者启动不了,这个做过电脑维护的人都知道,内存氧化可导至开不了机,还有的机器如果没插鼠标键盘自检也不会通过卡在那里了,

centos7启动过程及systemd祥细说明

开机启过程 POST->BOOT SEQUENCE-> BOOTLOADER->KERNEL + INITRAMFS(INITRD)->ROOTFS->/sbin/init POST:加电自检 当开机按下电源按钮后,计算机开始加电,主板上的BIOS或UEFI基本输入输出程序开始对硬件进行检查,检查内存,CPU等等吧,当检测到错误的时候机器会中断或者启动不了,这个做过电脑维护的人都知道,内存氧化可导至开不了机,还有的机器如果没插鼠标键盘自检也不会通过卡在那里了,不会继续往下走.