Linux 开机启动时自动挂载其他硬盘分区

疫情居家,看到角落处的笔记本(2014 的宏碁)确实有点心疼。毕竟后来自己换了 16G 内存 + 128G 的固态 ,所以想着干脆直接用它搞个 K8S 集群用于本地测试,让其发挥一下余热,哈哈。

1. 获取磁盘的名称、UUID和文件类型

sudo blkid
/dev/sda1: UUID="1178" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI System" PARTUUID="9776028d-xxx"
/dev/sda2: UUID="08787bee-xxx" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="15fbb06e-xxx"
/dev/sda3: UUID="vd3m6M-xxx" TYPE="LVM2_member" PARTUUID="f7f18087-02f9-xxx"
/dev/sdb1: LABEL="disk1" UUID="d366bc29-xxx" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="0c08daf6-xxx"
/dev/sdb2: LABEL="disk2" UUID="2495712e-xxx" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="1661f1e0-xxx"
....

LABEL 就是分区磁盘的名称,如果想要修改该名称可参考:Linux 快速修改某个分区的名称/标签

下面将以挂载 /dev/sdb1 分区为例。

2. 自定义磁盘的挂载点

一般都是在 /mnt 目录下创建挂载点,当然也可以在任意位置创建一个目录作为磁盘的挂载点。访问该目录时,就是访问这个磁盘。

cd /mnt

# 创建 Software 目录作为上面 /dev/sdb1 的挂载点
sudo mkdir Software

3. 编辑 /etc/fstab 文件

/etc/fstab 是用来存放文件系统的静态信息的文件。当系统启动的时候,系统会自动地从这个文件读取信息,并且会自动将此文件中指定的文件系统挂载到指定的目录。

选用最喜欢的编辑器即可,这里使用的是 vi/vim

sudo vim /etc/fstab

例如将上面的 /dev/sdb1 分区(ext4 格式)挂载到 /mnt/Software 目录上。

# blkid 磁盘信息如下:
/dev/sdb1: LABEL="disk1" UUID="d366bc29-xxx" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="0c08daf6-xxx"

在文件末尾另起一行,并添加下面的命令:

UUID=d366bc29-xxx  /mnt/Software  ext4  defaults  0  2

如果 /dev/sdb1 分区是 NTFS 格式的,则如下:

UUID=d366bc29-xxx  /mnt/Software  ntfs  defaults  0  2

编辑完成,保存即可。

4. 验证配置是否生效

  1. 先执行下面命令,看能否正常挂载。
    sudo mount -a
  2. 如果能正常挂载,则关机重启,并查看开机完成后磁盘是否正常挂载。

恭喜,大功告成!!!

拓展:/etc/fstab 文件说明

/etc/fstab 文件的每一行主要包含 6 列设置,每一列通过空格或者是 Tab 隔开:

<Device> <Mount-Point> <File-System-Type> <Options> <Backup-Operation> <File-System-Check-Order>
  • Device:通常是所挂载设备的 给定名称UUID
  • Mount Point:所挂载对应的挂载点。
  • File System Type:所挂载设备使用的文件系统类型。
  • Options:挂载设备时使用的参数。
  • Backup Operation:是否对这个文件系统进行备份;0 表示不备份,1 表示进行备份。
  • File System Check Order:需要检查的文件系统的检查顺序;根目录应当获得最高的优先权应设置为 1, 其它所有需要被检查的设备设置为 2,如果不需要被检查则设置为 0

【注】/etc/fstab 的具体使用在此处可不必追究,后续有时间的话会单独整理一篇文章来说明。后面的三个参数暂且设置为 defaults 0 2 即可。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注