CentOS6删除/etc/fstab和/boot后恢复

CentOS6删除/etc/fstab和/boot后恢复

背景:

Linux CentOS系统和启动相关的文件都在/boot目录下,如果我们将/boot目录下所有的文件都删除,然后在恢复系统,那以后在遇到系统启动问题时就都可以解决了。在这基础上,在将/etc/fstab文件删除,这样更加大了修复的难度,不过这都是可以修复的,这里就将介绍如何修复。

实验环境:

Linux版本: CentOS 6.9

网络环境:无网络(如果有网络可以直接从其他机器复制相关文件到机器上)

光盘:需要有CentOS6.9光盘(到时候需要用光盘进救援模式)

机器:VMware虚拟机

实验:

如果是在虚拟机上做实验,请先做好快照再做实验,过程可能出现意外情况(尽管步骤和操作没问题)。

第一步:先删除/etc/fstab和/boot下的所有文件(可以移动到其他分区)

CentOS6删除/etc/fstab和/boot后恢复

当做了第一步都重启虚拟机,会出现一下情况:

CentOS6删除/etc/fstab和/boot后恢复

第二步:重启后直接进入到了grub引导程序,这时我们再重启系统,进入到救援模式,这里就不介绍怎样进救援模式,之前在一个博客(http://www.178linux.com/83078)里有详细介绍如何进入救援模式。

在进入救援模式时,会和之前不一样,因为我们删除了/etc/fstab文件,所以系统无法挂载根和/boot分区

CentOS6删除/etc/fstab和/boot后恢复

不过没关系,直接点击ok进入下一步就可以了,然后开启一个shell

CentOS6删除/etc/fstab和/boot后恢复

第三步:修复/etc/fstab

因为没有/etc/fstab文件,系统无法帮我们挂载分区,所以需要先修复/etc/fstab文件,也就是手写/etc/fstab文件,里面至少需要挂载根和/boot两个分区。在写文件之前我需要先知道哪个分区是根,哪个分区是/boot,可以用fidsk -l查看分区情况

CentOS6删除/etc/fstab和/boot后恢复

CentOS6删除/etc/fstab和/boot后恢复

这里不好判断哪个分区是干什么的,但如果你很清楚的知道哪个分区是干什么的,那可以直接写/etc/fstab文件了,现在我们先建一个目录来临时挂载分区,来看看/dev/sda2和/dev/sda3哪个是根。

CentOS6删除/etc/fstab和/boot后恢复

已找到根、/boot和swap分区,现在可以放心的写/etc/fstab文件了

/dev/sda1 /boot ext4 defaults 0 0
/dev/sda2 / ext4 defaults 0 0
/dev/sda5 swap swap defaults 0 0

写/etc/fstab文件的格式:

分区或者设备名   挂载目录  文件系统  defaults(设置为默认) 0 0(最后两个最好设为0)

CentOS6删除/etc/fstab和/boot后恢复

CentOS6删除/etc/fstab和/boot后恢复

第四步:修复boot

然后重启系统,在进入到救援模式,让系统自动帮我们挂载根,在进行下一步修复

CentOS6删除/etc/fstab和/boot后恢复

当我们进入救援模式时就可以切根了,切根命令:chroot /mnt/sysimage

CentOS6删除/etc/fstab和/boot后恢复

这个时候就可以开始修复/boot目录了,首先我们应该知道启动系统需要的文件:Linux内核(版本得对)、gurb、grub.conf

首先先挂载光盘,然后安装内核(也可以直接将光盘里的内核文件复制过去)

安装内核命令:rpm -ivh /mnt/Package/kernel-版本号(可以tab键补全).rpm

CentOS6删除/etc/fstab和/boot后恢复

内核生成成功后,现在安装grub,命令:grub-install /dev/sda

CentOS6删除/etc/fstab和/boot后恢复

安装gurb需要点时间,要耐心等待,等完成后看看是否有gurb程序

CentOS6删除/etc/fstab和/boot后恢复

到现在就缺个/boot/grub/grub.conf文件,这需要我们手写

default 0 #默认选择第一项
timeout 3 #选择等待3秒,之后进入默认选项
title Linux-CentOS6.9 #菜单选项名字
kernel /vmlinuz-2.6.32-696.el6.x86_64 root=/dev/sda2 #内核版本和根的位置
initrd /initramfs-2.6.32-696.el6.x86_64.img #init

写完这个后保存退出,然后重启系统,看是否成功,在重启前先用命令:sync  来确保已写到磁盘保存

如果启动还有什么问题,看看是不是哪个文件写错了,或者目录名没对,还有就是光盘系统版本是否和修复的系统一致。

原创文章,作者:657188918,如若转载,请注明出处:http://www.178linux.com/85776

(0)
657188918657188918
上一篇 2017-08-31
下一篇 2017-09-01

相关推荐

  • free / buffer与cache

           前几天看到有些伙伴傻傻分不清楚buffer与cache的用处,后来发现我也不能很清楚的说出来buffer与cache在不同的地方有什么不同之处,这里就总结了一些关于buffer于cache的区别,如有不完善的地方,请大家指出来。        说到buffer与ca…

    2017-07-17
  • Centos 7 之systemd

    Centos 7 之systemd systemd POST –> Boot Sequence –> Bootloader –> kernel + initramfs(initrd) –> rootfs –> /sbin/init init: CentOS 5: Sys…

    Linux干货 2016-09-23
  • CentOS 7 安装 mysql-5.7.14

    在centos7上安装 路上遇过各种坑 把在centos7正确安装mysql-5.7.14分享一下 1. CentOs7 默认的数据库为MariaDB,先卸载MariaDB,否则安装mysql,引起冲突 rpm -qa mariadb rpm -e –nodeps mariadb 2. 准备好工作环境 mkdir /application&nbs…

    Linux干货 2017-05-07
  • rsyslog配置详解,结合mysql+loganalyzer展现

        环境:Centos7.2 前言:系统日日夜夜不停地运行着,有这么一个守护进程,兢兢业业地不断记录它运行产生的日志,有不起眼的闲言碎语,值得管理员撇一眼的系统报错,也默默地接收来自进程的严厉警告,甚至在内核崩溃前夕,同样不遗余力记录着当时发生的情形。他是无言的记录者,没有特别的修辞,但他的记录的文字却掷地有声。本…

    系统运维 2016-10-25
  • Linux基础知识之软硬链接

    系统环境:    该博文以CentOS6.8_x86_64系统为基础,Xshell5远程登录CentOS6.8系统,以root身份登录系统。 为什么要学习符号(软)链接和硬链接?    符号(软)链接和硬链接是Linux文件系统中的一个重要的概念,软硬链接的学习过程中会涉及一些文件系统中的索引节点(inode),索引节…

    Linux干货 2016-08-02
  • Linux keepalived高可用集群

                       Linux keepalived高可用集群 keepalived简介:    keepalived是为了高可用ipvs集群而设计的,主要用作realserver的健康状态检测,如果有一台web…

    系统运维 2016-11-18