第十一单元
系统恢复技术
一 系统引导过程概述
通电 - - > 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
报错:
2 )恢复
grub2-install /dev/xda
先进入虚拟机的救援模式:
让系统从cdroom读取:add hardware - - > device
boot option 将cdrom1移到最上面 - - > apply
进入后:chroot /mnt/sysp_w_picpath/ ###转换到真实的/目录下####
grub2-install /dev/vda
exit
exit ###退出两次####
然后将cdroom移到最后,重新开启即可
三 grub文件引导阶段
/boot/grub2/grub.cfg文件里含有指定 /boot 分区位置,加载内核,启动系统初始化进程。
若是将此文件删除,则系统会启动不了
解决:在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 即可
四 内核引导阶段
检测硬件设备
设备驱动初始化
将 / 只读挂在
载入初始进程 systemd
内核文件丢失请重新安装内核
1 文件内核丢失:
文件内核在/boot下
2 恢复:先进入救援模式,然后执行以下命令:
chroot /mnt/sysp_w_picpath/ ###转换到/目录下####
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 删除初始化文件
2 恢复
先进入救援模式,然后执行以下命令:
chroot /mnt/sysp_w_picpath/
mkinitrd /boot/inittramfs-$(uname -r).img $(uname -r) ####uname -r指内核版本,$()指先执行括号内的内容,该命令指生成初始化文件###
exit
exit ###两次退出####
3 systemd启动服务的链接出现问题
系统启动时会自行运行其所在target级别相应的目录里所有链接的服务,例:系统开机进入图形界面,是因为default.target -> /lib/systemd/system/graphical.target,如果链接出现问题也会导致系统无法正常启动
例: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#####
出现的情况:
解决办法:
按e
从内核文件那段结尾开始删除到ro,改成rw rd.break,按ctrl+x
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 ###两次退出###
六 忘记密码
解决方法:
按e
从内核文件那段结尾开始删除到ro,改成rw rd.break,按ctrl+x
chroot /sysroot/ ###转换/###
passwd ###修改密码####
exit
exit ###两次退出###