LInux系统故障模拟实验:破坏了/boot/下的initramfs-3.10.0-693.el7.x86_64.img和vmlinuz-3.10.0-693.el7.x86_64文件

/boot/initramfs-VERSION.img 和/boot/vmlinuz-VERSION两个文件是linux系统内核启动最核心的两个文件,如果破坏,系统将难以启动,本文将描述挽救方法,实验环境Centos7.4 ;实验环境 将boot下文件全部删除(不包括目录)重启机器。

  • 实验环境

Centos7.4  root用户执行执行rm -f /boot/* ; reboot

TIM图片20180507202214

11

这里可以看到,系统重启报错,vmlinuz-3.10.0-693.e17.x86_64 文件找不到,而这个文件是系统内核装载需要调用的文件;

而这个文件其实是在装系统之前就存在的,只是装好系统后,从光盘内复制到/boot目录下的,所以我们只需要进入救援模式,把这个文件从挂载光盘目录下,solinux/*  中将此文件再拷贝一份出来就行。

  • vmlinuz-3.10.0-693.e17.x86_64  恢复步骤

  1. 将系统BIOS设置成优先光盘引导启动,重启系统,进入救援系统,进入shell界面;

222

2.切记!此处的根目录是救援系统的根分区,并非真正系统的根目录,故障系统挂载在了/mnt/sysimage/下,操作时不要忘了!

(1  df查看光盘挂载目录.

(2 进入光盘目录下的isolinx子目录内,执行 cp vmlinuz /mnt/sysimage/boot/vmlinuz-`uname -r`将vmliuz 复制至/mnt/sysimage/boot/ 下5555

(3  进入/mnt/sysimage/boot/下 确认文件已经存在,执行sync  ;reboot系统  (此处执行sync 的意义是怕部分复制文件任然在缓冲buffer 中,没写入磁盘,执行sync 让缓冲中的数据立即写入磁盘)

qqq

这里你会发现,系统依然无法启动

1234554

那是因为缺少另外一个 关于此内核文件的 辅助伪根系统,之所以称之为伪根系统,应为他虚拟了一个文件系统,存放了根文件系统的驱动模块,内核只有调用这些驱动文件,才能找到根将系统挂载上去,从而开启第一个进程。所以这个文件/boot/initramfs-3.10.0-693.el7.x86_64.img 是在装系统时,根据根文件系统属性,现生成的,所以无法从别处移植过来,但是却有专门的工具生成;

  • /boot/initramfs-3.10.0-693.el7.x86_64.img 恢复步骤

1.进入救援系统的步骤跟vmlinuz-3.10.0-693.e17.x86_64 是一样的;

2.进入到/mnt/sysimage/boot/ 目录下,执行mkinitrd /boot/initramfs-`uname -r`.img  `uname -r`

但是要进行根切换,这一点很关键www

 

因为mkinitrd 是依赖/usr/share/drocut/drocut-functions 的,如果根目录不对,找不到对应文件,会导致无法执行mkinitrd

3.执行,这里时间可能会久一点要耐心等待一下。

1q2

4.确认文件生成后,按exit 推出救援系统重启系统。

5.又可以愉快的浪了!

TIM图片20180507215241

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/97728

赞 (8)
知行合一知行合一
上一篇 2018-05-07 20:23
下一篇 2018-05-07 21:01

相关推荐

  • YUM安装的MySQL(MariaDB)实现多实例运行

    生产环境中,可能需要多个数据库同时在线。但一台服务器只运行一个数据库实例势必会引起资源的浪费,因此,本文介绍如何将yum安装的MySQL多开,实现多实例运行。(二进制与编译安装步骤与此类似)

    Linux笔记 2018-06-12
  • 第二周作业20180521

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示 Linux常用的文件管理命令为cp,mv,rm cp: 格式用法: 源文件为文件 目标文件不存在,则在目标文件夹中新建文件 目标文件存在,则进行文件覆盖,通过-i提示是否进行覆盖 源为目录,cp后要加-r,复制文件夹以及其下所有文件夹的文件,目的需为目录 多文件复制,目的必须为目录且…

    2018-05-21
  • 马哥网络班第31期——第一周作业

    1、描述计算机的组成及其功能。
    2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
    3、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。
    4、说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。
    5、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。
    6、请罗列Linux发行版的基础目录名称命名法则及功用规定

    Linux笔记 2018-07-06
  • 认证基础及DNS服务基础

    认证基础及DNS服务基础

    Linux笔记 2018-04-27
  • Linux笔记 – RPM及YUM软件包的管理与使用 2(YUM工具的使用方法)

    ◆ 软件包的管理- YUMYUM(Yellowdog Updater Modified)工具与APT(debain ubuntu等)工具一样,在解决软件依赖关系的同时可以下载、安装、升级、卸载等功能的重要工具。YUM的相关设定在 /etc/yum.conf 文件中有详细的描述。为了设置软件包的软件源信息,需要修改/etc/yum.conf 文件或在 /etc…

    2018-05-08