zoukankan      html  css  js  c++  java
  • RHEL7--linux系统启动流程与故障排除

    一、Linux启动过程

    MBR保存着系统的主引导程序(grub 446字节,分区表64字节),启动过程就是把内核加载到内存。

    启动的顺序:

    1、BIOS;

    2、BIOS激活MBR;

    3、MBR中的引导程序(grub)加载到内存,生成一个微系统(如xfs);

    4、grub 读取分区表,找到引导分区;

    5、grub读取自身的配置文件,找到内核文件

    6、加载内核文件;

    修改系统启动参数的时候,不要直接修改boot/grub2/grub.cfg,因为如果后期更新内核的时候,那么gub.cfg也会自动更新,先 前所做的配置会全部失效,如果要修改,建议修改/etc/default/grub,然后使用grub2-mkconfig命令生效。这个文件是由 /etc/grub.d/00_header文件调用的

    /boot/grub2/grub.cfg会读取/etc/default/grub和/etc/grub.d/ 下面的配置文件

    使用grub2-set-default 命令可以设置系统启动默认的系统

    在/etc/default/grub文件里面的cmdline行添加参数,可以修改内核启动参数

    二、开机时进入Grub编辑模式

    RHCE7认证学习笔记26——系统启动过程与故障排除

    给grub进行加密,不允许其他人在开机时编辑:

    修改/etc/grub.d/00_header文件,在该文件最后添加以下命令:

    如果要使用加密密码,使用grub2-mkpasswd命令生成加密密码:

    然后将加密的密码添加到00_header文件:

    三、系统启动启动不了的情况下几种修复方式

    可以进入以下模式:

    1、救援模式---和RHEL6有不同的意思

    指的是系统只启动必需的服务,只需8个服务,此时系统可正常启动,进入该模式需要root密码;

    进入救援模式,需要编辑grub,系统启动时按e键进入编辑模式,找到以下位置,并在最后面的地方加入single或者s

    RHCE7认证学习笔记26——系统启动过程与故障排除

        2、emergency模式

    该模式只需要更少的服务就可以启动,比救援模式更少,进入该模式也需要root密码

    系统启动时进入编辑模式,在以下行的后面加emergency

    RHCE7认证学习笔记26——系统启动过程与故障排除

    3、root密码忘记了怎么办

    编辑系统的启动文件,加入init=/bin/sh,并且把rhgb 和quit删掉

    RHCE7认证学习笔记26——系统启动过程与故障排除

            启动进入系统,以读写方式重新挂载跟分区/

    使用passwd命令重新修改密码

            在根分区下面创建一个隐藏文件.autorelabel

    执行exec /sbin/init

    4、troubleshooting模式

    进入troubleshooting模式

    chroot /mnt/sysimage

    重新安装grub

    grub2-install /dev/sda

    如果/boot目录下面的文件被删除或者出现问题,需要重新安装boot文件:

    (1)进入troubleshooting模式,重新安装内核文件:

    chroot /mnt/sysimage

    mount /dev/cd/rom

    rpm -ivh /mnt/Packages/kernel-3.10-xxxxx

    (2)在boot目录下面创建grub2目录,进入grub2目录,使用命令grub2-mkconfig -o grub.cfg重新生成grub.cfg文件;

    (3)使用命令grub2-install重新安装grub2下面的其他文件

    如果挂载文件的时候,使用的是分区的UUID,并且在/etc/fstab写入挂载信息,后面又将分区的UUID修改了,但是fstab文件里面的UID没有修改过来,可以进入troubleshooting模式,修改fstab文件

    在/etc/rc.local文件是系统启动时执行的命令

    当/etc/passwd和/etc/shadow文件丢失的时候,无法进入系统,屏幕黑屏,没有任何显示,这时候需要进入troubleshooting模式,chroot /mnt/sysimage,将系统备份的passwd-和shadow-复制还原:

    cp  -a /etc/passwd-  /etc/passwd

    cp -a /etc/shadow-  /etc/shadow

  • 相关阅读:
    jquery.validate.unobtrusive的使用
    企业库判断数据库连接类型
    win10下安装LoadRunner12汉化包
    win10安装LoadRunner时,安装.net framwork组件报0x800F081F错误 解决办法
    wrk性能测试(详解)
    wrk压测报错 LF character expected at 1:111
    Linux scp命令详解(服务器之间复制文件或目录)
    Linux cat命令详解(连接文件并打印到标准输出设备上)
    性能测试流程
    ‘mysql’不是内部或外部命令,也不是可运行的程序--解决方法
  • 原文地址:https://www.cnblogs.com/chenxuf/p/9027575.html
Copyright © 2011-2022 走看看