Ubuntu 可移动磁盘(U 盘)永久挂载 + 侧边栏稳定显示通用教程
Ubuntu 可移动磁盘(U 盘)永久挂载 + 侧边栏稳定显示通用教程
适用场景
所有 U 盘 / 移动硬盘(Btrfs/ext4/FAT32/NTFS 都能用),解决「拔插后文件管理器不显示」「重启后消失」问题,一次配置永久生效,换盘只改 2 个信息即可。
【前置准备:安全兜底 + 信息收集】
步骤 1:备份系统关键配置(必做!万无一失)
作用:如果后面配置写错了,一键恢复,不会影响系统启动
巴什
运行
sudo cp /etc/fstab /etc/fstab.bak
说明:这条命令会把当前的挂载配置文件复制一份备份,后面出问题直接恢复即可。
步骤 2:确认你的目标分区信息(3 个关键信息)
-
打开终端(Ctrl+Alt+T),执行命令列出所有磁盘分区:巴什运行
LSBLK找到你的 U 盘对应的分区,比如你的是/dev/sdc3,记下来分区路径(格式为/dev/sdX3,X 为 a/b/c/d...)。 -
执行命令获取分区的永久 UUID(最关键:设备名会变,UUID 永远不变):巴什运行
须藤blkid /dev/sdX3
(把/dev/sdX3替换成你自己的分区路径,比如/dev/sdc3)输出示例:明文/dev/sdc3:UUID =“12345678-1234-5678-1234-567812345678”类型=“btrfs”标签=“BATOCERA”...从输出提取 2 个信息:- ① UUID:UUID=后面的字符串(去掉引号,比如12345678-1234-5678-1234-567812345678)
- ② 文件系统类型:TYPE=后面的内容(比如你的是btrfs,也可能是ext4/vfat/ntfs)
-
(仅 Btrfs 分区需做)确认子卷情况:巴什运行
sudo btrfs 子卷列表 /dev/sdX3
正常会看到@开头的子卷;如果输出为空,先执行下面的「补充步骤」,再继续后续操作。
【补充步骤:Btrfs 分区专用(无默认子卷时必做)】
如果你的盘是 Btrfs 且无默认子卷,udisks2 无法自动挂载,需执行以下命令创建标准子卷:
bash
运行
# 1. 创建临时挂载点 sudo mkdir /tmp/usb-tmp # 2. 临时挂载分区 sudo mount /dev/sdX3 /tmp/usb-tmp # 3. 创建udisks2可识别的@子卷 sudo btrfs subvolume create /tmp/usb-tmp/@ # 4. 设置为默认子卷 sudo btrfs subvolume set-default $(sudo btrfs subvolume list /tmp/usb-tmp | grep '@' | awk '{print $2}') /tmp/usb-tmp # 5. 卸载临时挂载点 sudo umount /tmp/usb-tmp
【核心步骤:永久挂载配置】
步骤 1:创建挂载点(必须在/media下,文件管理器才会显示)
规则:挂载点名字与分区名称一致,方便识别,比如你的盘叫BATOCERA,就命名为/media/BATOCERA
bash
运行
# 替换成你自己的挂载点名称,格式为/media/你的盘名 sudo mkdir /media/BATOCERA # 给当前用户读写权限(无需每次sudo) sudo chown $USER:$USER /media/BATOCERA sudo chmod 700 /media/BATOCERA
说明:必须在/media或/mnt目录下,否则文件管理器不会在侧边栏显示。
步骤 2:编辑/etc/fstab,添加永久挂载规则
bash
运行
sudo nano /etc/fstab
在文件最后一行,添加对应文件系统的配置模板,仅需替换 2 个地方:
- ①你的UUID:替换为步骤 2 获取的 UUID
- ②你的挂载点:替换为步骤 1 创建的路径(比如/media/BATOCERA)
模板 1:Btrfs 分区专用(你的场景用这个)
bash
运行
UUID=你的UUID /media/你的挂载点 btrfs defaults,noauto,x-gvfs-show,subvol=@ 0 0
模板 2:ext4 分区专用
bash
运行
UUID=你的UUID /media/你的挂载点 ext4 defaults,noauto,x-gvfs-show 0 0
模板 3:FAT32(vfat)分区专用
bash
运行
UUID=你的UUID /media/你的挂载点 vfat defaults,noauto,x-gvfs-show,uid=1000,gid=1000 0 0
(uid=1000,gid=1000为当前用户读写权限配置,Ubuntu 默认用户 ID 为 1000)
模板 4:NTFS 分区专用
bash
运行
UUID=你的UUID /media/你的挂载点 ntfs defaults,noauto,x-gvfs-show,uid=1000,gid=1000 0 0
关键参数说明(不用全懂,知道作用即可)
表格
| 参数 | 作用 | 为什么必须加 |
|---|---|---|
| UUID=xxx | 用分区唯一标识挂载,不受设备名变化影响 | 避免 U 盘换口后设备名改变导致挂载失败 |
| 你的挂载点 | 挂载到/media下的目录 | 只有/media//mnt下的目录会被文件管理器识别 |
| 文件系统类型 | 与你的盘格式一致(如btrfs) | 保证挂载兼容性 |
| defaults | 通用安全挂载选项 | 确保分区正常读写 |
| noauto | 开机不自动挂载 | 没插 U 盘时不会报错、卡开机界面(U 盘必须加) |
| x-gvfs-show | 强制文件管理器侧边栏显示设备 | 未插 U 盘也会显示灰色图标,插上自动激活,解决拔插不显示问题 |
| subvol=@ | Btrfs 专用,指定挂载默认子卷 | 无此参数 Btrfs 分区无法正常挂载 |
| uid=1000,gid=1000 | FAT32/NTFS 专用,赋予当前用户读写权限 | 避免出现 “权限不足,无法打开” 问题 |
| 0 0 | 关闭开机文件系统检查 | 移动盘无需此检查,不影响系统启动 |
步骤 3:保存配置并测试(必做!避免重启出错)
- 保存文件:按Ctrl+O→ 回车确认 → 按Ctrl+X退出 nano 编辑器。
-
测试配置是否正确:
bash运行
sudo mount -a
- ✅ 正常情况:无任何输出 / 报错,说明配置完全正确!
-
❌ 报错情况:立刻执行命令恢复备份,再检查配置是否有误(如 UUID 少字符、路径错误):
bash运行
sudo cp /etc/fstab.bak /etc/fstab
【验证:测试拔插 + 重启是否正常】
-
测试 1:安全弹出 U 盘,再插回电脑
查看文件管理器侧边栏,是否立刻出现你的盘?能否正常读写文件?
-
测试 2:注销 / 重启电脑,再插 U 盘
重启后未插 U 盘时,侧边栏会显示灰色盘图标;插上 U 盘后图标变亮、可正常打开,说明配置成功!
-
测试 3:不插 U 盘开机
确认开机无报错,能正常进入系统(noauto参数保证了不插 U 盘也不会卡开机)。
【后续遇到其他盘怎么办?通用操作】
以后遇到其他 U 盘 / 移动硬盘不显示,仅需重复以下步骤:
- 用lsblk找到分区路径(如/dev/sdX3)
- 用sudo blkid /dev/sdX3获取 UUID 和文件系统类型
- 用sudo mkdir /media/新盘名创建挂载点
- 选择对应模板,替换 UUID 和挂载点,添加到/etc/fstab最后一行
- 执行sudo mount -a测试,无报错即完成配置。
【兜底恢复方案:万一配置错了开不了机】
若写错配置导致开机卡在 GRUB 界面,按以下步骤恢复:
- 开机时在 GRUB 界面按e进入编辑模式
- 找到以linux开头的行,将ro quiet splash(或类似内容)改为rw init=/bin/bash
- 按Ctrl+X启动,进入单用户模式
-
执行命令恢复备份:
巴什运行
cp /etc/fstab.bak /etc/fstab
- 执行exec /sbin/init重启系统,即可恢复正常。
【额外小技巧:安全修改分区标签(无需卸载)】
以后想改 U 盘名称(标签),无需卸载 / 拔盘,直接执行对应命令:
- Btrfs:sudo btrfs filesystem label /dev/sdX3 新名字
- ext4:sudo e2label /dev/sdX3 新名字
- FAT32:sudo dosfslabel /dev/sdX3 新名字
- NTFS:sudo ntfslabel /dev/sdX3 新名字
需要我帮你把你当前的UUID和挂载点信息,直接生成一条可复制的fstab配置行吗?你只要粘贴进去就能用,不用再手动替换。