前提

  1. 查看需要挂载的磁盘

    1
    lsblk -l

    会列出很多分区地址, 自行确认需要挂载的硬盘地址

  2. 硬盘格式化与分区

    对于未挂载的磁盘,需要对其进行分区、格式化并挂载

  3. 备份

    1
    cp /etc/fstab /etc/fstab.bak

方法一:直接挂载

  • 理论上用 /etc/fstab 直接挂载最好,但是必须要能加载成功才行,如果因为任何故障导致加载不成功,绝大多数系统会卡死在这里不再往下启动了,这是系统安全性检查要求的。
  • 可以通过添加 nofail 参数,允许挂载失败,即使硬盘未连接,系统也会跳过它继续启动
  1. 创建挂载文件夹

    1
    mkdir /mnt/yp                 

    将硬盘挂载到自定义路径/mnt/yp下,可以自定义。

    挂载路径不能是系统路径,否则会清空当前系统数据或无法启动机器。如:root,usr,/,usr/local等系统目录都不可以挂载。

  2. 查看硬盘的uuid

    uuid挂载更推荐,不用担心掉盘导致盘符改变而挂载不上

    1
    lsblk -f  或  blkid
  3. 修改etc/fstab

    输入命令 vim /etc/fstab ,按 i 进行输入,复制粘贴下面这行,按esc键并输入 :wq 保存退出

    1
    2
    3
    4
    5
    UUID=替换成你自己的 /mnt/yp ext4 defaults 0 0               #硬盘挂载不成功,会导致整个系统无法启动

    或者下面这个命令

    UUID=替换成你自己的 /mnt/yp ext4 defaults,nofail 0 0 #添加 nofail 参数,允许挂载失败,即使硬盘未连接,系统也会跳过它继续启动

    注意:请将 “ext4” 替换为您的文件系统类型(如 ntfs、xfs、btrfs 等)。

    或者一键命令:

    1
    2
    3
    4
    5
    echo "UUID=替换成你自己的 /mnt/yp ext4 defaults 0 0" >>/etc/fstab

    或者

    echo "UUID=替换成你自己的 /mnt/yp ext4 defaults,nofail 0 0" >>/etc/fstab

    为确保万无一失,通过以下命令,查看fstab文件最后一行的空格处,是否有特殊字符,没有诡异的字符,则表示文件配置没有语法错误:

    1
    cat -v /etc/fstab
  4. 挂载

    1
    mount -a
    1. 验证
    1
    2
    df -h
    lsblk

方法二(间接挂载)

  1. 创建挂载脚本

    方法一etc/fstab文件中的那行命令注释掉,即不直接修改etc/fstab文件。将其内容单独写到一个脚本里,比如 /etc/monut-disk.sh里面写上:

    1
    2
    3
    4
    UUID=替换成你自己的 /mnt/yp ext4 defaults 0 0

    #比如以下命令
    mount -v UUID=替换成你自己的 /mnt/yp ext4 defaults 0 0

    然后给这个 sh 脚本设置755 权限:chmod 755 /etc/mount-disk.sh,并在 /etc/rc.local 文件里调用这个脚本,在文件末尾 exit0之前追加如下内容并保存:

    1
    bash /etc/monut-disk.sh

    rc.local 里的命令执行失败只会导致 rc.local 不再执行,不会导致系统(的文件检查)停滞。各种 shell 如何执行 sh 程序的命令不一定相同,一般来说直接写 sh 程序本身的路径就行。

参考与鸣谢