开发者社区> 科技小能手> 正文

CentOS系统启动及内核大破坏模拟实验

简介:
+关注继续查看

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

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

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

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

  wKioL1m_tY3jkVkwAAB6U_gG5M4818.png

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

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

  wKiom1m_tzzhwEU9AABDCQAy7to874.png

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

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

  wKiom1m_uG7j6X4UAABwKPkWTTg162.png

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

  wKioL1m_uPmjzpP8AAAL5ZxD1Js210.png

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

  wKioL1nAbX6BNO5WAABB51BHVHU081.png  ④进入对应的boot根下,创建出被删除的文件,重启。

  wKioL1nAbczwqA_2AAAaEfO5Nho937.png

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

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

  wKioL1nAeXDjma79AADr_KMEHEg215.png

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

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

  wKiom1nAf-Pi4Wu0AAAPgfBCArI249.png

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

  wKioL1nAgHPQieSkAAAWcJwCJN0064.png

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

  wKioL1nAgUzBy38oAABkGMupDRw800.png

  ④重新启动。

  wKioL1nAiRiieSjvAAIX4fPPSrM658.png

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

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

  wKiom1nAgrnTm0TsAACoeunPdV8110.png

  ②重启看效果。

  wKioL1nAg9TSswxEAAAofob_THg202.png

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

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

  rm -rf /boot/*

  mv /etc/fstab /app

  wKioL1nAuSHwmHvPAAAJyR340ZM657.png

  ②挂载硬盘的根。

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

  wKiom1nAuyPigPJTAAAeMxK10Zk963.png  ③手动写/etc/fstab下的挂载情况。

  wKioL1nAvHjhnlAGAAAMCHHlh9I632.png

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

  wKioL1nAvfCCnDEoAAAc0kOcLNg335.png

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

  wKiom1nAwRnC4rM7AAA8TD2ZOO0580.png  ⑥切根,安装grub(grub -install /dev/sda)

  wKiom1nAwniwaeUVAAAMEyHygzI259.png

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

  wKioL1nAw3mRq_Y4AAAcvhXWGkE535.png

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

  wKiom1nAxpfzHEoAAABdUJ9WvjY007.png

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

  ①进入救援模式

  ②切跟chroot /sysimage

  ③挂载光盘,安装内核

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

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

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

  

  

  

  

  本文转自 LUksl 51CTO博客,原文链接:http://blog.51cto.com/19940919/1966840

  

  


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Android系统启动过程【转】
转自:http://www.cnblogs.com/bastard/archive/2012/08/28/2660389.html Android系统启动过程 首先Android框架架构图:(来自网上,我觉得这张图看起来很清晰)    Linux内核启动之后就到Android Init进程,进而启动Android相关的服务和应用。
1095 0
23704
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载