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编辑模式
给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系统启动流程与故障排除的更多相关文章
- 学习笔记:CentOS7学习之十八:Linux系统启动原理及故障排除
目录 学习笔记:CentOS7学习之十八:Linux系统启动原理及故障排除 18.1 centos6系统启动过程及相关配置文件 18.1.1 centos6系统启动过程 18.1.2 centos6启 ...
- linux基础-附件1 linux系统启动流程
附件1 linux系统启动流程 最初始阶段当我们打开计算机电源,计算机会自动从主板的BIOS(Basic Input/Output System)读取其中所存储的程序.这一程序通常知道一些直接连接在主 ...
- Linux系统启动流程及安装命令行版本
Debian安装 之前也安装过很多次linux不同版本的系统,但安装后都是直接带有桌面开发环境的版本,直接可以使用,正好最近项目不是很忙,想一直了解下Linux的整个启动流程,以及如何从命令行模式系统 ...
- 【转载】Linux系统启动流程
原文:Linux系统启动流程 POST(Power On Self Test/上电自检)-->BootLoader(MBR)-->Kernel(硬件探测.加载驱动.挂载根文件系统./sbi ...
- Linux系统启动流程及grub重建(1)
日志系统 Linux系统启动流程 PC: OS(Linux) POST-->BIOS(Boot Sequence)-->MBR(bootloader,446)-->Kernel--& ...
- Linux 入门记录:十八、Linux 系统启动流程 + 单用户修改 root 密码 + GRUB 加密
一.系统启动流程 一般来说,Linux 系统的启动流程是这样的: 1. 开机之后,位于计算机主板 ROM 芯片上的 BIOS 被最先读取,在进行硬件和内存的校验以及 CPU 的自检没有异常后, BIO ...
- Linux系统启动流程(重要!)
Linux系统启动流程 从上至下为: BIOS MBR:Boot Code 执行引导程序-GRUB(操作系统) 加载内核 执行init run level 1.BIOS(Basic Input ...
- Linux系统启动流程分析
作者:郭孝星 微博:郭孝星的新浪微博 邮箱:allenwells@163.com 博客:http://blog.csdn.net/allenwells Github:https://github.co ...
- linux 系统启动流程
原著资料网址:http://wenku.baidu.com/view/414127fdf705cc1755270997.html (版权归原作者所有) Linux系统的启动分5个阶段,每个阶段都完成不 ...
随机推荐
- 【linux set命令】shell bash 打印执行的命令
在文件开头加上 set -x 可以打印执行的命令,可以用于调试 set 命令使用方法 https://www.jianshu.com/p/ea406382be3e
- sass,less的安装及sass的教程
装scss(window) 首相安装ruby http://www.sasschina.com/install/ scss转译css http://www.cnblogs.com/52css/arch ...
- 【Espruino】NO.07 获取电压值
http://blog.csdn.net/qwert1213131/article/details/27985645 本文属于个人理解,能力有限,纰漏在所难免.还望指正! [小鱼有点电] 前几节的内容 ...
- 通过反射,获取linkedHashMap的最后一个键值对。对map按照值进行排序。
1:通过反射,获取linkedHashMap的最后一个键值对. Map<Integer, Integer> map = new LinkedHashMap<>(); Field ...
- [vue]vue-book
我们打算要做这几个模块 首页 列表 收藏 添加 home.vue --> list.vue -->app.vue --> main.js 安装环境 npm i vue-cli -g ...
- modelform和modelserializer
modelform modelform比form强悍很多
- 【Rewrite重定向】Nginx使用rewrite重新定向
使用nginx做重新定向. nginx参考网址:http://blog.sina.com.cn/s/blog_97688f8e0100zws5.html 语法规则: location [=|~|~*| ...
- ModelSim使用$display查看变量值和输出信息
打开ModelSim,新建工程->新建Verilog文件demo.v 输入文件内容 module demo(); reg[3:0] a,b; initial begin $display(&qu ...
- uva10905
/* 很好的字符串 比较方法 很多个字符串 组成的 数字 需要最大 然后 比较 a和b 是 比较a+b 和b+a 的大小 */ #include<cstdio> #include<s ...
- jquery ajax基本用法
<script src="http://libs.baidu.com/jquery/2.1.1/jquery.min.js"></script> <s ...