引导过程与服务控制【引导过程详解,MBR扇区故障,GRUB引导故障,root用户密码遗忘的修复】

引导过程与服务控制【引导过程详解,MBR扇区故障,GRUB引导故障,root用户密码遗忘的修复】

文章目录

  • 引导过程与服务控制【引导过程详解,MBR扇区故障,GRUB引导故障,root用户密码遗忘的修复】
    • 一:Linux的引导过程
      • 引导过程总览
      • Systemd 单元类型
      • 运行级别所对应的systemd目标
    • 二:修复MBR扇区故障
    • 实验:模拟MBR扇区故障,然后去进行修复
      • 修复GRUB引导故障
      • 遗忘Root用户密码

一:Linux的引导过程

引导过程总览

CentOS 7引导过程及服务管理

1.1引导过程

Linux操作系统的引导过程:开机自检→MBR引导→GRUB菜单→加载Linux内核与内存文件系统→加载硬盘驱动以及初始化进程。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wVdKJpzp-1592477148268)(C:\Users\liu\AppData\Local\YNote\data\weixinobU7VjjiLb-onZTKVi-VzPH05GQQ\5bf7ba7fbe894074a445e44b0612f56c\clipboard.png)]

1.2启动详解

①.开机自检

​ 服务器主机开机以后,将根据主板BIOS中的设置对CPU、内存、显卡、键盘等设备进行初步检测,检测成功后根据预设的启动顺序移交系统控制权,大多数时候会移交给本机硬盘。

②. MBR 引导

​ 当从本机硬盘中启动系统时,首先根据硬盘第1个扇区中MBR(Master Boot Record主引导记录)的设置,将系统控制权传递给包含操作系统引导文件的分区;或者直接根据MBR记录中的引导信息调用启动菜单(GRUB) 。

③. GRUM菜单

​ 对于Linux系统来说,GRUB算是使用最为广泛的多系统引导器程序了。系统控制权传递给GRUB以后,将会显示启动菜单提供给用户选择,并根据所选项(或采用默认值)加载Linux内核文件,然后将系统控制权转交给内核。

④.加裁Linux内核

​ Linux内核是一个预先编译好的特殊二进制文件,介于各种硬件资源与系统程序之间,负责资源分配与调度。内核接过系统控制权以后,将完全掌控整个Linux操作系统的运行过程。

⑤.INIT进程初始化

​ 为了完成进一步的系统引导过程,Linux内核首先将系统中的“/sbin/init”程序加载到内存中运行(运行中的程序称为进程) ,init进程负责完成一系列的系统初始化过程

⑥init进程

​ 与使用数字标记用户账号、组账号类似,Linux系统中的进程(运行中的程序)也使用数字进行标记,每个进程的身份标记号称为PID。在引导Linux系统的过程中,init进程是系统中第一个进程,PID(进程标记)号永远为1

​ init进程运行以后将陆续执行系统中的其他程序,不断生成新的进程,这些进程称为init进程的子进程,反过来说init进程是这些进程的父进程。当然,这些子进程也可以进一步生成各自的子进程,依次不断繁衍下去,最终构成一棵枝繁叶茂的进程树,共同为用户提供服务。

​ 从以上描述可以看出,init进程正是维持整个Linux系统运行的所有进程的"始祖",因此init进程是不允许被轻易终止的。需要切换不同的系统运行状态时,可以向init进程发送正确的执行参数,由init自身来完成相关操作。

1.3 Systemd 概述
Systemd是Linux操作系统的一-种init 软件,CentOS 7系统中采用了全新的Systemd
启动方式,取代了传统的SysVinit。Systemd启动方式使系统初始化时诸多服务并行启动,.
大大提高了开机效率。CentOS 7系统中“/sbin/init是“/lib/systemd/systemd"的链接文件。换.
言之,CentOS 7系统中运行的第一个init 进程是“/lib/systemd/systemd"。systemd 守护进
程负责Linux的系统和服务,systemctl 用于控制Systemd管理的系统和服务状态。
Systemd将其管理的资源组织成各种类型的单元(Unit)

Systemd 单元类型

systemctl命令用于管理各种类型的systemd单元,以下列出最常见的单元.

引导过程与服务控制【引导过程详解,MBR扇区故障,GRUB引导故障,root用户密码遗忘的修复】_第1张图片

运行级别所对应的systemd目标

