- 博客/
/etc/fstab及/boot分区文件恢复
以centos6为例,/boot目录下有最为关键的开机启动所必须的内核文件、根文件系统驱动文件已经引导加载程序(bootloader)grub。当我们清空此文件夹之后关机,机器就不能正常启动了,这种情况下,可以借助光盘启动进入救援模式解决。具体步骤如下:
开机进入救援模式#
这里不像正常情况下,显示根文件系统挂载在
/mnt/sysimage
目录,而是提示找不到分区。这是因为我把/etc/fstab文件删除了,即使救援模式下,系统启动也不会搜索挂载根目录了,此时我们只能查看本主机各个分区情况,尝试找到根目录并手动挂载。
手动挂载根目录,恢复/etc/fstab文件#
进入shell模式下,根据分区情况可以看出,为了使系统容量具有拓展性,根系统基于逻辑卷的。但是通过
lvdisplay
命令可以看出,逻辑卷的状态是not available,这是因为LVM及software Raid设备是在运行系统初始化脚本/etc/rc.d/rc.sysinit时才被激活。很显然,在本例中bootLoader都已经被损坏,lvm无法被自动激活,使用命令#vgchange -ay 手动激活
激活lvm之后,通过逻辑卷名字看出根文件系统应该在
dev/vg_www/lv_root
逻辑卷设备上,挂载该设备到/mnt/tmp目录。参考下图ls结果可知,此设备确实是根文件系统,创建fstab文件并重启
重启,进入救援模式,修复/boot#
1)如下图所示,救援模式下已显示找到根文件系统,并挂载在
/mnt/sysimage
目录。进入shell模式,在/boot目录下安装kernel和grub
2)grub.conf文件可以在上述shell下直接编辑修复也可以在进入开机菜单时使用grub交互程序输入
重启机器,系统直接进入grub交互界面,如下图所示
分别输入kernel参数和伪根文件系统路径,并启动
指定kernel和initrd的文件路径根为/boot所在的设备及分区;
(hd0,0)
代表着第一个硬盘中第一个分区
重启之后,可以正常登陆了#
登陆之后再去完善/etc/fstab文件及grub.conf文件,机器就恢复成功了。