linux云自动化运维基础知识22(系统恢复)

简介:

系统引导过程概述:

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




系统启动流程:

一.通电

bios(主板上的只读存储中,basic input or output system)
作用:硬件检测,激活硬件

二.grub系统引导(grub引导分为两个阶段)

  1. 阶段1 mbr(主引导记录)

    主引导记录在硬盘上的0磁道,一扇区,446个字节
    dd if=/dev/zero of=/dev/vda bs=446 count=1 可以清空mbr
    进入到挽救模式,执行chroot /mnt/sysimage切换到真实/环境,
       并执行grub2-install /dev/vda

实验:mbr主引导分区损坏后修复方法

(1)实验之前首先要关闭selinux。 

1
vim  /etc/sysconfig/selinux

wKioL1mJrGugtNYHAAC-OLrA88A741.png

如图将其改为disable,然后重新启动系统

(2)破坏掉mbr主引导分区

1
dd  if = /dev/zero  of= /dev/vda  bs=446 count=1

wKiom1mJra7DmcVlAAALVHIOjL8546.png

重新启动系统后发现无法启动

wKiom1mJrheA0MggAAALAoh3T-Y339.png

(3)设置光驱启动进入救援模式

wKiom1mJrlvARwS_AACG_7pv7cY418.png

wKioL1mJrlzyB9D1AAATWQRIDm0038.png

wKioL1mJrlzCLD6RAAAYqHZtcIY699.png

wKiom1mJrlyD5tOtAAAeKxVY1aw410.png

(4)如上图输入1回车后会得到一个shell,此时执行df命令查看自己系统的根分区,然后执行

1
chroot  /mnt/sysimage/

转换根分区,此时便切换到了真实的根环境,然后执行

1
grub2- install  /dev/vda

重新恢复mbr分区,接着exit两次退出,关闭虚拟机之后将启动调回硬盘启动,开机后便可正常启动。

wKioL1mJr_3CDakjAABCvCTfKJA873.png

wKiom1mJr_2hSoEEAABFqke7HXY232.png

2.阶段2 grub文件引导阶段
   找到/boot分区
   读取/boot/grub2/grub.cfg
   文件丢失,grub2-mkconfig >/boot/grub2/grub.cfg

实验:grub文件损坏后修复方法

(1)实验之前执行df命令查看自己的根分区和boot分区

wKiom1mJtdrxxULnAAAXUaGfOYE985.png

 (2)删除grub文件引导

1
rm  -fr  /boot/grub2/grub .cfg

(3)重新启动发现无法启动

wKiom1mJtgDQT_AnAAAdN3-ZHxU788.png

(4)手动输入引导文件

1
set  root=‘hd0,msdos1’     boot分区所在的位置
1
linux16  /vmlinuz-3 .10.0-327.el7.x86_64 ro root= /dev/vda3  根分区所在的位置
1
initrd16  /initramfs-3 .10.0-327.el7.x86_64.img  执行
1
boot  启动

wKiom1mJtiOT-ONZAAAxiSGKo4Q862.png

此时可以开机,但是这是手动引导,为临时生效,开机后应该恢复/boot/grub2/grub.cfg文件

1
grub2-mkconfig >  /boot/grub2/grub .cfg

wKioL1mJtjfCBUA4AAAxiSGKo4Q949.png

恢复文件之后系统就成功复原了。


三.启动内核,只读挂载/设备
检测设备
对设备驱动进行初始化
进入系统初始化阶段
内核丢失,从新安装内核安装包就可以解决
rpm -ivh kernel-xxxxx.rpm --force

实验:内核文件丢失后修复

(1)首先查看启动需要哪些文件

1
ls  /boot       查看启动分区的文件

(2)将内核文件删除后重新启动

1
rm  -fr  /boot/vmlinuz-3 .10.0-327.el7.x86_64    删除内核文件
1
reboot

wKiom1mJy_HTUZ4PAAAHUQlwb8w763.png

(3)重新启动后发现无法正常开机,提示缺少内核文件

wKiom1mJzAvTU6pqAAAKDq5Lf_o504.png

(4)设置光驱启动,进入救援模式,执行df命令可以看到此时自己真实系统的根目录为/mnt/sysimage,而此处显示的根为iso镜像的根。

(5)分解iso镜像中的内核包,并将内核文件拷贝到/mnt/sysimage/boot/

