系统恢复技术

简介:

第十一单元

系统恢复技术

 系统引导过程概述

通电 -  - > bios初始化 - - > gurb2 磁盘引导阶段 - -  > grub2 文件引导阶段 - - >

指定 boot 所在分区 - - > 启动内核,只读挂在 / 设备 - - > 启动 init 程序进入初始化阶段 - - > 启动 systemd 初始化进程 - - > 读取 /etc/systemd/中的文件 - - > 启动登入环境

 

 grub 磁盘引导阶段

 

 mbr

mbr是主引导记录,在磁盘的 0 磁道 1 扇区的前 446 字节 ,它的作用是为了记录 /boot 目录所在分区位置

 

1) 损坏mbr

如果将mbr的446个字节损坏,则系统无法启动,会一直显示从硬盘读取,无法进入系统

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

wKioL1kJrMHgc14vAADPqb3ppII570.png

报错:

wKiom1kJrNuzNaDkAAAZY2FY84M693.png 

 

2 )恢复

 

grub2-install      /dev/xda

 

先进入虚拟机的救援模式:

让系统从cdroom读取:add  hardware  - - > device  

 wKioL1kJrQ7S3q86AAGGCKI8-ro195.pngtype  选cdrom  device - - > 

wKiom1kJrVXyqU7FAAA30-YyNNc790.png

boot option 将cdrom1移到最上面 - - > apply

wKioL1kJrWrh72-_AADpZm0GF8w751.png

进入后:chroot    /mnt/sysimage/      ###转换到真实的/目录下####

wKiom1kJraHCCPZBAAJF7otXEyw895.png

      grub2-install      /dev/vda

      exit

      exit                         ###退出两次####

wKioL1kJrjHyBKMmAAA3yvUa1Qs169.png

 

 

然后将cdroom移到最后,重新开启即可

 

 

 

 

 grub文件引导阶段

 

/boot/grub2/grub.cfg文件里含有指定 /boot 分区位置,加载内核,启动系统初始化进程。

若是将此文件删除,则系统会启动不了

 wKiom1kJrn3jEyRgAAC1ZTHdyNM620.png

 wKioL1kJrt_gmKKnAAAPPZ8zJkM069.png

解决:在reboot前可以grub2-mkconfig 生成grub2.cfg文件。

若是reboot后,则需要手动引导:

1 指定/boot分区

 

set    root=‘hd0,msdos1’       ###若是vda1,则是hd0,msdos1,若是vdb2,则是hd1,msdos2,若是vdc1则是hd3,msdos1######

 

2 加载内核

linux16    /boot/vmlinuz-3.10.0-123.e17.x86_64   ro   root=/dev/vda1  ###ro指将其只读挂载/

 

3 启动系统初始化进程

 

initrd16 /boot/initramfs-3.10.0-123.e17.x86_64.img

 

4 启动系统

 boot

 

5 执行grub2-mkconfig  > grub.cfg 即可

 wKiom1kJry7BN8GzAAAlPRnkQlA930.png

 

 

 内核引导阶段

 

检测硬件设备

设备驱动初始化

 / 只读挂在

载入初始进程 systemd

内核文件丢失请重新安装内核

 

1 文件内核丢失:

文件内核在/boot下

 wKiom1kJr1PwL58OAACcbNRyyWs709.png

wKioL1kJr5vimqz_AAAOBVFhU3c340.png

2 恢复:先进入救援模式,然后执行以下命令:

    chroot    /mnt/sysimage/              ###转换到/目录下####

    mount    /dev/cdrom      /mnt/        ###挂载镜像###

    cp      /mnt/Package/kernel-3.10.0-123.e17.x86_64.rpm      /root  ###将关于内核的软件包移到/root下#####

    cd     /root/

    rpm2cpio     kernel-3.10.0-123.e17.x86_64.rpm    | cpio  -id     ###将安装包格式转化成cpio格式,并解压成目录#####

    cd    boot/

    cp      vmlinuz-3.10.0-123.e17.x86_64   /boot/   ###将内核文件移到/boot/下####

    exit

    exit              ###两次退出####

 

 

   systemd  初始化

 

开启 selinux 和 systemd-tools

加载内核参数

加载系统时钟,键盘,主机名称

读写挂载 / 文件系统

激活 raid , lvm 设备

激活系统配额

启动 multi-user.target.wants 中的所有服务脚本

启用虚拟控台

启动图形

 

