• 27. Ubuntu 20.04 开机自动挂载文件/etc/fstab



    不同于热插拔的设备,对于硬盘可能需要长期挂载在系统下,所以如果每次开机都去手动mount是非常痛苦的,当然Ubuntu系统的GNOME桌面自带的gvfsd也会帮你自动挂载,但是指向的路径却是按照uuid命名的,这是极其痛苦的,所以希望开机就可以自动挂载硬盘到指定路径。

    1.fstab

    系统开机的时候会读取/etc/fstab这个文件中的内容,根据文件配置情况去挂载磁盘。
    vim /etc/fstab,打开fstab文件,具体如下图所示;

    • fstab信息
    vim /etc/fstab
    
    • 1
    # /etc/fstab: static file system information.
    #
    # Use 'blkid' to print the universally unique identifier for a
    # device; this may be used with UUID= as a more robust way to name devices
    # that works even if disks are added and removed. See fstab(5).
    #
    #                
    # / was on /dev/nvme0n1p2 during installation
    UUID=37a0fcfb-d9f1-4e70-bdaa-b40a10945de5 /               ext4    errors=remount-ro 0       1
    # /boot/efi was on /dev/nvme0n1p1 during installation
    UUID=EBE5-4E92  /boot/efi       vfat    umask=0077      0       1
    /swapfile                                 none            swap    sw              0       0
    ~                                                                                                                                               
    ~    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    2. 参数含义

    这里需要配置6个参数,

    # <file system>  <mount point>  <type>         <options>        <dump>       <pass> 
    # <设备文件名称>  <挂载目录>      <文件系统类型>  <文件系统参数>     <是否备份>     <开机时自检>
    
    
    • 1
    • 2
    • 3
    • file system
      文件系统,参考默认的fstab来看,这里只需要把硬盘的UUID正确配置即可;可以通过指令blkid,查看硬盘的UUID;
    • mount point
      挂载路径,最终硬盘会被挂载到配置的这个路径下,但是这个路径必须先存在,提前创建好这个路径即可;
    • type
      硬盘的文件系统类型,相应的有ntfs,ext4,fat,vfat等等,这里要根据实际情况设置,同样的也可以通过指令blkid,查看硬盘的TYPE;
    • options
      在这里插入图片描述
    • dump
      这个参数用来检查文件系统以多快频率进行备份,系统将认为其值为0,则不需要进行备份;设置成1暂时也没有实践过;
    • pass
      这个参数用来决定在启动时需要被fsck扫描的文件系统的顺序,根文件系统"/"对应该字段的值应该为1,其他的应该逐渐递增,如果设置为0则表示不扫描。

    3.开机自动挂载

    修改/etc/fstab文件,这一步是实现永久挂载的关键。
    使用mount挂载,机器重启后就会失效,因此需要添加开机自动挂载。

    3.1 查看要挂载的磁盘UUID

    root@a512-3090:/mnt/DEV_ST8000_01# blkid
    ........
    ........
    /dev/sda1: UUID="f1345b59-8bab-4391-9feb-7b00c4673ce5" TYPE="ext4" PARTUUID="fabe133b-03aa-e240-ba8c-686789c52abb"
    /dev/sda2: UUID="913f9876-acbe-4185-aba8-e0e74366999a" TYPE="ext4" PARTUUID="f69088c9-3a25-f741-b1ce-b1c2a11d9051"
    /dev/sda3: UUID="22e6ffa9-1558-4369-918e-6929c5186386" TYPE="ext4" PARTUUID="ed9e5135-44f4-4345-a662-975699b97338"
    /dev/sda4: UUID="7b80c704-2a72-4bf0-9d96-d4c24acb6a82" TYPE="ext4" PARTUUID="1bdcf93f-7668-ff42-9780-722595147503"
    
    ........
    
    
    # 或者指定具体那个分区
    root@a512-3090:/mnt/DEV_ST8000_01# blkid /dev/sda1 /dev/sda2 /dev/sda3 /dev/sda4
    /dev/sda1: UUID="f1345b59-8bab-4391-9feb-7b00c4673ce5" TYPE="ext4" PARTUUID="fabe133b-03aa-e240-ba8c-686789c52abb"
    /dev/sda2: UUID="913f9876-acbe-4185-aba8-e0e74366999a" TYPE="ext4" PARTUUID="f69088c9-3a25-f741-b1ce-b1c2a11d9051"
    /dev/sda3: UUID="22e6ffa9-1558-4369-918e-6929c5186386" TYPE="ext4" PARTUUID="ed9e5135-44f4-4345-a662-975699b97338"
    /dev/sda4: UUID="7b80c704-2a72-4bf0-9d96-d4c24acb6a82" TYPE="ext4" PARTUUID="1bdcf93f-7668-ff42-9780-722595147503"
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    3.2 向fstab文件中添加

    UUID=f1345b59-8bab-4391-9feb-7b00c4673ce5 /mnt/DEV_ST8000_01    ext4    errors=remount-ro 0     0
    UUID=913f9876-acbe-4185-aba8-e0e74366999a /mnt/DEV_ST8000_02    ext4    errors=remount-ro 0     0
    UUID=22e6ffa9-1558-4369-918e-6929c5186386 /mnt/DEV_ST8000_03    ext4    errors=remount-ro 0     0
    UUID=7b80c704-2a72-4bf0-9d96-d4c24acb6a82 /mnt/DEV_ST8000_04    ext4    errors=remount-ro 0     0
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    配置完之后如下图所,记得保存;

    #
    # Use 'blkid' to print the universally unique identifier for a
    # device; this may be used with UUID= as a more robust way to name devices
    # that works even if disks are added and removed. See fstab(5).
    #
    # <file system> <mount point>   <type>  <options>       <dump>  <pass>
    # / was on /dev/nvme0n1p2 during installation
    UUID=37a0fcfb-d9f1-4e70-bdaa-b40a10945de5 /               ext4    errors=remount-ro 0       1
    # /boot/efi was on /dev/nvme0n1p1 during installation
    UUID=EBE5-4E92  /boot/efi       vfat    umask=0077      0       1
    
    UUID=f1345b59-8bab-4391-9feb-7b00c4673ce5 /mnt/DEV_ST8000_01    ext4    errors=remount-ro 0     0
    UUID=913f9876-acbe-4185-aba8-e0e74366999a /mnt/DEV_ST8000_02    ext4    errors=remount-ro 0     0
    UUID=22e6ffa9-1558-4369-918e-6929c5186386 /mnt/DEV_ST8000_03    ext4    errors=remount-ro 0     0
    UUID=7b80c704-2a72-4bf0-9d96-d4c24acb6a82 /mnt/DEV_ST8000_04    ext4    errors=remount-ro 0     0
    
    
    /swapfile                                 none            swap    sw              0       0
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    添加的一行信息,注意之间的空白处使用 table 键,信息核对无误后保存退出即可。
    最后,重启系统,看一下硬盘是不是已经挂载上去了。

  • 相关阅读:
    Idea常用插件及其作用
    Java-数据库基本概念
    kafka 3.5 主题分区的Follower创建Fetcher线程从Leader拉取数据源码
    Git 代码库 gogs 部署私服及 https 配置手册
    计算机竞赛 深度学习 opencv python 公式识别(图像识别 机器视觉)
    单链表oj (上),详细的过程分析,每道题有多种解题思路,一定会有所收获
    vue2/vue3 Transition+routerView实现过渡动画效果
    第十四届蓝桥杯模拟赛第一期试题与题解Java
    matlab习题 —— 符号运算相关练习
    探索Flutter框架对iOS应用打包与部署的最佳实践
  • 原文地址:https://blog.csdn.net/u014217137/article/details/128057693