大家都知道Windows有安全模式,它是Windows的最小模式,和普通模式相比,安全模可以让用户更好地进行系统检测以及错误修复。Linux的运行级别是个类似的机制,不同的运行级别有不同的作用.

引导过程与服务控制【引导过程详解,MBR扇区故障,GRUB引导故障,root用户密码遗忘的修复】_第2张图片

我们通常使用的是级别是3(多用户字符模式)和5(多用户图形界面模式),它们分别对应的目标是multi-use.target和graphical.target。

二:修复MBR扇区故障

引导过程与服务控制【引导过程详解,MBR扇区故障,GRUB引导故障,root用户密码遗忘的修复】_第3张图片

实验:模拟MBR扇区故障,然后去进行修复

思路:

修复MBR(另一种是GPT)扇区故障

一个扇区512字节

MBR中存有文件元信息(属性,位置)还有系统的引导文件;文件数据信息(具体内容)存放在磁盘的别的位置

步骤:

打开虚拟机我们添加一块100G的磁盘,做好备份,挂载,格式化,挂载

引导过程与服务控制【引导过程详解,MBR扇区故障,GRUB引导故障,root用户密码遗忘的修复】_第4张图片

[root@localhost ~]# init 6   进行重启
[root@localhost ~]# fdisk -l 列出磁盘列表
磁盘 /dev/sdb:107.4 GB, 107374182400 字节,209715200 个扇区    ##sdb是刚刚新加的100G磁盘
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/sda:322.1 GB, 322122547200 字节,629145600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000a0b1b

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200   629145599   313523200   8e  Linux LVM

磁盘 /dev/mapper/centos-root:57.9 GB, 57852035072 字节,112992256 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/mapper/centos-home:263.2 GB, 263192576000 字节,514048000 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
mkfs -t ext4 /dev/sdb   ###格式化sdb
[root@localhost boot]# mkfs -t ext4 /dev/sdb
mke2fs 1.42.9 (28-Dec-2013)
/dev/sdb is entire device, not just one partition!
无论如何也要继续? (y,n) y       ####这边确定y
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
6553600 inodes, 26214400 blocks
1310720 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2174746624
800 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000, 7962624, 11239424, 20480000, 23887872

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成   
[root@localhost boot]# mount /dev/sdb /opt    ###挂载到opt
[root@localhost boot]# df -Th     ###查看挂载
文件系统                类型      容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root xfs        54G  4.1G   50G    8% /
devtmpfs                devtmpfs  1.9G     0  1.9G    0% /dev
tmpfs                   tmpfs     1.9G     0  1.9G    0% /dev/shm
tmpfs                   tmpfs     1.9G   13M  1.9G    1% /run
tmpfs                   tmpfs     1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  179M  836M   18% /boot
/dev/mapper/centos-home xfs       245G   33M  245G    1% /home
tmpfs                   tmpfs     378M  4.0K  378M    1% /run/user/42
tmpfs                   tmpfs     378M   32K  378M    1% /run/user/0
/dev/sr0                iso9660   4.3G  4.3G     0  100% /run/media/root/CentOS 7 x86_64
/dev/sdb                ext4       99G   61M   94G    1% /opt

[root@localhost boot]# dd if=/dev/sda of=/opt/mbr.bak bs=512 count=1 ##备份MBR扇区故障
记录了1+0 的读入
记录了1+0 的写出
512字节(512 B)已复制,0.00013523 秒,3.8 MB/秒
[root@localhost boot]# dd if=/dev/sda of=/opt/mbr.bak bs=512 count=1  模拟MBR扇区故障数据
记录了1+0 的读入
记录了1+0 的写出
512字节(512 B)已复制,0.00013523 秒,3.8 MB/秒
[root@localhost boot]# dd if=/dev/zero of=/dev/sda bs=512 count=1
记录了1+0 的读入
记录了1+0 的写出
512字节(512 B)已复制,0.000186754 秒,2.7 MB/秒

引导过程与服务控制【引导过程详解,MBR扇区故障,GRUB引导故障,root用户密码遗忘的修复】_第5张图片

[root@localhost ~]# init 6

引导过程与服务控制【引导过程详解,MBR扇区故障,GRUB引导故障,root用户密码遗忘的修复】_第6张图片

上面就是模拟MBP扇区故障

光盘引导→进入急救模式→提示操作→从备份文件中恢复MBR散区

引导过程与服务控制【引导过程详解,MBR扇区故障,GRUB引导故障,root用户密码遗忘的修复】_第7张图片

