/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)
上一篇 2017-07-09 17:15
下一篇 2017-07-09 17:49

相关推荐

  • 基于虚拟用户控制的ftp服务

    FTP作为最常见的文件共享服务,可提供文件的上传,下载等服务;其用户可分为三类: 匿名用户:即不需要用户账号与密码即可登录FTP服务器,此时登录用户将会被映射为系统上的ftp用户。 系统用户:即用FTP服务器上的用户账号与密码登录FTP服务器。此种方法虽然在一定程度上对登录做出了限制,但由于系统账号的相关权限,则增大了FTP服务器的系统风险; 虚拟用户:用户…

    Linux干货 2016-10-23
  • 第七周 系统启动维护管理

    1、简述linux操作系统启动流程 2、简述grub启动引导程序配置及命令行接口详解 3、实现kickstart文件制作与光盘镜像制作    

    2018-01-12
  • Linux中实现java和c语言打印Hello world小程序

    1、C语言实现 先确认linux系统中是否gcc编译器,可以通过rpm -q gcc查询系统已经安装gcc软件包,如果没有安装可以到系统自带光盘里面安装相应的安装包软件。 使用rpm -ivh gcc-4.8.5-4.el7.x86_64.rpm安装编译器,安装后再查询确认已经成功 环境准备好了,我们就可以编写C语言的代码了,我们可以使用vim编辑器编写第一…

    Linux干货 2016-08-26
  • 第一周:Linux基础之常用命令(二)

    一、Linux的命令使用格式 命令的语法通用格式: ~]# COMMAND  OPTIONS  ARGUMENTS   命令  选项  参数 1.  COMMAND,命令:发起命令时将请求内核将某个二进制程序运行为一个进程,命令本身是一个可执行的程序文件,二进制格式的文件有可能会调用共享库文件。 多…

    Linux干货 2016-09-18
  • 马哥教育网络班20期-第四周课程作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其他用户均没有任何访问权限。       cp -r /etc/skel /home/tuser1 | chmod -R g…

    Linux干货 2016-06-29
  • 5.20 TOMCAT

    需要安装JDK JAVA Development Kit //JAVA 2 SE 的接口    TOMCAT 的安装: yum 安装 #yum install -y java-1.8.0-openjdk-devel 如下界面出现的话就是安装OK 注意:安装完成后,要配置JAVA_HOME环境变量,指向java的安装路径; OpenJDK: JAVA_HOME…

    2017-07-09