• 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系统无法进入引导

  • 相关阅读:
    逻辑学的基本运算
    第一性原理:First principle thinking是什么?
    人类认识的基本技能
    编程的本质:简化+抽象+再现
    区块链
    信号、系统、传递、树
    MVVM
    数据驱动 状态驱动
    事件与状态机 事件驱动编程
    数据一致性举例:登录系统
  • 原文地址:https://www.cnblogs.com/harryblog/p/8076370.html
Copyright © 2020-2023  润新知