linux中/etc/fstab文件删除或修改了,导致系统无法启动
在linux中,/etc/fstab文件是磁盘挂载的问题,若该文件不小心给修改了,或者被删除了,那么就会导致系统无法重启。因为/etc/fstab文件是记录磁盘挂载的信息,若该文件出现了问题,那么对应的主目录(/)和(/boot)以及swap的磁盘将无法挂载,所以这个文件对于linux系统来说是相当重要的。
我犯的错误是:我在对hadoop集群进行文件配置的时候,在一台主机上对/etc/fstab文件进行修改,修改好了之后,准备分发给其他主机,我开始以为fstab文件的内容是一样的,于是我就该文件分发给其他主机上,并且覆盖了其他主机原来的fstab,完了之后,我就重启其他主机,发现其他主机无法挂载硬盘,导致系统无法重启。于是就想到,每个主机里面的fstab文件内容是不一样的。因此我将犯了致命的错误。于是我就得想办法恢复这些主机上的fstab文件。网上google了一下。发现还是有办法解决的。
在这里得说明一下,幸好我有一台主机是完好无损的,这样子我可以参照这个完好无损的主机来修改其他主机的fstab文件。修改的方法如下:
1、网上搜了一下,大部分说是要进入BIOS后进行linux resuce模式。但我在这里介绍一下简单的方式:那就是重新制作/etc/fstab文件。制作的方法就是里哟个完好无损主机的fstab文件。因此将完好无损主机上的fstab文件分发给所有的主机。
2、既然要重新制作fstab文件,那么需要对fstab文件的内容进行了解,我的fstab的问价内容如下:该文件可以分为三个部分。
#
# /etc/fstab
# Created by anaconda on Tue Jun 30 23:29:58 2015
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info #第一部分(这是关键部分)
UUID=16fef5b5-a9cc-4d6f-8d3f-0081546ffb04 / ext4 defaults 1 1
UUID=6f352ae4-e53a-4e32-8129-369c6ba24e9a /boot ext4 defaults 1 2
UUID=adf600ad-ab03-482f-ae6f-fb80e973da1e swap swap defaults 0 0 #第二部分
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0 #第三部分
//192.168.2.246/Share /mnt/share cifs default,auto,username=administrator,password=Passw0rd! /dev/sdb1 /mnt/hdb ext4 defaults 0 0
/dev/sdc1 /mnt/hdc ext4 defaults 0 0
/dev/sdd1 /mnt/hdd ext4 defaults 0 0
/dev/sde1 /mnt/hde ext4 defaults 0 0
/dev/sdf1 /mnt/hdf ext4 defaults 0 0
其中,第一部分最为关键,因为第一部分就是涉及到系统文件磁盘的挂在的问题,这就是我们需要修改的地方;第二部分和第三部分所有主机都一样。
3、针对第一部分,我们首先可以通过命令:fdisk -l 查看系统中对应的是哪个磁盘挂载 / 、/boot 以及swap这三个目录。
3.1、我通过执行 fdisk -l 命令后可以看到如下内容:

