/etc/fstab及/boot分区文件恢复

以centos6为例,/boot目录下有最为关键的开机启动所必须的内核文件、根文件系统驱动文件已经引导加载程序(bootloader)grub。当我们清空此文件夹之后关机,机器就不能正常启动了,这种情况下,可以借助光盘启动进入救援模式解决。具体步骤如下:

1. 开机进入救援模式

/etc/fstab及/boot分区文件恢复

/etc/fstab及/boot分区文件恢复

/etc/fstab及/boot分区文件恢复

这里不像正常情况下,显示根文件系统挂载在/mnt/sysimage目录,而是提示找不到分区。这是因为我把/etc/fstab文件删除了,即使救援模式下,系统启动也不会搜索挂载根目录了,此时我们只能查看本主机各个分区情况,尝试找到根目录并手动挂载。

2.手动挂载根目录,恢复/etc/fstab文件

/etc/fstab及/boot分区文件恢复

进入shell模式下,根据分区情况可以看出,为了是系统容量具有拓展性,根系统基于逻辑卷的。但是通过#lvdisplay命令可以看出,逻辑卷的状态是not available,这是因为LVM及software Raid设备是在运行系统初始化脚本/etc/rc.d/rc.sysinit时才被激活。很显然,在本例中bootLoader都已经被损坏,lvm无法被自动激活,使用命令#vgchange -ay 手动激活

/etc/fstab及/boot分区文件恢复

/etc/fstab及/boot分区文件恢复

激活lvm之后,通过逻辑卷名字看出根文件系统应该在/dev/vg_www/lv_root逻辑卷设备上,挂载该设备到/mnt/tmp目录。参考下图ls结果可知,此设备确实是根文件系统,创建fstab文件并重启

/etc/fstab及/boot分区文件恢复

3.重启,进入救援模式,修复/boot

1)如下图所示,救援模式下已显示找到根文件系统,并挂载在/mnt/sysimage目录。进入shell模式,在/boot目录下安装kernel和grub

/etc/fstab及/boot分区文件恢复

/etc/fstab及/boot分区文件恢复

2)grub.conf文件可以在上述shell下直接编辑修复也可以在进入开机菜单时使用grub交互程序输入

重启机器,系统直接进入grub交互界面,如下图所示

/etc/fstab及/boot分区文件恢复

分别输入kernel参数和伪根文件系统路径,并启动

/etc/fstab及/boot分区文件恢复

a:指定kernel和initrd的文件路径根为/boot所在的设备及分区;(hd0,0)代表着第一个硬盘中第一个分区

4.重启之后,可以正常登陆了

/etc/fstab及/boot分区文件恢复

登陆之后再去完善/etc/fstab文件及grub.conf文件,机器就恢复成功了。


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

(0)
ffuffu
上一篇 2017-07-09 17:15
下一篇 2017-07-09 17:49

相关推荐

  • LNMP编译安装-week16

    1、源码编译安装LNMP架构环境; 系统: CentOS 7.2IP: 172.16.0.11版本: nginx-1.10.3 php-5.6.30 mysql-5.6.30 一.安装开发包组 ~]# yum -y groupinstall “Development Tools” “Server Platform Development” 二.编译安装ngi…

    2017-05-11
  • 初识Nginx

    前言:   Nginx介绍:    Nginx(engine x)是由俄罗斯人logor sysoev研发的;官方网站:nginx.org;nginx是一个轻量级的高性能的web服务器和反向代理服务器;nginx本身一个处理静态资源的web服务器,但是通过加装fastcgi等模块,可是支持动态资源;可以为IMAP/POP3/SM…

    Linux干货 2015-06-23
  • 磁盘配额

    磁盘配额 1 启用磁盘配额 首先创建新的分区 /dev/sd5,并创建文件系统。 [root@local ~]# mkfs.ext4 /dev/sda5 由于xfs 不磁盘配额能成功,这里使用ext4. 然后把/dev/sda5分区挂载到 /home [root@local ~]# mount /dev/sda5 /home [root@local ~]# …

    Linux干货 2017-05-02
  • 2016/08/21:shell遗留select,包管理器rpm,yum

    select:搭配case更好的显示选项     这个命令用来创建菜单,按数字排列,并等待用户输入,输入对应数字,执行相应操作,更清楚明了     普通版:select var in list        &…

    Linux干货 2016-08-24
  • MySQL流程函数

    MySQL流程函数 IF(value,x y) 如果value是真,返回x,否则返回y MariaDB [learn]> INSERT INTO salary(sal) VALUES (1000),(2000),(3000),(4000),(5000),(6000),(NULL); Query OK, 7 rows affected (0.06 sec…

    Linux干货 2017-05-02
  • 马哥教育网络班22期+第2周课程练习

    一、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。      文件管理命令有:mkdir  rm  tree  ls  等等  1、mkdir [options] /path/to/somewhere      &…

    Linux干货 2016-08-22