1
rpm2cpio  /run/install/repo/Packages/kernel-3 .10.0-327.el7.x86_64.rpm |cpio - id
1
cp  /boot/vmlinuz-3 .10.0-327.el7.x86_64  /mnt/sysimage/boot/

wKioL1mJzDfSbJoyAAAhjSgibMU845.png

wKiom1mJzDiycAyaAAA5dNSrsxA003.png

(6)exit 并且设置硬盘启动,重新启动。修复完成进入系统

wKiom1mJzEuh__21AAAWzAK1Apc130.png

四.系统初始化阶段

系统初始化阶段加载initrd镜像
开启初始化进程systemd
开始selinux
加载内核参数
初始化系统时钟,键盘,主机名称
重新读写挂载/设备
激活raid,lvm
激活配额
启动multi-user.target.wants中的所有服务
开启虚拟控制台
启动图形

initramfs-`uname -r`.img丢失用:     mkinitrd initramfs-`uname -r`.img `uname -r`    恢复

实验:系统初始化加载initrd镜像损坏后恢复

(1)删除initrd镜像文件initramfs-3.10.0-327.x86_64.img

1
rm  -fr  /boot/initramfs-3 .10.0-327.x86_64.img   删除initrd镜像文件

wKiom1mJ0wmDYme-AAAHPW6Y1fU161.png

(2)重新启动发现无法进入系统

wKioL1mJ0yOTbarWAAAG_HkjO9w574.png

(3)设置光驱启动,进入救援模式,执行chroot  /mnt/sysimage 切换到真实的根环境

wKiom1mJ0z2BuMPOAAAZ8yDAfHk983.png

wKioL1mJ0z2hyatUAAApD_1vK78197.png

(4)mkinitrd   /boot/initramfs-$(uname -r).img  $(uname -r)

 (5)ls   /boot/查看文件是否恢复,exit两次后设置硬盘启动,系统恢复正常

wKioL1mJ016Cnh2PAAAIOHDhMhs934.png


本文转自 lulu2017 51CTO博客,原文链接:http://blog.51cto.com/13132425/1954643


相关文章
|
7天前
|
Ubuntu 安全 Linux
《Linux 简易速速上手小册》第1章: Linux 系统基础(2024 最新版)
《Linux 简易速速上手小册》第1章: Linux 系统基础(2024 最新版)
41 1
|
14天前
|
资源调度 JavaScript 搜索推荐
Linux系统之部署envlinks极简个人导航页
【4月更文挑战第11天】Linux系统之部署envlinks极简个人导航页
54 2
|
17天前
|
缓存 Linux 测试技术
安装【银河麒麟V10】linux系统--并挂载镜像
安装【银河麒麟V10】linux系统--并挂载镜像
90 0
|
17天前
|
监控 Unix Linux
Linux操作系统调优相关工具(四)查看Network运行状态 和系统整体运行状态
Linux操作系统调优相关工具(四)查看Network运行状态 和系统整体运行状态
31 0
|
15天前
|
存储 算法 Linux
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
39 6
|
2天前
|
Ubuntu Linux
Linux(Ubuntu)系统临时IP以及静态IP配置(关闭、启动网卡等操作)
请注意,以上步骤是在临时基础上进行配置的。如果要永久保存静态IP地址,通常还需要修改 `/etc/network/interfaces`文件,以便在系统重启后保持配置。同时,确保备份相关配置文件以防止出现问题。
13 1
|
2天前
|
Linux 数据安全/隐私保护
Linux系统忘记密码的三种解决办法
这篇博客介绍了三种在Linux忘记密码时重置登录密码的方法:1) 使用恢复模式,通过控制台界面以管理员权限更改密码;2) 利用Linux Live CD/USB启动,挂载硬盘分区并使用终端更改密码;3) 进入单用户模式,自动以管理员身份登录后重置密码。每个方法都提供了详细步骤,提醒用户在操作前备份重要数据。
|
2天前
|
JSON Unix Linux
Linux系统之jq工具的基本使用
Linux系统之jq工具的基本使用
30 2
|
2天前
|
数据采集 监控 安全
linux系统被×××后处理经历
linux系统被×××后处理经历
|
3天前
|
监控 安全 Linux
Linux系统之安装ServerBee服务器监控工具
【4月更文挑战第22天】Linux系统之安装ServerBee服务器监控工具
41 2

热门文章

最新文章