第十一单元

 系统恢复技术

1.系统引导过程概述
通电——>进入初始化阶段——>bios 初始化——>grub2 磁盘引导阶段——>grub2 文件引导阶段——> 
指定 boot 所在分区——>启动内核,只读挂在 / 设备启动——>init 程序进入初始化阶段——> 
启动 systemd 初始化进程——>读取 /etc/systemd/中的文件——>启动程序——>启动登陆环境

(1)bios 初始化
基本输入 / 输出系统 ( BIOS ) 是内置于标准 x86/x86-64硬件的固件接口 , 将硬件置于已知状态并准备好系统以加载 操作系统。
1)出现什么情况 ? 
检测并初始化硬件 ;确定从中引导的设备。
2)可能出现了什么错误 ? 
错误或异常 BIOS 设置 ;错误引导设备顺序。
3)可以如何中断或影响 ? 
按特定于供应商的键 ;使用特定于供应商的配置实用程序 ;通常<F12> , 可以执行一次引导顺序覆盖。

(2)grub 磁盘引导阶段
MBR 
– mbr 的作用是为了记录 /boot 目录所在分区位置 
– 磁盘的 0 磁道 1 扇区的前 446 字节 
– dd if=/dev/zero of=/dev/xda bs=446 count=1 
– grub2-install /dev/xda

(3)grub 文件引导阶段
/boot/grub2/grub.cfg 
– 指定 /boot 分区位置 
– 加载内核 
– 启动系统初始化进程 
– grub2-mkconfig

(4)内核引导阶段
*检测硬件设备
*设备驱动初始化
*将 / 只读挂在
*载入初始进程 systemd
*内核文件丢失请重新安装内核

(5)systemd 初始化
*开启 selinux 和 systemd-tools
*加载内核参数加载系统时钟,键盘,主机名称
*读写挂载 / 文件系统
*激活 raid , lvm 设备
*激活系统配额启动 multi-user.target.wants 中的所有服务脚本
*启用虚拟控台
*启动图形

(6)启动级别
*runlever0.target -> poweroff.target
*runlever1.target -> rescue.target
*runlever2.target -> multi-user.target
*runlever3.target -> multi-user.target
*runlever4.target -> multi-user.target
*runlever5.target -> grapical.target
*runlever6.target -> reboot.target

(7)设定启动级别
*systemctl set-default + 启动级别
*/etc/systemd/system/default.target

2.系统恢复过程
(1)mbr(主引导记录)446字节丢失
dd if=/dev/zero  of=/dev/vda  bs=446  count=1                           ##可以清空mbr 
 

重启,系统就会无法被mbr引导正常启动 。如下图所示:
 

设置镜像启动,进入挽救模式,得到一个shell。输入如下命令。
chroot    /mnt/sysimage                                     ##切换到真实的环境
grub2-install   /dev/vda                                      ##重新生成mbr 

按两下ctlr+d或输入两次exit退出,关掉镜像启动,开启硬盘启动,即可正常登陆。

(2)密码忘记,修改root用户密码。
方法:重启,到grub选项菜单,按’e’进入编辑模式。 


找到kernel命令行,并编辑,如下图所示:
编辑前:


编辑后:(即删除掉部分内容,将rc改为rw rd.break)
得到一个shell,如下图所示:


改密码开始:
输入命令:
chroot  /sysroot/
passwd
touch   /.autorelabel
最后执行两次exit退出即可。



(3)grub文件引导阶段文件丢失:
如果/boot/grub2/grub.cfg引导文件丢失,则如下图所示:


执行以下四条命令,系统就会重启,进而就可以进一步进行修复:


进入系统后,在打开的shell中输入以下命令生成缺失的引导文件,即可将系统修复成功:
grub2-mkconfig  >/dev/grub2/grub2/grub.cfg


(4)内核文件丢失:
若系统内核文件丢失,则重启时会如下图所示:


此时,应关机,选择镜像启动。用光标选中下图中偏右侧的表框中的ID CDROM1,并通过右侧的上、下箭头使其置顶:





进入选择界面,通过上下键选中“Troubleshooting”,进入故障排除模式,选中其即变白色,按“enter”键进入下一页:


进入选择界面,通过上下键选中“Rescue Red Hat Enterprise Linux system”,进入拯救红帽企业Linux系统模式,选中其即变白色,按“enter”键进入下一页:


当出现以下界面时遇到“continue”,就选“continue”;遇到“ok”,就选“ok”即可:






接着就会出现一个shell,就执行刚刚提示界面出现的命令,重新安装内核安装包。如下图所示:
chroot  /mnt/sysimage                    ##切换到真实环境
yum  install  kernel  -y                    ##安装内核安装包
 
最后依然是执行两次“exit”退出,接着关掉镜像启动,开启硬盘启动,即可登录。


(5)initramfs-'uname-r'.img文件丢失:
initramfs-'uname-r'.img文件丢失时,便会出现如下图所示界面:


接下来的步骤于内核丢失一样的解决办法,此处不予以重复。当得到一个shell时,执行如下命令:
chroot  /mnt/sysimage/                                                               ##切换到真实环境
cd  /boot/                                                                                       ##进入boot目录
mkinitrdinitramfs-'uname-r'.img  `uname  -r`                           ##内核版本号

按两下ctlr+d或执行两次“exit”命令退出
关掉镜像启动,开启硬盘启动,即可登录。

(6)误删shell文件:
开启镜像启动,进入挽救模式,得到一个shell。因为/bin/bash文件缺失,所以无法使用shell。如下图所示:


执行命令:cp  /bin/bash  /mnt/sysimage/bin/bash

接着执行两次“exit”命令出退,然后
关掉镜像启动,开启硬盘启动,就可以正常登录了。

(7)系统启动级别文件链接错误:
启动级别:
• runlever0.target -> poweroff.target
• runlever1.target -> rescue.target
• runlever2.target -> multi-user.target
• runlever3.target -> multi-user.target
• runlever4.target -> multi-user.target
• runlever5.target -> grapical.target
• runlever6.target -> reboot.target

设定启动级别
• systemctl set-default + 启动级别
• /etc/systemd/system/default.target                       ##系统开机链接文件
当default.target链接到别的级别时,系统无法启动到图形基界面。
default.target  ->  /lib/systemd/system/graphical.target
这里systemctl set-default poweroff.target 使其链接为0级别。 则系统开机就会自动关机。
设置镜像启动,进入挽救模式,得到一个shell。输入如下命令 
chroot  /mnt/sysimage                                        ##切换到真实根环境 
rm  -fr  /etc/systemd/system/default.target 

误删链接文件
ln  -s  /usr/lib/systemd/system/graphical.target etc/systemd/system/default.target        ##建立新的链接文件 

与上同,按两下ctlr+d或输入两次exit退出,关掉镜像启动,开启硬盘启动,就可以正常登陆。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值