讲过了centos的启动流程,此时是不是想来点破坏呢?那就尽情的玩耍吧,记得在实验之前拍个快照,万一哪个环节错误恢复不回来了呢,毕竟数据无价,话不多说,开始。

  一、删除伪系统根。(ramdisk文件)

  (1)模拟误操作删除ramdisk文件。

  ①模拟误删除initramfs-3.10.0-514.el7.x86_64.img文件。

  CentOS系统启动及内核大破坏模拟实验_第1张图片

  ②为当前正在使用的内核重新制作ramdisk文件

  格式为:mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)

  CentOS系统启动及内核大破坏模拟实验_第2张图片

  (2)误删除ramdisk文件之后关机

  ①删除文件,并重新启动。

  CentOS系统启动及内核大破坏模拟实验_第3张图片

  ②重启状态。(记住这个状态,以后可以根据这个状态找到错误原因并进行排查)

  CentOS系统启动及内核大破坏模拟实验_第4张图片

  ③进入救援模式(怎么进入的就不多说了,前面讲的太多太多了)

  CentOS系统启动及内核大破坏模拟实验_第5张图片  ④进入对应的boot根下,创建出被删除的文件,重启。

  CentOS系统启动及内核大破坏模拟实验_第6张图片

  二、自制启动页面和菜单加载项。

  总览一下/etc/grub.conf -> ../boot/grub/grub.conf文件,以及分析一下大概的作用。

  CentOS系统启动及内核大破坏模拟实验_第7张图片

  (1)换取启动时的图片(把我windows桌面图片换上去,注意大小为640x480)

  ①选取图片,输入rz命令,导入到centos

  wKiom1nAf-Pi4Wu0AAAPgfBCArI249.png

  ②打包并且移动到/boot/grub/文件下。

  wKioL1nAgHPQieSkAAAWcJwCJN0064.png

  ③修改/boot/grub/grub.conf文件。

  CentOS系统启动及内核大破坏模拟实验_第8张图片

  ④重新启动。

  CentOS系统启动及内核大破坏模拟实验_第9张图片

  (2)制作多个启动菜单。

  ①添加启动菜单,并设置为默认选项。

  CentOS系统启动及内核大破坏模拟实验_第10张图片

  ②重启看效果。

  CentOS系统启动及内核大破坏模拟实验_第11张图片

  三、删除/boot和/etc/fstab文件,并恢复之。

  ①删除文件,并进入救援模式。

  rm -rf /boot/*

  mv /etc/fstab /app

  CentOS系统启动及内核大破坏模拟实验_第12张图片

  ②挂载硬盘的根。

  fdisk -l 查看一下分区情况,在不知哪个分区时硬盘根的情况下,一个一个一次挂载卸载,直到找到硬盘的根。

  CentOS系统启动及内核大破坏模拟实验_第13张图片  ③手动写/etc/fstab下的挂载情况。

  CentOS系统启动及内核大破坏模拟实验_第14张图片

  ④关机重启进入到救援模式,自动读取挂载情况。

  CentOS系统启动及内核大破坏模拟实验_第15张图片

  ⑤挂载光盘,安装内核文件。

  CentOS系统启动及内核大破坏模拟实验_第16张图片  ⑥切根,安装grub(grub -install /dev/sda)

  CentOS系统启动及内核大破坏模拟实验_第17张图片

  ⑦关机重启,写入grub(也可以直接在上一步手动写grub.conf文件)

  CentOS系统启动及内核大破坏模拟实验_第18张图片

  ⑧系统启动,写入/boot/grub/grub.conf文件。(如果不写,下次系统起不来)

  CentOS系统启动及内核大破坏模拟实验_第19张图片

  四、删除centos7 /boot,恢复之。(整体和centos6差不多)

  ①进入救援模式

  ②切跟chroot /sysp_w_picpath

  ③挂载光盘,安装内核

  ④生成grub2目录   grub2 -install /dev/sda

  ⑤grub2-mkconfig > /boot/grub2/grub.cfg修复配置文件

  唯一不同的就是,centos6需要手写grub.conf文件,而centos7却只需要一条命令就生成了grub.conf文件。