上一篇文章我们说明了手动分区讲解,对一块新硬盘进行了手动分区和挂载。

但是我们发现重启系统之后,新硬盘上的两个挂载没有了,还需要重新手动挂载。也就是说,之前的操作,挂载上的新硬盘,重启系统之后,是不会自动挂载的,所以这样真的很麻烦,这时我们就需要进行自动挂载的操作。

提示:日常的移动存储设备,如U盘、光盘、移动硬盘都禁止做自动挂载,如果在系统启动前你忘记放入光盘等,系统会直接报错。你只需要把固定存储设备,设置为自动挂载即可。

1、自动挂载

自动挂载主要依靠的就是修改分区自动挂载文件/etc/fstab

编辑/etc/fstab文件。内容如下:

  • 第一列:设备文件名
  • 第二列:挂载点
  • 第三列:文件系统
  • 第四列:挂载选项(忘记的可以看之前的文章Linux系统中的挂载操作
  • 第五列:1,是否可以备份。0不备份,1每天备份,2不定期备份。(分区在重启的时候是否自动进行备份,默认建议写1swap分区为0。)
  • 第六列:2,是否检测磁盘fsck0不检测,1启动时检测,2启动后检测。(在开机的时候是否运行fsck命令进行自动修复文件,建议根分区是1,其他分区都设置为2swap分区为0。)

说明:第一列设备文件名为什么要写分区的UUID?

因为如果写分区设备文件名,如/dev/sdb1。当我块硬盘坏了,我换了一块新的硬盘,当设置新硬盘的分区时候,分区名称可能还是/dev/sdb1,这时的/dev/sdb1分区和之前的/dev/sdb1不是一个了。而系统会误认为两个是一个/dev/sdb1分区,最后有可能导致系统出现问题。所以设备文件名位置写UUID,可以确定分区的唯一性。这样做的好处是当硬盘增加了新的分区,或者分区的顺序改变,再或者内核升级后,仍然能够保证分区能够正确的加载,而不至于造成启动障碍。(现在写设备文件名也是可以的,最好还是写分区的UUID。)

2、如何查询系统下每个分区的UUID

我们讲过的dumpe2fs命令是可以查看到的,命令如下:

# 查看分区超级块中的分区信息。
[root@localhost ~]# dumpe2fs /dev/sdb5 # 或者执行命令
[root@localhost ~]# ls -l /dev/disk/by-uuid/

结果如下:

3、配置自动挂载

修改/etc/fstab配置文件,进行自动挂载,内容如下:

注意:/etc/fstab配置文件直接参与系统启动,如果修改错误,系统启动报错。

写好文件之后,重启系统查看。

mount -a命令,用它进行测试/etc/fstab配置文件,有时候不太准确,新版本的Linux系统对/etc/fstab配置文件容错率提高了。这是一个好处,修改错了/etc/fstab配置文件内容(一般内容的拼写错误,设备文件名除外),最多分区没有挂载上,但不影响开机。

4、/etc/fstab文件修复

上面说了,/etc/fstab配置文件直接参与系统启动,如果修改错误,系统启动报错。

/etc/fstab配置文件是可以进行修复的,我们来说一说如何修复。

注意:系统修复的前提,是我能拿到服务器(电脑)本机。但是现在的服务器一般都在机房和云端。

像添加分区的自动挂载,只有设备文件名写错了,重启之后会失败,其他的编写错误都能正常启动系统。那我们就重新编辑/etc/fstab配置文件,把设备文件名修改一下。

在用mount -a命令,检查一下/etc/fstab配置文件是否有错误,结果如下,发现错误。

我们重启一下系统,看看能否正常启动。

系统启动出现了错误,如下图所示:

可以看到上图最后两行提示,Give root password for maintenance (or tupe Control-D to continue):,请你输入root用户的密码,或者ctrl+d继续。ctrl+d不是继续下一步,而是继续重启。

这时候只有输入root用户的密码了,但是需要到服务器本机才能输入root用户密码,系统没有启动,网卡是没有生效的,远程客户端是链接不上的。所以再次重复一下,修复Linux系统的前提是拿到本机。

我们输入root用户的密码,你发现你登陆进系统了。

如下图所示:

这样我们就可以继续操作Linux系统了,执行[rootelocalhost ~]# vim /etc/fstab命令,修改/etc/fstab配置文件。

注意:在修改/etc/fstab配置文件时,该文件是只读文件,你无法正常保存修改。

如下图所示:

原因是对整个分区没有写权限,要把/分区重新挂载下,挂载为读写权限就可以修改了。

命令如下:

[root@localhost ~]# mount -o remount,rw /

再去修改/etc/fstab配置文件,把它改回来就可以正常启动了啊。

『学了就忘』Linux文件系统管理 — 60、Linux中配置自动挂载的更多相关文章

  1. 『学了就忘』Linux基础 — 7、补充:安装Linxu系统时设置硬盘挂载说明

    目录 (1)新建一个/home分区 (2)再创建一个/boot分区. (3)创建一个swap分区 (4)最后剩余的空间全部分给根目录 (5)总结 上一篇在VMwar虚拟机中安装Linux操作系统中ht ...

  2. 『学了就忘』Linux基础命令 — 23、文件基本权限的介绍和作用

    目录 1.基本权限的介绍 (1)权限位的含义 (2)权限的优先级 2.权限的基本作用 (1)权限含义的解释 (2)目录权限说明 1.基本权限的介绍 (1)权限位的含义 前面讲解ls命令时,我们已经知道 ...

  3. 『学了就忘』Linux软件包管理 — 44、在RPM包中提取文件

    目录 1.RPM包中文件的提取 2.在RPM包中提取文件的操作 (1)cpio命令介绍 (2)提取RPM包中文件 1.RPM包中文件的提取 为什么要做这个事呢? 在操作Linux系统的时候误删除一个文 ...

  4. 『学了就忘』Linux文件系统管理 — 57、Linux文件系统介绍

    目录 1.了解硬盘结构(了解即可) (1)硬盘的逻辑结构 (2)硬盘接口 2.Linux文件系统介绍 (1)Linux文件系统的特性 (2)Linux常见文件系统 3.整理一下对文件系统的认识 在了解 ...

  5. 『学了就忘』Linux文件系统管理 — 58、常用硬盘管理相关命令

    目录 1.df命令 2.du命令 3.fsck文件系统修复命令 4.显示磁盘状态dumpe2fs 5.查看文件的详细时间 6.判断文件类型 1.df命令 df命令用于统计分区的占用状况. [root@ ...

  6. 『学了就忘』Linux文件系统管理 — 61、使用parted命令进行分区

    目录 1.parted命令介绍 2.parted交互模式 3.建立分区 (1)查看分区 (2)修改成GPT分区表 (3)建立分区 (4)建立文件系统(格式化) (5)调整分区大小 (6)删除分区 1. ...

  7. 『学了就忘』Linux文件系统管理 — 62、手动分配swap分区

    目录 1.查看swap分区情况 2.手动修改swap分区 3.格式化swap分区 4.使用swap分区 5.配置swap分区开机之后自动挂载 1.查看swap分区情况 swap分区就相当于是内存的一个 ...

  8. 『学了就忘』Linux文件系统管理 — 66、通过图形界面进行LVM分区

    目录 1.选择自定义分区 2.分配boot分区 3.创建LVM物理卷 4.生成卷组 5.创建逻辑卷 6.格式化安装 我们先用新安装Linux系统时的图形化界面,来演示一下LVM逻辑卷如何进行分区. 提 ...

  9. 『学了就忘』Linux文件系统管理 — 67、通过命令模式进行LVM分区

    目录 1.物理卷管理 (1)准备硬盘或者分区 (2)建立物理卷 (3)查看物理卷 (3)删除物理卷 2.创建卷组 (1)建立卷组 (2)查看卷组 (3)增加卷组容量 (4)减小卷组容量 (5)删除卷组 ...

随机推荐

  1. PTA实验4-2-3 验证“哥德巴赫猜想” (20分)

    实验4-2-3 验证"哥德巴赫猜想" (20分) 数学领域著名的"哥德巴赫猜想"的大致意思是:任何一个大于2的偶数总能表示为两个素数之和.比如:24=5+19, ...

  2. FastAPI 学习之路(三十八)Static Files

    如果使用前后台不分离的开发方式,那么模板文件中使用的静态文件,比如css/js等文件的目录需要在后台进行配置,以便模板渲染是能正确读到这些静态文件.那么我们应该如何处理呢. 首先安装依赖 pip in ...

  3. F1西班牙大奖赛-加泰罗尼亚赛道地图及简介

    背景 银石双赛结束,第二轮三连赛的最后一场将转战西班牙,第50届F1西班牙大奖赛将于本周末(正赛2020-08-15)在加泰罗尼亚赛道上演. 作为近年来F1承办季前测试的赛道,所有人都对这里再熟悉不过 ...

  4. Java:ConcurrentHashMap类小记-3(JDK8)

    Java:ConcurrentHashMap类小记-3(JDK8) 结构说明 // 所有数据都存在table中, 只有当第一次插入时才会被加载,扩容时总是以2的倍数进行 transient volat ...

  5. springBoot服务整合线程池ThreadPoolTaskExecutor与@Async详解使用

    ThreadPoolExecutor:=======这个是java自己实现的线程池执行类,基本上创建线程池都是通过这个类进行的创建.ThreadPoolTaskExecutor:========这个是 ...

  6. sql_exporter的使用

    sql_exporter的使用 一.背景 二.sql-exporter的使用 1.下载 2.配置文件 1.sql_exporter.yml 2.collectors 目录中的配置文件 1.collec ...

  7. Photoshop教程,视频MP4格式转换为GIF格式

    转自百度问题 https://zhidao.baidu.com/question/1497485136643778259.html Adobe PhotoShop软件的最bai新du本是可以编辑视zh ...

  8. stm32知识学习的先后顺序

    这里大概的罗列了一些学习STM32的内容,以及学习顺序.如果是新手的话,建议边看中文手册和学习视频;如果是已经入门的,个人建议自己做一个项目,不论项目大小,当然里面会涉及到自己已经学习过的,或者是自己 ...

  9. STM32学习笔记之核心板PCB设计

    PCB设计流程 PCB规则设置 设计规则的单位跟随画布属性里设置的单位,此处单位是mil.导线线宽最小为10mil;不同网络元素之间最小间距为8mil;孔外径为24mil,孔内径为12mil;线长不做 ...

  10. C++实现红黑树

    红黑树的应用: 利用key_value对,快速查找,O(logn) socket与客户端id之间,形成映射关系(socket, id) 内存分配管理 一整块内存,不断分配小块 每分配一次,就加入到红黑 ...