一、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编辑模式

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

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

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

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

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

可以进入以下模式:

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

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

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

2、emergency模式

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

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

3、root密码忘记了怎么办

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

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

使用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

RHEL7--linux系统启动流程与故障排除的更多相关文章

  1. 学习笔记:CentOS7学习之十八:Linux系统启动原理及故障排除

    目录 学习笔记:CentOS7学习之十八:Linux系统启动原理及故障排除 18.1 centos6系统启动过程及相关配置文件 18.1.1 centos6系统启动过程 18.1.2 centos6启 ...

  2. linux基础-附件1 linux系统启动流程

    附件1 linux系统启动流程 最初始阶段当我们打开计算机电源,计算机会自动从主板的BIOS(Basic Input/Output System)读取其中所存储的程序.这一程序通常知道一些直接连接在主 ...

  3. Linux系统启动流程及安装命令行版本

    Debian安装 之前也安装过很多次linux不同版本的系统,但安装后都是直接带有桌面开发环境的版本,直接可以使用,正好最近项目不是很忙,想一直了解下Linux的整个启动流程,以及如何从命令行模式系统 ...

  4. 【转载】Linux系统启动流程

    原文:Linux系统启动流程 POST(Power On Self Test/上电自检)-->BootLoader(MBR)-->Kernel(硬件探测.加载驱动.挂载根文件系统./sbi ...

  5. Linux系统启动流程及grub重建(1)

    日志系统 Linux系统启动流程 PC: OS(Linux) POST-->BIOS(Boot Sequence)-->MBR(bootloader,446)-->Kernel--& ...

  6. Linux 入门记录:十八、Linux 系统启动流程 + 单用户修改 root 密码 + GRUB 加密

    一.系统启动流程 一般来说,Linux 系统的启动流程是这样的: 1. 开机之后,位于计算机主板 ROM 芯片上的 BIOS 被最先读取,在进行硬件和内存的校验以及 CPU 的自检没有异常后, BIO ...

  7. Linux系统启动流程(重要!)

    Linux系统启动流程   从上至下为: BIOS  MBR:Boot Code 执行引导程序-GRUB(操作系统) 加载内核 执行init run level 1.BIOS(Basic Input ...

  8. Linux系统启动流程分析

    作者:郭孝星 微博:郭孝星的新浪微博 邮箱:allenwells@163.com 博客:http://blog.csdn.net/allenwells Github:https://github.co ...

  9. linux 系统启动流程

    原著资料网址:http://wenku.baidu.com/view/414127fdf705cc1755270997.html (版权归原作者所有) Linux系统的启动分5个阶段,每个阶段都完成不 ...

随机推荐

  1. PULL解析学习

    学习过程   安卓中有三种对XML解析的方式,这个众所周知,DOM,SAX,PULL 其中被推荐的方法是PULL,说是非常简单,但从一开始接触就觉得比较迷惑,总是云里雾里的感觉,甚至在自己写出了一个能 ...

  2. MySQL check table/optimize table/analyze table/REPAIR TABLE

    MySQL check table/optimize table/analyze table/REPAIR TABLE 转自:https://www.cnblogs.com/datastack/p/3 ...

  3. python2与python3之间的主要区别

    python2与python3之间的主要区别 print py2:print语句,语句就意味着可以直接跟要打印的东西,如果后面接的是一个元组对象,直接打印 py3:print函数,函数就以为这必须要加 ...

  4. thinkpad X1 extreme 安装Ubuntu 18.04.2 LTS

    1.安装的时候需要禁用:nouveau.modeset=0 2.安装完成之后需要添加:acpi=off ,ro后面加上3,直接进入终端 3.启动之后:安装nvdia驱动 $ ubuntu-driver ...

  5. hiredis(Synchronous API)

    hiredis是一个小型的client端的c库.它只增加了最小对协议的支持,同时它用一个高级别的printf-alike API为了绑定各种redis命令.除了支持发送和接收命令,它还支持对流的解析. ...

  6. jpress-配合nginx与tomcat安装

    目录 1. 前言 2. yum安装tomcat 2. yum安装MySQL 3. 下载JPress并安装 4. 配置tomcat使其可以部署多个网站 5. 安装nginx并配置 6. 将已经安装好的j ...

  7. iOS开发--UILabel根据内容自动调整高度

    写法一:对象方法,传入:字体/最大尺寸. 即可得到宽高, 最大尺寸主要限制宽度,如果是一行就给个{MAXFLOAT,MAXFLOAT};如果是多行就限制X值,Y值随便给 - (CGSize)sizeW ...

  8. unity3d-编辑器结构

    1.Porject视图 Project视图主要存放游戏中用到的所有资源文件,常见的资源包括: 游戏脚本.预设.材质.动画.自定义字体.纹理.物理材质和GUI皮肤.这些资源需要 赋予Hierarchy视 ...

  9. 下载YouTube视频的方法

    这个网站就可以: http://www.clipconverter.cc/ 更多的网站及介绍参考知乎:http://www.zhihu.com/question/19964181

  10. JSP—内置对象

    JSP内置对象是Web容器创建的一组对象,不用声明,直接使用 out 输出对象 类型 javax.servlet.jsp.JspWriter 作用域 Page request 请求对象 类型 java ...