在带Gnome桌面的Ubuntu Server 24.04 LTS中编辑fstab实现exFAT外置硬盘开机自动挂载并指定用户权限
兄弟我太懂你这种被root权限锁在自己外置硬盘外面的憋屈了!之前用Disks GUI踩过一模一样的坑,给你一步步捋清楚怎么通过编辑fstab搞定exFAT硬盘的开机自动挂载,还能让你拥有完全读写权限,再也不用跟root权限较劲:
第一步:安装exFAT支持组件
Ubuntu Server默认不带exFAT的驱动,先把这个装上,打开终端跑下面的命令:
sudo apt update && sudo apt install exfatprogs exfat-fuse
输入你的用户密码,等安装完成就行。
第二步:获取每个exFAT硬盘的UUID
用UUID挂载比/dev/sdb1这种动态路径靠谱多了,不会因为插硬盘的顺序变了就挂载错。运行下面的命令:
sudo blkid
在输出里找你的三个外置硬盘,每个exFAT分区会显示TYPE="exfat",旁边的UUID=XXXX-XXXX就是你要的,把每个硬盘的UUID记下来(比如SeaGate 4TB的UUID可能是ABCD-1234,WD 2TB的是EFGH-5678)。
第三步:创建专属挂载点
建议把硬盘挂载到你自己的home目录下,这样访问方便,也避免权限混乱。比如我会这么建:
mkdir ~/seagate_4tb_1 mkdir ~/seagate_4tb_2 mkdir ~/wd_2tb
你可以根据自己的习惯改挂载点的名字,比如直接叫~/backup_drive也行。
第四步:编辑fstab配置文件
这是最关键的一步,直接编辑系统的自动挂载配置:
sudo nano /etc/fstab
拉到文件最末尾,给每个硬盘加一行挂载配置,格式如下,记得替换成你自己的UUID、挂载点路径和用户ID:
UUID=ABCD-1234 /home/你的用户名/seagate_4tb_1 exfat defaults,uid=1000,gid=1000,umask=0000 0 0 UUID=EFGH-5678 /home/你的用户名/seagate_4tb_2 exfat defaults,uid=1000,gid=1000,umask=0000 0 0 UUID=IJKL-9012 /home/你的用户名/wd_2tb exfat defaults,uid=1000,gid=1000,umask=0000 0 0
关键参数解释:
uid=1000,gid=1000:把挂载后的硬盘所有者设为你的普通用户,这样就不会再出现root锁权限的问题。如果你不确定自己的UID/GID,跑id命令就能看到,普通用户一般都是1000。umask=0000:因为exFAT本身不支持Linux的权限系统,这个参数是在挂载层模拟权限,让你拥有完全的读写执行权限,不会被任何权限限制拦住。- 最后的
0 0:第一个0表示开机不备份这个分区,第二个0表示开机不做文件系统检查,exFAT不需要这两个操作。
第五步:保存配置并测试挂载
按Ctrl+O,回车确认保存,再按Ctrl+X退出nano编辑器。接着运行下面的命令测试挂载:
sudo mount -a
如果终端没有任何报错,说明配置没问题!你可以去自己的挂载点目录看看,是不是能正常读写文件,再也不会被root权限拦住了。
最后别忘了清理旧配置
如果你之前用Disks app在fstab里加过挂载项,一定要找出来删掉或者用#注释掉(在那一行开头加#),不然会和新的挂载项冲突,导致开机挂载失败。
备注:内容来源于stack exchange,提问作者SolidusDrake

