前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Ubuntu 配置/etc/fstab参数实现开机自动挂载硬盘

Ubuntu 配置/etc/fstab参数实现开机自动挂载硬盘

作者头像
一个会写诗的程序员
发布2022-09-28 09:12:30
3.3K0
发布2022-09-28 09:12:30
举报

前言

不同于热插拔的设备,对于硬盘可能需要长期挂载在系统下,所以如果每次开机都去手动mount是非常痛苦的,当然Ubuntu系统的GNOME桌面自带的gvfsd也会帮你自动挂载,但是指向的路径却是按照uuid命名的,对于有强迫症的我而言,这是极其痛苦的,所以希望开机就可以自动挂载硬盘到指定路径。只关注具体如何实现可以直接跳过我的这些“废话”,直接移步到实现步骤。

df -Th

代码语言:javascript
复制
me@ai:~/s$ df -Th
文件系统       类型   容量  已用  可用 已用% 挂载点
tmpfs          tmpfs  1.6G  3.1M  1.6G    1% /run
/dev/nvme0n1p2 ext4   468G  313G  132G   71% /
tmpfs          tmpfs  7.8G  181M  7.6G    3% /dev/shm
tmpfs          tmpfs  5.0M  4.0K  5.0M    1% /run/lock
tmpfs          tmpfs  7.8G     0  7.8G    0% /run/qemu
/dev/nvme0n1p1 vfat   511M  5.3M  506M    2% /boot/efi
tmpfs          tmpfs  1.6G  128K  1.6G    1% /run/user/1000
/dev/sda       vfat   3.9T  256K  3.9T    1% /home/me/s

sudo fdisk -l

代码语言:javascript
复制
Disk /dev/sda:3.81 TiB,4194304000000 字节,1024000000 个扇区
Disk model: SSD             
单元:扇区 / 1 * 4096 = 4096 字节
扇区大小(逻辑/物理):4096 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 4096 字节
磁盘标签类型:dos
磁盘标识符: 0x00000000

sudo mkfs.msdos /dev/sda

sudo mount /dev/sda /home/me/s

fstab

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

代码语言:javascript
复制
# /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).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/nvme0n1p2 during installation
UUID=18525270-8e73-4459-abdb-f2dac55fa9b3 /  ext4  errors=remount-ro 0    1
# /boot/efi was on /dev/nvme0n1p1 during installation
UUID=E4BD-A69E  /boot/efi       vfat    umask=0077      0       1
/swapfile none            swap    sw  0  0
/swapfile none            swap    sw  0  0

# my ssd disk mnt on /home/me/s
/dev/sda /home/me/s   vfat  defaults   1   2

参数含义

这里需要配置6个参数: <file system>,<mount point>,<type>,<options>,<dump>,<pass>; 简单解释一下每个参数的含义,不能只见树木不见森林。

  • 设备 file system 文件系统,参考默认的fstab来看,这里只需要把硬盘的UUID正确配置即可;可以通过指令blkid,查看硬盘的UUID; 也有地方看到,直接配置:/dev/sda
  • mount point 挂载路径,最终硬盘会被挂载到配置的这个路径下,但是这个路径必须先存在,提前创建好这个路径即可;
  • type

硬盘的文件系统类型,相应的有ntfs,ext4,fat,vfat等等,这里要根据实际情况设置,同样的也可以通过指令blkid,查看硬盘的TYPE

  • options
代码语言:javascript
复制
option  description
defaults    use default options: rw, suid, dev, exec, auto, nouser, and async.
noauto  do not mount when “mount -a” is given (e.g., at boot time)
user    allow a user to mount
owner   allow device owner to mount
comment or x-   for use by fstab-maintaining programs
nofail  do not report errors for this device if it does not exist.
  • dump 这个参数用来检查文件系统以多快频率进行备份,系统将认为其值为0,则不需要进行备份;设置成1暂时也没有实践过;
  • pass 这个参数用来决定在启动时需要被fsck扫描的文件系统的顺序,根文件系统"/"对应该字段的值应该为1,其他的应该逐渐递增,如果设置为0则表示不扫描。

实现步骤

1 查看硬盘信息,并找到需要进行挂载的硬盘

sudo fdisk -l

这里我需要对/dev/sdc进行挂载;

2 sudo mkfs.ext4 /dev/sdc

该指令会格式化硬盘,所以请先备份数据,如果硬盘的TYPE就是ext4则无需进行这个步骤的操作

3 sudo mkdir /home/diska

创建硬盘需要挂载的路径,这个路径可以根据自己的需要随意命名;

4 查看UUID

blkid /dev/sdc
blkid /dev/sdc

/dev/sdc: UUID="b72a8f66-73d9-42d0-92cc-ae24bee6a309" TYPE="ext4"

5 配置/etc/fstab 打开/etc/fstab,根据对应的格式如下把UUID(步骤4中获取),挂载路径(步骤4中创建),配置到文件中;

/home/diska was my persional disk

UUID=b72a8f66-73d9-42d0-92cc-ae24bee6a309 /home/diska ext4 errors=remount-ro 0 0

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

最后,重启系统,看一下硬盘是不是已经挂载上去了;

$ cat /proc/mounts | grep sdc

$ /dev/sdc /home/diska ext4 rw,relatime,errors=remount-ro,data=ordered 0

OK,最终sdc成功地挂载到/home/diska路径下了。

代码语言:javascript
复制
$ ls -l /dev/disk/by-uuid/
总用量 0
lrwxrwxrwx 1 root root 15  9月 27 21:54 18525270-8e73-4459-abdb-f2dac55fa9b3 -> ../../nvme0n1p2
lrwxrwxrwx 1 root root 15  9月 27 21:54 E4BD-A69E -> ../../nvme0n1p1
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-09-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • df -Th
  • sudo fdisk -l
  • sudo mkfs.msdos /dev/sda
  • sudo mount /dev/sda /home/me/s
  • fstab
  • 实现步骤
  • /home/diska was my persional disk
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档