Centos系统启动流程

Centos系统启动流程

  本节内容

  • 内核设计模型简介
  • Centos系统启动流程
  • grub和ramdis配置与安装
  • checkconfig脚本
  • init程序
  • systemd

一 内核设计模型简介

 在内核设计体系中分为两种

 (1)单内核设计:把所有功能集成于同一程序

 (2)微内核设计:每种功能使用一个单独的系统实现

那么linux系统中使用的是单内核设计,但是linux内核的特点就是支持内核模块化以及动态装载和卸载内核

Linux 内核组成部分

  核心文件:/boot/vmlinuz-VERSION-relsefs

  模块文件:/lib/modules/vmlinuz-VERSION-relsefs

二  Cetnos系统启动流程

 

1  POST加点自检:计算机在电源启动后会通过COMS程序对硬件进行检查

2  BootSequence:根据BIOS的设置,按需加载启动时用到的设备

3  BootLoder:提供一个菜单供用户选择并加载用户所选定的内核至内存展开,随后将系统引导权交至内核。

   MBR:存放在硬盘最前面的一个扇区,总共512字节,前446字节存放MBR, 后64字节存放分区表,最后2个字节表示BootLoader是否有效

   Linux中使用的BootLoader:Centos6 以下版本使用的是Grub 0.X   Centos7所使用的为Grub1.X 

4 内核初始化:

  (1) 探测可识别的所有硬件

  (2) 加载硬件驱动(有可能需要rmdisk进行加载)

  (3) 只读挂载根文件系统

  (4) 如果硬件驱动是由rmdisk加载还需切换根文件系统

  (5)启动用户空间的第一个进程/sbin/init

5 设置运行默认级别

  在centos系统中5, 6,7 的init程序各部相同,这里暂以centos5为例。在Cetnos5中使用的init程序为SysV,主配置文件在/etc/inittab并定义了7中运行级别

       运行级别:为了系统的运行或维护的目的而设定的机制


      0:表示关机
        1:单用户模式,root用户,无需认证
        2:多用户模式,会启动网络功能,但不会启动NFS,维护模式
        3:多用户模式,完全功能模式
        4:预留级别,目前无特别使用目的,同3级别对待
        5:带有图形界面的多用户模式
        6:重启模式

三 grub的配置与安装 

  grub全称GRand Unified BootLoader,是linux系统中的一种BootLoader引导加载程序,可以用于选择系统中不同的内核或者向内核传递参数。grub程序分为三个阶段,第一阶段存储在MBR中,中间隐藏1.5阶段在mbr之后的扇区,目的是让stage1中的BootLoader能够识别stage2所在分区上的文件系统。第二阶段则保存在/boot/grub下

1 如何进入grub编辑模式以及编辑模式的命令

进入到grub界面后按‘c’键可进入编辑模式

(1)命令模式下的常用命令:

    help:获取帮助列表
    help KEYWORD:详细帮助信息
    find (hd#,#)/PATH/TO/SOMEFILE:定位某文件是否存在
    root (hd#,#)将某一个设备设置为根
    kernel /PATH/TO/KERNEL_FILE: 内核文件路径,本次启动时用到的内核文件:额外还可以添加许多内核支持的cmdline参数。 例如:init=/path/to/init, selinux=0
    initrd /PATH/TO/INITRAMFS_FILE:设定为选定的内核提供额外文件的ramdisk
    boot:引导启动选定的内核

(2)在命令模式下启动

     grub> root (hd#,#)
     grub> kernel /vmlinuz-VERSION-RELEASE ro root=/dev/DEVICE
     grub> initrd   /initramfs-VERSION-RELEASE.img
     grub> boot

2  grub的配置文件

grub的配置文件保存在/boot/grub/grub.conf下

  配置项:
      default=#:设定默认启动的菜单项,落单项(title)编号从0开始
      timeout=#:指定菜单项等待选项选择的时长 
      splashimage=(hd#,#)/PATH/TO/XPM_PIC_FILE:指定菜单背景图片路径
      hiddenmenu:隐藏菜单
      password [--md5] STRING:菜单编辑认证
      title TITLE:定义菜单项“标题” , 可出现多次
           root (hd#,#):grub 查找stage2及kernel文件所在的设备分区,为grub根
           kernel  /PATH/TO/VMLINUZ_FILE  [PARAMENTS]: 启动的内核
           initrd   /PATH/TO/INITRAMFS_FILE:内核匹配的ramfs文件
           passwd [--md5] STRING:启动选定的内核或操作系统时认证

 3 grub损坏后的安装方法

第一种方法直接使用grub-install命令  grub-install --root-directory=/      /dev/sda    注意root为boot目录所在根

第二种方法先使用 dd if=/dev/zero of=/dev/sda count=1 bs=226  破坏掉了MBR系统无法进入引导

原文地址:https://www.cnblogs.com/harryblog/p/8076370.html