通过上图我们可以明确看到 swap对应的是磁盘/dev/sda3,那么/dev/sda1和/dev/sda2与/和 /boot对应关系我们不清楚。于是我通过查看完好无损的主机上的对应关系,发现/dev/sda2对应的是 / ;/dev/sda1对应的是/boot。
4、接下来我们需要知道的是/etc/fstab文件中UUID表示的是什么意思?通过网上搜索,答案如下:
如果你有多块硬盘,硬盘在电脑中的顺序变化的时候,硬盘相同的名称可能代表着不同的硬盘分区,如果你是从 USB 设备启动,与其他 USB 设备的插入顺序也会导致分区识别的困难。
这个时候 UUID 就派上用场了,UUID 全称是 Universally Unique Identifier,也就是说,每个分区有一个唯一的 UUID 值,这样就不会发生分区识别混乱的问题了。
5、如何查看UUID呢?(红色的表示的是UUID)
通过浏览 /dev/disk/by-uuid/ 下的设备文件信息。执行如下命令:
# ls -l /dev/disk/by-uuid/
------
lrwxrwxrwx 1 root root 10 10-13 09:14 0909-090B -> ../../sdb5
lrwxrwxrwx 1 root root 10 10-13 09:13 7c627a81-7a6b-4806-987b-b5a8a0a93645 -> ../../sda4
.....
6、那么接下来就是可以修改其他主机的fstab文件了:
6.1、重启之后会需要你输入密码进入root权限下的界面
6.2、此时文件系统是只读模式,若需要修改/etc/fstab文件,则需要执行:mount -o remount rw / 命令。
6.3、此时就可以修改/etc/fstab文件了。执行: vi /etc/fstab
6.4、修改没一个主机的UUID的值即可。
6.5、reboot重启,ok了。
linux中/etc/fstab文件删除或修改了,导致系统无法启动的更多相关文章
- Oracle修改系统参数导致系统无法启动对pfile文件恢复。
1.当前现象:Oracle启动报错ORA-27102 [oracle@JYDB1 ~]$ sqlplus / as sysdba SQL*Plus: Release 10.2.0.4.0 - Prod ...
- Linux中/etc/fstab /etc/mtab /proc/mounts这三个文件的分析与比较 分区表位置
本文主要讲解Linux中/etc/fstab /etc/mtab /proc/mounts这三个文件的作用以及不同之处. 转自http://haohaozhang.blog.51cto.com/917 ...
- Linux中环境变量文件及配置
Linux中环境变量文件及配置 一.环境变量文件介绍 转自:http://blog.csdn.net/cscmaker/article/details/7261921 Linux中环境变量包括系统 ...
- Linux中环境变量文件及配置(转载)
一.环境变量文件介绍 转自:http://blog.csdn.net/cscmaker/article/details/7261921 Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登 ...
- reinstall_xbt: Linux中如何查看文件的最初创建时间
Linux中如何查看文件的最初创建时间 与文件相关的几个时间: 1.访问时间,读一次这个文件的内容,这个时间就会更新.比如对这个文件使用more命令.ls.stat命令都不会修改文件的访问时间. ...
- Linux中如何查看文件的最初创建时间
查看 一个文件的 最初创建时间: Linux中如何查看文件的最初创建时间 linux 目前Linux没有直接查看创建文件的命令,你只能通过文件是否被修改过来进行判断. //查看代码stat ...
- Linux中/etc/passwd文件与/etc/shadow文件解析.
此文章转载自"慧可",用来学习. 1. /etc/passwd文件 1.1 /etc/passwd文件内容格式 用户名: 密码 : uid : gid :用户描述:主目录:登陆s ...
- Linux中加入用户、删除用户时新手可能遇到的问题
Linux中加入用户.删除用户时新手可能遇到的问题 1.创建新用户后切换到新用户:No directory, logging in with HOME=/ 加入用户 #sudo us ...
- Linux中环境变量文件
一.环境变量文件介绍 转自:http://blog.csdn.net/cscmaker/article/details/7261921 Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登 ...
随机推荐
- SSH2 架构常用注解
1. @Repository 将 DAO 类声明为 Bean 2.@Component 是一个泛化的概念,仅仅表示一个组件 (Bean) ,可以作用在任何层次. 3.@Service 通常作用在业务层 ...
- Windows7睡眠后自动唤醒
笔者的电脑(Windows7 64位旗舰版)睡眠后,隔段时间后会自动唤醒.经两项配置后,解决了该问题. 1 禁用唤醒定时器 控制面板里进入"电源选项""更改计划设置&qu ...
- 图片流量节省大杀器:基于CDN的sharpP自适应图片技术实践
版权声明:本文由陈忱原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/156 来源:腾云阁 https://www.qclou ...
- 解决PhoneGap不支持viewport的几种方法
前几天用phonegap编译GameBuilder+CanTK时,发现HTML里的viewport无效.CanTK根据devicePixelRatio检测设备的DPI,然后用viewport设置正确的 ...
- js的预编译机制
1.var定义的是“当前作用域下的一个变量”,当在函数内部不使用var声明时,会被当做全局变量而不是函数内的局部变量(严格模式下还会报错) 2.js的预编辑:[对定义式函数]直接创建为作用域上的函数变 ...
- GetMemory
在函数中动态申请内存(虚拟内存,堆),利用指针返回值指向申请的内存.
- java学习之协调同步的线程
当一个线程使用的同步方法中用到某个变量,而此变量有需要其他线程修改后才能符合本线程的需要, 那么可以在同步方法中使用wait(),wait方法可以中断线程的执行,使本线程等待,暂时让出CPU的使用权, ...
- hdu-------1081To The Max
To The Max Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total ...
- MATLAB实现矩阵分块相乘
要实现一下功能,这里$\bf{x}_i$为行向量 $${\bf{A}} = \left[ \begin{array}{l}{{\bf{x}}_1}\\{{\bf{x}}_2}\end{array} \ ...
- quartz Web项目基础最简单配置
web方面的quartz 配置资料,从网上搜索出来的很难找到完整可用的代码样例.自己上传一个. IDE:Intellij tomcat jdk1.7 quartz 2.1.5 这里下载: http:/ ...