首页 > 代码库 > Linux的系统恢复

Linux的系统恢复

系统引导过程概述
 技术分享


1.系统启动流程 

通电
 
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

 主引导分区mrb损坏

查看boot分区

技术分享

技术分享

关闭selinux

技术分享

技术分享

选择救援模式

技术分享

技术分享

技术分享

进入到真实目录,安装系统引导grub2

技术分享

安装完成后调回硬盘启动

技术分享

修复完成,可以正常启动

技术分享



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

引导文件grub损坏

查看/目录分区是vda3

技术分享


删除引导文件

技术分享

开机后手动输入引导文件

set root=‘hd0,msdos1‘ 根目录

linux16 /vmlinuz-3.10.0-327.e17.x86_64 ro root=/dev/vdb3 内核文件

initrd16 /initramfs-3.10.0-327.e17.x86_64.img 开机启动服务

boot 启动

技术分享

利用grub2-mfconfig修复grub.cfg文件

技术分享

进入系统后查看/boot/grub2/grub.cfg引导文件已经复原修复

技术分享




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

删除boot目录下的内核文件

技术分享

缺失内核文件,无法启动

技术分享

加载光驱

技术分享

进入救援模式,如图进入救援系统,真实的系统根目录为/mnt/sysimage

分解安装盘内的内核包

技术分享

将分解后的内核文件拷贝到/mnt/sysimage/boot下,完成后退出

技术分享

内核修复完成,进入系统

技术分享



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

系统初始化initrd镜像损坏

删除initrd镜像文件initramf-3.10.0-327.x86_64.img

技术分享

重启后无法进入系统,缺失初始化镜像文件

技术分享

重启系统,加载CDROM的安装盘文件

技术分享

恢复initramfs镜像文件

技术分享

硬盘启动

技术分享

恢复成功,进入系统

技术分享



Linux的系统恢复