实验:在分区情况下,rm -rf /boot和/etc/fstab,恢复

首先我们查看一下/etc/fstab 里面放的是什么东西,从下图可以看出里面存放的是分区的挂载情况,删除分区将不能自动挂载

接下来查看/boot下存放的是Linux的核心文件/boot/vmlinuz-VERSION-release,和引导加载程序grub,辅助内核加载硬件驱动的伪根系统/boot/initramfs-VERSION-release.img,缺少这几项将导致Linux无法开机

好了,我要开始删了

rm -rf /boot /etc/fstab ;reboot

这时可以看到开不了机了出现错误代码 Error15 要记住这个现象,以后遇到相同问题就知道原因了

修复过程分为两步

修复/etc/fstab

1 进救援模式,过程就不再累述了,用df 查看分区情况发现分区无法挂载到/mnt/sysimage,lsblk命令也不能用了

恩,还好fdisk -l还能用 ,但是我们没办法知道分区的挂载情况,不知道哪个分区挂载在/下,哪个挂载的/app,但是我们记得每个分区下文件的特点,只是现在没有挂载没办法查看,所以我们可以尝试挂载,在下面的分区列表中/dev/sda1 后面有个*,所有它是开机启动的,应该挂载在/boot下,/dev/sda5是swap分区挂载在/swap下,但是哪个是 / 无法判断

2 我们创建一个临时挂载点

mkdir /mnt/tmp

3 分别挂载/dev/sda{1,2...} /mnt/tmp

4 查看分区下的文件ls /mnt/tmp,找出符合 / 目录下文件特点的分区挂载到 / 目录下

6 创建分区信息表 vim /etc/fstab

vim /mnt/tmp/etc/fstab

/dev/sda1  /boot  ext4   defaults 0 0

/dev/sda2  /     ext4   defaults 0 0

/dev/sda3  /app   ext4   defaults 0 0

/dev/sda5  swap   swap   defaults 0 0

exit;exit

目前为止/etc/fstab 已经修复完成,接下来修复/boot我们重启一下发现仍然不能启动,错误信息变成了如下所示,只有一个光标

修复/boot

方法一:

1 重新进入救援模式,用df查看,分区已经自动挂载挂载到/mnt/sysimages成功

2 挂载光盘,安装内核

mkdir /mnt/cdrom

mount /mnt/cdrom

rpm -ivh /mnt/cdrom/Packages/kernel.xxx.rpm --root=/mnt/sysimages --force

3 切根,修复grub

chroot /mnt/sysimage

grub-install --root-directory=/mnt/sysimage /dev/sda

4 编写grub.conf

vim /boot/grub/grub.conf

default=0

timeout=5

title linux

kernel  /vmlinuz-2.6.32-696.el6.x86_64  root=UUID=6da11b60-dd80-460a-a00f-beb8b3373b5c

initrd  /initramfs-2.6.32-696.el6.x86_64.img

exit;exit

方法二:

1 进救援模式

2 切根 :chroot /mnt/sysimage

3 修复/boot/initramfs:  mkinitrd /boot/ininramfs-`uname -r` `uname -r`

4 挂载光盘:  mount /dev/sr0 /mnt

5 复制光盘内核到/boot: cp /mnt/isolinux/vmlinuz-2.6.32-696.el6.x86_64  /boot

6 修复grub: grub-install --root-directory=/mnt/sysimage /dev/sda

7 编写/boot/grub/grup.conf

vim /boot/grub/grub.conf

default=0

timeout=5

title linux

kernel  /vmlinuz-2.6.32-696.el6.x86_64  root=UUID=6da11b60-dd80-460a-a00f-beb8b3373b5c

initrd  /initramfs-`uname -r`.img

转自https://blog.csdn.net/jieranjieran/article/details/78119132