init 6重启

装入光盘,在光盘引导界面选择troubleshooting 进入急救模式

引导过程与服务控制【引导过程详解,MBR扇区故障,GRUB引导故障,root用户密码遗忘的修复】_第8张图片

选择第二个,进入救援系统

引导过程与服务控制【引导过程详解,MBR扇区故障,GRUB引导故障,root用户密码遗忘的修复】_第9张图片

引导过程与服务控制【引导过程详解,MBR扇区故障,GRUB引导故障,root用户密码遗忘的修复】_第10张图片

引导过程与服务控制【引导过程详解,MBR扇区故障,GRUB引导故障,root用户密码遗忘的修复】_第11张图片

mark

引导过程与服务控制【引导过程详解,MBR扇区故障,GRUB引导故障,root用户密码遗忘的修复】_第12张图片

修复GRUB引导故障

image-20200618174126265

问题2:centos 7.4进入系统测试

[root@localhost /]# cd /boot/grub2  ##进入grup 2
[root@localhost grub2]# mv grub.cfg grub.cfg.bak 修改grub2.cfg 模拟故障
[root@localhost grub2]# init 6   重启

引导过程与服务控制【引导过程详解,MBR扇区故障,GRUB引导故障,root用户密码遗忘的修复】_第13张图片

3.grub故障修复

1.虚拟机打开设置把光盘连接勾选一下

引导过程与服务控制【引导过程详解,MBR扇区故障,GRUB引导故障,root用户密码遗忘的修复】_第14张图片

2.启动虚拟机界面,点击F2进入bols设置CD启动项

引导过程与服务控制【引导过程详解,MBR扇区故障,GRUB引导故障,root用户密码遗忘的修复】_第15张图片

引导过程与服务控制【引导过程详解,MBR扇区故障,GRUB引导故障,root用户密码遗忘的修复】_第16张图片

引导过程与服务控制【引导过程详解,MBR扇区故障,GRUB引导故障,root用户密码遗忘的修复】_第17张图片

引导过程与服务控制【引导过程详解,MBR扇区故障,GRUB引导故障,root用户密码遗忘的修复】_第18张图片

引导过程与服务控制【引导过程详解,MBR扇区故障,GRUB引导故障,root用户密码遗忘的修复】_第19张图片

引导过程与服务控制【引导过程详解,MBR扇区故障,GRUB引导故障,root用户密码遗忘的修复】_第20张图片

重启
exit 
reboot		###主要改启动项,否认还是进光盘模式

3.修改启动项

引导过程与服务控制【引导过程详解,MBR扇区故障,GRUB引导故障,root用户密码遗忘的修复】_第21张图片

恢复成功

引导过程与服务控制【引导过程详解,MBR扇区故障,GRUB引导故障,root用户密码遗忘的修复】_第22张图片

遗忘Root用户密码

引导过程与服务控制【引导过程详解,MBR扇区故障,GRUB引导故障,root用户密码遗忘的修复】_第23张图片

修复过程实验

.装入光盘,在光盘引导界面选择troubleshooting:

2、进入troubleshooting菜单 选择Rescue a centos system

3、进入引导可以按回车,或者等待
按1 在按会车进入sh-4.2#

4.进入救援模式后切根
chroot /mnt/sysimage/

5、修改密码
passwd root
输入密码:Abc123 ###第一次
输入密码:Abc123 ###第二次

6、重启
exit
reboot ###主要改启动项,否认还是进光盘模式

引导过程与服务控制【引导过程详解,MBR扇区故障,GRUB引导故障,root用户密码遗忘的修复】_第24张图片

验证

登录:root

密码:。。。。。

引导过程与服务控制【引导过程详解,MBR扇区故障,GRUB引导故障,root用户密码遗忘的修复】_第25张图片

3、进入引导可以按回车,或者等待
按1 在按会车进入sh-4.2#

4.进入救援模式后切根
chroot /mnt/sysimage/

5、修改密码
passwd root
输入密码:Abc123 ###第一次
输入密码:Abc123 ###第二次

6、重启
exit
reboot ###主要改启动项,否认还是进光盘模式

[外链图片转存中…(img-wXJPuIt2-1592477148281)]

验证

登录:root

密码:。。。。。

引导过程与服务控制【引导过程详解,MBR扇区故障,GRUB引导故障,root用户密码遗忘的修复】_第26张图片

本次实验结束

你可能感兴趣的:(linux)