博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CentOS系统启动及内核大破坏模拟实验
阅读量:6941 次
发布时间:2019-06-27

本文共 1220 字,大约阅读时间需要 4 分钟。

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

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

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

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

  

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

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

  

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

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

  

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

  

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

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

  

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

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

  

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

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

  

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

  

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

  

  ④重新启动。

  

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

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

  

  ②重启看效果。

  

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

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

  rm -rf /boot/*

  mv /etc/fstab /app

  

  ②挂载硬盘的根。

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

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

  

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

  

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

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

  

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

  

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

  

  四、删除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

  

  

转载地址:http://ipsnl.baihongyu.com/

你可能感兴趣的文章
#include<cmath>
查看>>
SimpleAdapter不能自动更新 求解释
查看>>
正则表达式
查看>>
Delphi中TList类应用
查看>>
DLL技术应用03 - 零基础入门学习Delphi46
查看>>
壳的执行过程
查看>>
多维数组元素的地址
查看>>
动态内存管理 - C++快速入门33
查看>>
iOS 动画篇(一) Core Animation
查看>>
css背景雪碧图等
查看>>
odoo 之报date<form string=''product lc''> 错误
查看>>
leetcode34. Find First and Last Position of Element in Sorted Array
查看>>
62. Unique Paths(矩阵的总路径数)
查看>>
【巧妙的模拟】【UVA 10881】 - Piotr's Ants/Piotr的蚂蚁
查看>>
[20190402]Library Cache mutex.txt
查看>>
Swift 基本运算符
查看>>
Python strip()方法
查看>>
用父类引用指向子类好处
查看>>
图片质量压缩
查看>>
vue分页tbale小荔枝
查看>>