跳转到主内容
极星编程网:以代码为星,赴技术山海!

Linux系统如何使用UUID挂载硬盘?解决重启后盘符跳变【指南】

用UUID替代/dev/sdXN可稳定解决Linux盘符跳变问题;查UUID用sudo blkid、lsblk -f或ls -l /dev/disk/by-uuid/;fstab中需严格按六列格式填写,含UUID、挂载点、文件系统类型、选项(推荐defaults,nofail)、dump标志(0)和fsck顺序(数据盘建议2或0);修改后须用sudo mount -a验证,并注意LVM/LUKS/NVMe及Windows分区的特殊处理方式。 直接用
UUID
替换
/dev/sdXN
是解决 Linux 重启后盘符跳变最稳的方式——只要分区没被格式化,它的 UUID 就不会变,
/etc/fstab
就不会失效。 怎么查目标分区的 UUID 别信
ls /dev/sd*
看到的设备名,它随时可能变成
sdb1 → sdc1
。真正可靠的只有 UUID:
sudo blkid
:列出所有已识别分区的 UUID 和 TYPE,输出带引号,复制时务必去掉引号
lsblk -f
:更直观,显示挂载点、FSTYPE、UUID 三列,适合快速定位未挂载但有文件系统的分区
sudo ls -l /dev/disk/by-uuid/
:看到的是软链接,指向实际设备路径,可交叉验证 如果某块盘(比如新加的
/dev/sdc1
)在
blkid
输出里没出现,先确认它是否已格式化:
sudo file -s /dev/sdc1
;若返回 “data”,说明还没建文件系统,得先
sudo mkfs.ext4 /dev/sdc1
(注意备份)。 /etc/fstab 里 UUID 条目怎么写 格式固定六列,顺序不能错,缺一不可:
UUID=a1b2c3d4-5678-90ef-1234-567890abcdef /mnt/data ext4 defaults,nofail 0 2
第一列:UUID 值,不带引号,大小写敏感(抄错一个字母就挂不上) 第二列:挂载点路径,必须提前创建,如
sudo mkdir -p /mnt/data
第三列:文件系统类型,严格按
blkid
输出的
TYPE
填,
xfs
不是
XFS
,
ntfs3
不是
ntfs
第四列:挂载选项,
defaults
是基础,加
nofail
很关键——避免该设备临时缺失(比如拔掉外接硬盘)导致系统卡在启动阶段 第五列:dump 备份标志,现在基本不用,填
0
第六列:fsck 检查顺序,根分区必须是
1
,其他数据盘建议
2
或
0
(设为
0
表示跳过检查,省时间) 验证 fstab 配置是否生效 改完
/etc/fstab
别急着重启,先本地验证: CentOS Linux 7.9.2009 CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业历史服务器中仍可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛著称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全补丁缺失风险。该版本更适合旧业务迁移、历史环境恢复或离线兼容性测试。 下载 运行
sudo mount -a
:无任何输出 = 成功;报错如
mount: unknown filesystem type 'ext4'
,说明内核没加载对应模块(
lsmod | grep ext4
看看),或 TYPE 拼错了 检查是否真挂上了:
findmnt /mnt/data
或
mount | grep data
,看到对应行才算落地 模拟重启影响:拔掉对应硬盘,再跑一次
sudo mount -a
,有
nofail
就该静默跳过,不中断 特别注意:LVM 卷、LUKS 加密卷、NVMe 设备的 UUID 获取方式不同——LVM 用
sudo lvdisplay --colon
,LUKS 用
sudo cryptsetup luksUUID /dev/sdXN
,别直接套用
blkid
结果。 NTFS/FAT 等 Windows 分区怎么处理 这类分区常见于双系统或外接移动盘,
TYPE
通常是
vfat
(FAT32)或
ntfs3
(较新内核,默认启用 POSIX 权限),旧内核可能需装
ntfs-3g
:
UUID=abcd-1234 /mnt/win vfat uid=1000,gid=1000,umask=022,iocharset=utf8 0 0
UUID=efgh-5678 /mnt/ntfs ntfs3 uid=1000,gid=1000,umask=022 0 0
关键点:不加
uid/gid
和
umask
,挂上后普通用户可能只能读、不能写;
iocharset=utf8
解决中文文件名乱码;
ntfs3
是内核原生驱动,比用户态
ntfs-3g
性能更好,但要求内核 ≥ 5.15。 最容易被忽略的是:UUID 虽然稳定,但它绑定的是「分区」而非「整块磁盘」。如果你删了分区再重建,哪怕位置、大小、文件系统都一样,UUID 也会变——所以 fstab 条目必须随分区重建同步更新,不能一劳永逸地“设好就不管”。

相关文章