有时候,我们在安装完Linux系统之后,可能在使用过程中添加硬盘或者分区进行使用,这时候就需要手动把磁盘分区挂载到某个路径,但是开机之后就会消失,需要重新挂载,非常麻烦,那么我们应该如何设置开机自动挂载呢?

适用场景

在物理环境安装了Window和Linux双系统,希望在Linux访问Windows的分区
安装Linux的时候,部分分区没用上或者发现分区太小了,不够用,希望把空闲的分区利用起来
添加了新的硬盘,需要挂载使用

实现方法

手动挂载

我们可以先查看本机的磁盘设备有多少分区,命令如下:

lsblk

image-1653802622016

然后再通过下面的命令查看当前设备分区挂载情况:

df -hT

image-1653802649195

然后可以看出,此时我的nvme0n1设备只挂载了一个p6分区,而p5分区是我的Windows系统上的数据分区,所以现在我需要在Linux上读写我的Windows平台上的数据分区,也就是nvme0n1p5分区。

下面演示一下通过手动挂载的效果:

mkdir  data
mount /dev/nvme0n1p5 data/
ls data

image-1653802719041

此时最后一个条目显示出了我刚才挂载的分区和路径等信息,那么这时候是可以在这个挂载的路径上进行读写操作的了,但是系统重启之后就需要手动再执行一次挂载,如果后期经常需要用到就比较麻烦,为了解决这个麻烦我们就需要设置这个挂载项开机自动挂载

实现方法

获取分区UUID

想要设置开机自动挂载,必不可少的一个信息就是UUID,我们可以通过下面的命令查询某个分区的UUID(我的分区是/dev/nvme0n1p5

sudo blkid /dev/nvme0n1p5

然后结果如下:

image-1653802782296

然后我们把这一段复制下来:

UUID="5EAE07BCAE078C29"

编辑fstab

获取到了分区的UUID之后,我们就可以通过这个UUID设置开机自动挂载分区了,方法如下:

image-1653802816938

然后配置之前,为了保险起见,建议先备份一个初始文件:

sudo cp /etc/fstab /etc/fstab.bak

然后使用下面的命令写入分区挂载参数:

sudo -i
echo -e "UUID="5EAE07BCAE078C29"\t/home/x/data/\tntfs\tdefaults\t0\t0" >> /etc/fstab
  • UUID="5EAE07BCAE078C29" 分区的UUID
  • /home/x/data/ 分区挂载的绝对路径(必须使用绝对路径)
  • ntfs 挂载的文件系统格式
  • defaults 挂载选项,默认即可,暂不细说
  • 最后两个0,关闭备份和检测,在这里也不细说

实现效果如下

image-1653802953088

然后重启验证即可

注意事项

  • 切记要备份原配置文件
  • 切记要使用对应的分区UUID(每个人的都不一样,但是查询方法是一样 的)
  • 切记要使用绝对路径(该路径必须创建好先,否则会出现系统启动错误的情况)