失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > linux中/etc/fstab文件删除或修改了 导致系统无法启动

linux中/etc/fstab文件删除或修改了 导致系统无法启动

时间:2022-11-28 12:04:59

相关推荐

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

#

# 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:137c627a81-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文件删除或修改了 导致系统无法启动》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。