修复 /etc/fstab /boot

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

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

当做了第一步都重启虚拟机,会出现一下情况:
修复 /etc/fstab /boot

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

在进入救援模式时,会和之前不一样,因为我们删除了/etc/fstab文件,所以系统无法挂载根和/boot分区
修复 /etc/fstab /boot
不过没关系,直接点击ok进入下一步就可以了,然后开启一个shell

修复 /etc/fstab /boot

第三步:修复/etc/fstab

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

修复 /etc/fstab /boot

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

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

写/etc/fstab文件的格式:

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

修复 /etc/fstab /boot

修复 /etc/fstab /boot

第四步:修复boot

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

修复 /etc/fstab /boot

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

修复 /etc/fstab /boot

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

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

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

修复 /etc/fstab /boot

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

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

修复 /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