linux中安全获取分区uuid的首选方法是执行sudo blkid,它直接读取文件系统元数据,可列出所有块设备的uuid、type等信息,无需挂载且结果权威可靠。

直接用 UUID 写进 /etc/fstab,别碰 /dev/sdX 这类设备名——它重启后可能就变了,挂载失败轻则数据不可见,重则系统卡在启动界面。
怎么安全获取分区的 UUID
设备名(如 /dev/sdb1)不是稳定标识,UUID 才是。执行以下命令确认目标分区:
-
sudo blkid—— 列出所有块设备及其UUID和TYPE,找你刚分好区、还没挂载的那个 - 或更精准:用
lsblk -f | grep -A5 "sdb"(把sdb换成你的盘符),快速定位未挂载且有文件系统的分区 - 注意复制整段
UUID="...",包括引号;如果输出里没引号,自己补上,fstab 里必须带引号或直接写UUID=xxx格式
fstab 条目里这 6 列不能乱填
每一行必须严格按顺序填满 6 列,用空格或制表符分隔,缺一不可:
Linux 性能分析与调优专家,覆盖 CPU、内存、磁盘 I/O、网络、内核参数、编译优化、容器/K8s。适用场景:系统卡顿/高负载、内存不足/OOM/Swap 高、CPU 异常/iowait 高。
- 第 1 列:用
UUID=123e4567-e89b-12d3-a456-426614174000(推荐)或LABEL=mydata;避免/dev/sdb1 - 第 2 列:挂载点目录,如
/mnt/data—— 必须提前用sudo mkdir -p /mnt/data创建好 - 第 3 列:文件系统类型,如
ext4、xfs、ntfs3;ntfs要写成ntfs3(Ubuntu 22.04+ 默认),否则报wrong fs type - 第 4 列:挂载选项,常用组合:
defaults,nofail(nofail很关键:磁盘没插上也不阻塞启动);加noatime可减少小文件读取开销 - 第 5 列:备份标记,一律填
0 - 第 6 列:fsck 顺序,非根分区填
0或2;设为0表示跳过检查,更稳妥
改完 fstab 后必须验证,不能直接重启
错误的 fstab 会导致系统启动卡死在黑屏或 emergency mode。验证只用一条命令:
- 运行
sudo mount -a—— 它会按 fstab 逐条尝试挂载,不重启、不写入磁盘 - 如果没任何输出,说明语法和路径都 OK;如果有报错,比如
mount: /mnt/data: wrong fs type,就回头检查第 3 列类型是否拼错,或是否漏装驱动(如sudo apt install ntfs-3g) - 验证成功后,再用
df -hT | grep data看是否真挂上了,文件系统类型是否匹配
挂载点权限和用户访问经常被忽略
即使挂载成功,普通用户也可能无法读写,尤其是 NTFS 或 FAT 分区:
- ext4/xfs 分区默认继承挂载点目录权限,但若挂载点属主是 root,用户需加
uid=1000,gid=1000到第 4 列(把 1000 换成你用户的id -u输出) - FAT/NTFS 分区不支持 Unix 权限,必须显式指定:
defaults,uid=1000,gid=1000,umask=022 - 不要用
chmod 777挂载点来“解决”权限问题——那是治标不治本,且有安全风险
最常翻车的地方不在配置本身,而在验证环节跳过 mount -a 直接重启;还有就是把 ntfs 写成 ntfs-3g 或漏掉 nofail 导致外置硬盘没插时系统起不来。