1 删除初始化文件

 wKiom1kJsB6wHUI3AAD1i8lszuk402.png

 wKioL1kJsC_znBfUAAAUy4Zi8I8853.png

2 恢复

先进入救援模式,然后执行以下命令:

chroot      /mnt/sysimage/

mkinitrd    /boot/inittramfs-$(uname  -r).img     $(uname  -r)  ####uname    -r指内核版本,$()指先执行括号内的内容,该命令指生成初始化文件###

exit

exit                    ###两次退出####

  wKiom1kJsEzRRtpuAAAqqPNmArs866.png                        

 

 

3  systemd启动服务的链接出现问题

系统启动时会自行运行其所在target级别相应的目录里所有链接的服务,例:系统开机进入图形界面,是因为default.target -> /lib/systemd/system/graphical.target,如果链接出现问题也会导致系统无法正常启动

wKioL1kJsJeyUxy3AAG98brkMIQ165.png

例:rm    -fr    default.target      ###删除default.target#####

  ln     -s      /usr/lib/systemd/system/poweroff.target  /etc/systemd/system/default.target              ####使/etc/systemd/system/default.target链接到/usr/lib/systemd/system/poweroff.target#####

 

 wKioL1kJsH7zbAsgAACKtDZ16KA625.png

出现的情况:

 wKioL1kJsLWTtoISAAJa-k57lc0806.png

解决办法:

e

 wKiom1kJsNXRi5w6AASCob7ZB1k957.png

 

从内核文件那段结尾开始删除到ro,改成rw   rd.break,按ctrl+x

 

 wKioL1kJsPmge9I4AAAnSfRX-58977.png

 

chroot   /sysroot/                ###转换/###

rm   -fr     /etc/systemd/system/default.target    ###删除原有的链接###

 ln     -s      /usr/lib/systemd/system/graphical.target    /etc/systemd/system/default.target    ###链接到/usr/lib/systemd/system/graphical.target####

exit

exit                      ###两次退出###

 wKiom1kJsR_S0GSlAAAZEW-st4k673.png

 

 

 忘记密码

 

解决方法:

 

e

 

 

从内核文件那段结尾开始删除到ro,改成rw   rd.break,按ctrl+x

 

 

 

chroot   /sysroot/                ###转换/###

passwd                        ###修改密码####

exit

exit                      ###两次退出###

 wKioL1kJsTOREJjtAAAUQX1lLzs851.png














本文转自blueclo51CTO博客,原文链接:http://blog.51cto.com/12774272/1921996 ,如需转载请自行联系原作者



相关文章
|
XML 存储 Cloud Native
Spring Cloud Alibaba 7 天训练营(一)基础知识篇
对文档有任何问题,请在评论区留言!
42514 1
Spring Cloud Alibaba 7 天训练营(一)基础知识篇
|
存储 Shell Linux
【Shell 命令集合 系统管理 】Linux 修改用户的属性和配置 usermod命令 使用指南
【Shell 命令集合 系统管理 】Linux 修改用户的属性和配置 usermod命令 使用指南
326 1
|
前端开发 JavaScript UED
react实现分片打包
react实现分片打包
141 0
|
存储 安全 Linux
玩转Nextcloud:定制云盘,尽显个性!
玩转Nextcloud:定制云盘,尽显个性!
659 0
|
XML 开发框架 JSON
【Azure 应用程序见解】 Application Insights 对App Service的支持问题
【Azure 应用程序见解】 Application Insights 对App Service的支持问题
163 0
|
数据安全/隐私保护
杨老师课堂之Excel VBA 程序开发第八讲使用工作表函数
杨老师课堂之Excel VBA 程序开发第八讲使用工作表函数
144 1
|
安全 编译器 C++
C++类与对象【对象的初始化和清理】
C++类与对象【对象的初始化和清理】
C++类与对象【对象的初始化和清理】
|
JavaScript 前端开发 安全
【软件工程】代码质量综合指南:最佳实践和工具
【软件工程】代码质量综合指南:最佳实践和工具
|
Oracle 关系型数据库 数据库
Oracle 11gR2 中使用expdp导出数据
一:导出前期准备: 1.创建目录对象: CREATE DIRECTORY dump_dir AS ‘c:\dump’; 2.在操作系统上创建相应的目录。
1308 0
|
运维 安全
阿里云无影在福州正式开服
客户可以就近接入,使用无影云电脑,快速构建强安全、免运维、轻资产的云上办公体系。
817 0
阿里云无影在福州正式开服