• Linux启动流程


    一、RHEL6

    RHEL6启动级别:
    1.关机 init 0
    2.单用户模式(文本模式) init 1
    3.多用户模式,无网络(文本模式) init 2
    4.完整多用户模式 (文本模式) init 3
    5.没有被使用 init 4
    6.多用户图形界面 init 5
    6.重启 init 6

    一直重启:
    假设vim /etc/inittab
    id:5:... 将5改为6
    init 6 重启,就会一直重启,则:

    时间倒数时
    一直按e键 再按e 选第二行 按e
    空格
    quiet 5或3
    回车
    b


    vim /etc/inittab
    id:6:... 将6改为5
    :wq保存并退出


    忘记密码:
    时间倒数时
    按e键 再按e 选第二行 按e
    空格
    quiet 1 进入单用户模式下
    回车
    b
    passwd
    root
    123456
    123456
    reboot 重启

    启动流程:
    1>.开机加电自检
    2>.找到GRUB引导器
    3>.选择加载内核或者加载grub
    4>.内核把init导入到内存中开始执行
    5>.读取etc/inittab
    etc/rc.d/rc.sysinit
    etc/fstab
    etc/rd.d/rc.local
    6>.加载/sbin/mingetty

    MBR位于磁盘边缘的一段引导代码
    分为3部分:grub 446节,分区表 64字节,校验位55AA 2字节,一共512字节,一个扇区,每16个字节记录1个分区信息

    分区表记录磁盘如何分区
    grub:系统启动管理器
    cat /boot/grub/grub.conf
    default=0,默认从0开始启动
    timeout=5,倒数5s
    splashimage 启动后调用背景图片
    hiddenmenu 隐藏菜单
    initrd 帮助内核

    内核版本号
    主版本号,次版本号(若为奇数为正在开发的),补丁级数
    显示内核:uname -r


    二、RHEL7

    1、RHEL7的启动级别
    rescue.target
    单用户模式
    和多用户区别在于,不启动如何服务,加载了文件系统
    适用于某服务设置故障,进入此模式修补

    multi-user.target
    多用户模式,文本

    graphical.target
    图形化,和多用户模式没什么区别,就多了图形化驱动

    emergency.target
    救援模式(只挂载/而且只读,不加载/etc/fstab)


    2、级别切换
    在系统内
    systemctl isolate xxx.target

    没进入系统时,按e,到linux16行尾
    进入单用户的其他方法
    按e,到linux16行尾加入s(single),此模式需要密码

    进入救援的方法
    按e,到linux16行尾加入emergency,和单用户基本一样,也需要密码,不加载/etc/fstab

    RHEL6 fsck---ext3 ext4
    RHEL7 xfs_repair 文件系统
    rd.break
    临时中断运行,未加载文件系统,比单用户还要精简
    (也可以用init=/bin/bash init=/bin/sh)

    3、RHEL7启动过程:

    1.开机
    2.找主板BIOS
    检测硬件是否有故障
    找启动介质
    一个特殊的分区--boot分区
    MBR Master Boot Recorder 主引导记录
    512字节
    446字节---Bootloader(GRUB2)
    64字节 ---分区表 一个分区16字节
    2字节 ---校验结束位
    内核保存在 /boot
    通过GRUB2加载内核到内存
    GRUB2实际上是一个微型的OS,此os会识别一些常用的文件系统,
    GRUB2运行时会读取自己的配置文件
    /boot/grub2/grub.cfg
    每个内核条目以menuentry开头
    menuentry包含标题,选项(自己不要修改)
    menuentry后面有一对大括号,其中都是启动项
    启动项以TAB开头
    linux16这行指定内核的位置,根分区的位置,以只读方式挂载根分区
    字符集,键盘布局,语言
    rhgb --- 以图形化方式显示启动过程
    quiet--- 启动过程出现错误,提示

    根都是xfs格式的,xfs需要驱动才能读取,/lib/modules/3.10.0-123.el7.x86_64/kernel/fs/xfs启动的位置

    通过initrd16 将启动相关的驱动和模块解压到内存。

    在RHEL7 grub.cfg不能直接修改,要通过修改/etc/default/grub
    修改启动的配置文件
    修改后用grub2-mkconfig工具生成grub2.cfg
    /etc/grub.d目录在grub2-mkconfig生成配置文件时是需要加载的
    00_header 设置grub的默认参数
    30_os_prober 设置其他分区中的系统(硬盘中有多个操作系统设置
    方法)
    40_custom
    41_custom 用户自己自定义
    10_linux 系统中存在多个linux版本
    20_ppc_terminfo 设置tty控制台

    /boot/grub2/grub.cfg是上面文件的组合

    设置某个内核启动?
    grub2-set-default saved|号码
    (/etc/default/grub)

  • 相关阅读:
    Spring 3.0 发布候选版 3 已经可用!
    NetBeans IDE 6.8 正式版发布!
    250g铜版纸 打印扑克?
    一键安装python
    京东商城副总裁李曦:大数据和电子商务_行业信息化_IT商业新闻网
    9.29的北京-》杭州的票怎么现在网上还没有可以预订呢。。。
    运动服火鸟2代三叶草运动服SWIM CLUB 1976款游泳秋装男款海马淘宝网
    无锡巨人网络科技有限公司简介20120411
    李国庆送的国旗太小了,没动力买东西
    虽然不信god,但是技术上还是算是有信yan的人吧
  • 原文地址:https://www.cnblogs.com/xmdjb/p/10949614.html
Copyright © 2020-2023  润新知