Linux 排错 误删 /etc/fstab 和 /boot怎样恢复的更多相关文章

  1. Linux操作系统启动故障排错之"/etc/fstab"文件被删除恢复案例

    Linux操作系统启动故障排错之"/etc/fstab"文件被删除恢复案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.模拟故障 [root@yinzhe ...

  2. linux下面误删root里面的文件夹 恢复方法

    手残吧 /root/ 里面的文件删除了. .mkdir /root cp -a /etc/skel/.[!.]* /root 主要是吧 /etc/skel/里面的文件拷贝回去就行了~~~哈.. 转自: ...

  3. 在Linux,误删磁盘分区怎么恢复呢【转】

    在我们运维工作中,频繁的操作,可能命令写入错误,造成磁盘分区的删除,那么应该怎么办呢?怎么恢复磁盘分区呢? 一不小心删除了磁盘分区.如下图,删除了sda磁盘的第一个分区,为系统boot分区,系统如果重 ...

  4. Linux busybox mount -a fstab

    /*********************************************************************** * Linux busybox mount -a fs ...

  5. Linux操作系统启动故障排错之"/sbin/init"文件被删除恢复案例

    Linux操作系统启动故障排错之"/sbin/init"文件被删除恢复案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.删除"/sbin/ini ...

  6. Linux 通过 UUID 在 fstab 中自动挂载分区

    Linux 通过 UUID 在 fstab 中自动挂载分区 summerm6关注 2019.10.17 16:29:00字数 1,542阅读 605 https://xiexianbin.cn/lin ...

  7. rocky8删除/etc/fstab 和/boot/所有文件,通过光盘救援模式恢复

    rocky8删除/etc/fstab 和/boot/所有文件,通过光盘救援模式恢复 mkdir /rootdir 先通过df和lsblk确定那个分区是根,如果确定不了,就先挂载一个分区,查看里边的文件 ...

  8. 删除Linux的依赖库并进入救援模式恢复

    删除Linux的依赖库并进入救援模式恢复 模拟一下依赖库文件被删,并进入救援模式恢复 系统:CentOS7 一.删除mv的依赖库文件 删除/lib64/libc.so.6 [root@centos7 ...

  9. Linux下用rm删除的文件的恢复方法

    Linux下用rm删除的文件的恢复方法_Linux教程_Linux公社-Linux系统门户网站https://www.linuxidc.com/Linux/2008-08/14744.htm linu ...

随机推荐

  1. OpenGL基本框架与三维对象绘制

    上次我们介绍了OpenGL的环境构建和二维对象的绘制,这次我们来讲讲三维对象的绘制: 绘制代码如下: Github代码仓库 // opengltest2.cpp : Defines the entry ...

  2. 服务不支持chkconfig的解决

    场景: 写了脚本,想用命令chkconfig加载自启动. chkconfig mongod on 解决方法: mongod 脚本的开头要这样加: #!/bin/bash #chkconfig:345 ...

  3. Maven目标

    Maven主要目标是提供给开发人员: 项目是可重复使用,易维护,更容易理解的一个综合模型. 插件或交互的工具,这种声明性的模式. Maven项目的结构和内容在一个XML文件中声明,pom.xml 项目 ...

  4. Python——eventlet.event

    该模块提供eventlet的事件支持,事件提供了跨 greenthread 的操作原语. 同一个事件对象既可以发出事件也可以接收(等待)事件,不同的协程共享这一个事件对象,就为不同协程之间基于事件的同 ...

  5. [poj 1947] Rebuilding Roads 树形DP

    Rebuilding Roads Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 10653 Accepted: 4884 Des ...

  6. c# 递归函数使用案例

    /// <summary> /// 递归查询 /// </summary> /// <param name="groupID"></par ...

  7. ISAPI和CGI限制中没有ASP.NET v4.0 ; vS2013检测到在集成的托管管道模式下不适用的 ASP.NET 设置。

    统确实自带了ASP.NET v4.0,但是ISAPI中没有这个选项,导致服务器开不起来 解决方法如下: 1.确保安装IIS时确实安装了ASP.NET,如果没有的话,勾上重新装一下,一般出现404.2时 ...

  8. MySQL中show语法使用总结

    MySQL中 show 语法的使用: 先查看MySQL版本信息: mysql> select version(); +------------+ | version() | +--------- ...

  9. 机器学习——利用SVD简化数据

    奇异值分解(Singular Value Decompositon,SVD),可以实现用小得多的数据集来表示原始数据集. 优点:简化数据,取出噪声,提高算法的结果 缺点:数据的转换可能难以理解 适用数 ...

  10. lvm讲解/磁盘故障小案例

    4.10/4.11/4.12 lvm讲解 4.13 磁盘故障小案例 lvm讲解 磁盘故障小案例