Linux操作系统启动故障排错之"/etc/fstab"文件被删除恢复案例
Linux操作系统启动故障排错之"/etc/fstab"文件被删除恢复案例
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.模拟故障
[root@yinzhengjie ~]# cat /etc/fstab #
# /etc/fstab
# Created by anaconda on Sun Dec ::
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(), findfs(), mount() and/or blkid() for more info
#
/dev/mapper/vg_node200-lv_root / ext4 defaults
UUID=6148dc57-76a2--b4d5-5af9c5b40576 /boot ext4 defaults
/dev/mapper/vg_node200-lv_home /home ext4 defaults
/dev/mapper/vg_node200-lv_swap swap swap defaults
tmpfs /dev/shm tmpfs defaults
devpts /dev/pts devpts gid=,mode=
sysfs /sys sysfs defaults
proc /proc proc defaults
[root@yinzhengjie ~]#
[root@yinzhengjie ~]# mv /etc/fstab /root/ #将"fstab"文件移动到"/root"目录就可用让系统启动时不会自动挂载文件系统。
[root@yinzhengjie ~]#
[root@yinzhengjie ~]# ll
total
-rw-r--r--. root root Dec : fstab
[root@yinzhengjie ~]#
[root@yinzhengjie ~]# ll /boot/
total
-rw-r--r--. root root Jun config-2.6.-.el6.x86_64
drwxr-xr-x. root root Dec grub
-rw-------. root root Dec initramfs-2.6.-.el6.x86_64.img
-rw-r--r--. root root Jun symvers-2.6.-.el6.x86_64.gz
-rw-r--r--. root root Jun System.map-2.6.-.el6.x86_64
-rwxr-xr-x. root root Jun vmlinuz-2.6.-.el6.x86_64
[root@yinzhengjie ~]#
[root@yinzhengjie ~]# rm -rf /boot/*
[root@yinzhengjie ~]#
[root@yinzhengjie ~]# ll /boot/
total 0
[root@yinzhengjie ~]#
[root@yinzhengjie ~]# reboot #删除上面的文件后发现无法正常启动操作系统啦~ Broadcast message from root@yinzhengjie
(/dev/pts/0) at 1:27 ... The system is going down for reboot NOW!
[root@yinzhengjie ~]#

二.恢复实战案例
1>.使用光盘进入救援模式观察之前的操作系统的挂载信息都没有了

2>.通过fdisk命令观察磁盘分区情况

3>.激活逻辑卷组

4>.查看逻辑卷属性确认逻辑卷状态是否已经激活

5>.当逻辑卷处于激活状态时,咱们就可用创建一个临时目录用于一个一个挂载逻辑卷,从挂载后的内容来判断谁是root分区,谁是boot分区和swap分区

6>.根据上面获取的信息手写"fstab"文件(我这里图省事就直接把之前备份的fstab文件移动回"/etc/fstab")

7>.重启后再次使用光盘进入修复模式,发现可以自动挂载了

