在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文件删除或修改了,导致系统无法启动的更多相关文章

  1. Oracle修改系统参数导致系统无法启动对pfile文件恢复。

    1.当前现象:Oracle启动报错ORA-27102 [oracle@JYDB1 ~]$ sqlplus / as sysdba SQL*Plus: Release 10.2.0.4.0 - Prod ...

  2. Linux中/etc/fstab /etc/mtab /proc/mounts这三个文件的分析与比较 分区表位置

    本文主要讲解Linux中/etc/fstab /etc/mtab /proc/mounts这三个文件的作用以及不同之处. 转自http://haohaozhang.blog.51cto.com/917 ...

  3. Linux中环境变量文件及配置

    Linux中环境变量文件及配置   一.环境变量文件介绍 转自:http://blog.csdn.net/cscmaker/article/details/7261921 Linux中环境变量包括系统 ...

  4. Linux中环境变量文件及配置(转载)

    一.环境变量文件介绍 转自:http://blog.csdn.net/cscmaker/article/details/7261921 Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登 ...

  5. reinstall_xbt: Linux中如何查看文件的最初创建时间

    Linux中如何查看文件的最初创建时间 与文件相关的几个时间: 1.访问时间,读一次这个文件的内容,这个时间就会更新.比如对这个文件使用more命令.ls.stat命令都不会修改文件的访问时间.   ...

  6. Linux中如何查看文件的最初创建时间

    查看 一个文件的 最初创建时间: Linux中如何查看文件的最初创建时间  linux     目前Linux没有直接查看创建文件的命令,你只能通过文件是否被修改过来进行判断. //查看代码stat  ...

  7. Linux中/etc/passwd文件与/etc/shadow文件解析.

    此文章转载自"慧可",用来学习. 1. /etc/passwd文件 1.1 /etc/passwd文件内容格式 用户名: 密码 : uid  : gid :用户描述:主目录:登陆s ...

  8. Linux中加入用户、删除用户时新手可能遇到的问题

    Linux中加入用户.删除用户时新手可能遇到的问题  1.创建新用户后切换到新用户:No directory, logging in with HOME=/     加入用户     #sudo us ...

  9. Linux中环境变量文件

    一.环境变量文件介绍 转自:http://blog.csdn.net/cscmaker/article/details/7261921 Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登 ...

随机推荐

  1. C++ Primer 笔记(2)第二章 变量与基本类型

    第二章 变量与基本类型 1.基本内置类型包括算术类型和空类型,算术类型分为两类:整型(包括字符和布尔类型)和浮点型: 2.布尔类型(bool)的取值是真(true)或者假(false): 3.字面值常 ...

  2. 项目框架开发流程(oa项目为例)

    1. 导包 2. 配置web.xml 3. 设计通用dao ,base,service, action, domain  ,utils等 4.配置struts.xml 和 beans.xml 5. 配 ...

  3. Windows 调色板

    目录 第1章调色板    1 1.1 为什么要使用调色板    1 1.2 使用调色板    2 1.2.1 创建逻辑调色板    2 1.2.2 使用    3 1.2.3 销毁逻辑调色板    4 ...

  4. J2EE相关总结

    Java Commons The Java™ Tutorials: http://docs.oracle.com/javase/tutorial/index.html Java Platform, E ...

  5. Mybatis那一大堆事儿--1

    <select id="listAmPerfTime" resultType="Date"> SELECT pam.perf_time AS per ...

  6. 5.5 Selenium2中的元素定位

    WebDriver的更加面向对象的方式大大降低了Selenium的入门门槛,对Web元素的操作也非常之简单易学.实际项目用起来,工作量最大的部分就是你如何解析定位到你的目标项目页面中的各种元素.好比你 ...

  7. ArcMap上发布地图服务前,“将图形转为要素的选项”时报“输出名称无效”错误

    发布ArcMap服务时,由于矢量图中包含“文本标注”. 发布矢量图服务时,报了一个“00017: 数据框中至少有一个包含图形的已启用注记组”的错误,如下图: 官网给出的解决办法如下:http://re ...

  8. Qt之Meta-Object系统

    简述 Qt的元对象系统(Meta-Object System)提供了信号与槽机制,可用于对象间通信.运行时类别信息和动态属性系统. 元对象系统基于三个方面: QObject类:为objects提供了一 ...

  9. Unique Binary Search Trees [LeetCode]

    Given n, how many structurally unique BST's (binary search trees) that store values 1...n? For examp ...

  10. Extjs 视频教程

    ---恢复内容开始--- 网易云课堂 <尚学堂_Ext视频教程> login.html <html> <head> <meta http-equiv=&quo ...