8>.总结
我们总结一下修复思路:
第一步:
首先得恢复fstab,经过上面的步骤已经详细介绍了逻辑卷如何修复fstab,如果生产环境中你没有用逻辑卷,你会发现不用去手动激活逻辑卷了(若正常启动则会调用"/etc/rc.d/rc.sysinit"进行激活逻辑卷相关操作),直接创建测试目录将各个分区挂载查看内部数据确认谁是root,谁是boot或者swap目录再分别挂载即可。
第二步:
安装内核文件 第三步:
安装grub文件以及创建grub.conf 第二步和第三步操作相对就简单了,可以查看我之前做的笔记:https://www.cnblogs.com/yinzhengjie/p/11921248.html
Linux操作系统启动故障排错之"/etc/fstab"文件被删除恢复案例的更多相关文章
- Linux操作系统启动故障排错之"/sbin/init"文件被删除恢复案例
Linux操作系统启动故障排错之"/sbin/init"文件被删除恢复案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.删除"/sbin/ini ...
- Linux操作系统启动故障排错之/boot目录被删除恢复案例
Linux操作系统启动故障排错之"/boot"目录被删除恢复案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.模拟删除/boot分区 1>.查看/b ...
- linux初学者-系统启动故障篇
linux初学者-系统启动故障篇 在系统的操作中,有时会不小心误删或者操作失误使得系统启动不起来,下文将列举几种常见的系统启动失败的情况及解决的办法. 1.删除或者覆盖mbr的446个字节 mbr的4 ...
- linux系统开机自动挂载光驱 和 fstab文件详解
Linux 通过 UUID 在 fstab 中自动挂载分区 summerm6关注 2019.10.17 16:29:00字数 1,542阅读 607 https://xiexianbin.cn/lin ...
- 简述linux操作系统启动流程
Linux启动流程 POST-->BootSequence(BIOS)->Bootloader(MBR,grub)-->kernnel(ramdisk,initrd)-->ro ...
- Linux 操作系统启动流程
1.加载bios bios中包含的硬件CPU 内存 硬盘等相关信息 2.读取MBR 读取完bios信息之后,计算机会查找bios制定的硬盘MBR引导扇区,将其内容复制到 0x7c00 地址所在的物理内 ...
- Linux学习之分区自动挂载与fstab文件修复(九)
linux分区自动挂载与fstab文件修复 在前面我们实现新添加硬盘,进行分区与格式化,然后手动挂载,这样做,在重启后,需要重新挂载才能使用. https://www.cnblogs.com/-wen ...
- Linux中非正常关闭vi编辑器产生swp文件怎么删除
Linux中非正常关闭vi编辑器产生swp文件,会导致编辑文件时提示如下内容(图我是从网上找的): 这是因为异常关闭vi编辑器产生swp文件导致,假设编辑的文件名是file.sh,那么生成的swp文件 ...
- Linux操作系统启动流程梳理
接触linux系统运维已经好几年了,常常被问到linux系统启动流程问题,刚好今天有空来梳理下这个过程:一般来说,所有的操作系统的启动流程基本就是: 总的来说,linux系统启动流程可以简单总结为以下 ...
随机推荐
- JZ落选跟我们有什么关系
今天中午睡前刷了一下微博,看到JZ派落选了,底下一大堆冷嘲热讽的. 比如,养了一堆白眼狼,给了XG一堆利好政策,却这样FZ. 这种心态像极了多子女家庭的生活. 多子女家庭里,总有几个是性格比较乖巧,也 ...
- pan wutong团队隐私协议
本隐私权政策详细说明了pan wutong团队(“我们”或“我们的”)通过我们的应用程序和网站收集的信息,以及我们将如何使用这些信息. 1.我们不会通过我们的应用程序或网站收集儿童的个人信息. 我们深 ...
- 在日志中记录Java异常信息的正确姿势
遇到的问题 今天遇到一个线上的BUG,在执行表单提交时失败,但是从程序日志中看不到任何异常信息. 在Review源代码时发现,当catch到异常时只是输出了e.getMessage(),如下所示: l ...
- 使用mwget代替wget
wget相对于浏览器来说,速度会比较偏慢,特别是国外的网站. 刚好经常用的xftp无法正常使用了,于是开始折腾mwget 下面来看一下安装步骤: wget http://jaist.dl.source ...
- Centos7安装部署Rabbitmq教程
依赖关系: 版本依赖一定要提前看清楚. RabbitMQ相关版本依赖关系查看 https://www.rabbitmq.com/which-erlang.html 可以看到要求版本Erlang21.3 ...
- Win7下Powershell 由2.0 升级为 5.1
今天在构建脚本的时候老是提示 Windows 7 默认的Powershell是2.0,查看版本 下载 https://www.microsoft.com/en-us/download/details. ...
- 【javascript】日期转字符串
function dateFormat(fmt, date) { var ret; var tf = function(str, len){ if(str.length < len) { for ...
- 新唐NDA102EC1中更改UUART1作为调试串口打印输出调试信息
新唐NDA102EC1中更改UUART1作为调试串口打印输出调试信息 参考网上STM32修改fputc(int ch, FILE *f),把串口打印函数printf()重定向到UUART1模块的端口输 ...
- unity 在editor编辑器下创建多个按钮
入坑最后发现就几句话,真是气死人了.发现自己掉坑里,脑子就变笨了,把代码贴给你们,保持大脑清醒. using System.Collections; using System.Collections. ...
- 前端与编译原理 用js去运行js代码 js2run
# 前端与编译原理 用js去运行js代码 js2run 前端与编译原理似乎相隔甚远,各种热门的框架都学不过来,那能顾及到这么多底层呢,前端开发者们似乎对编译原理的影响仅仅是"抽象语法树&qu ...