能否通过UUID或PARTUUID为磁盘分区创建符号链接并使用该链接挂载分区?
能否通过UUID或PARTUUID为磁盘分区创建符号链接并使用该链接挂载分区?
嗨,我来帮你梳理下问题出在哪以及怎么解决~
你现在遇到的问题,核心原因是你创建的符号链接指向的并不是一个真实存在的设备文件路径。PARTUUID="c4db5f86-45b2-43d3-8983-fedeb71da5cd"只是mount命令能识别的特殊标识,它本身并不是/dev目录下的实际文件,所以当你用ln -sf把这个字符串作为目标创建软链接时,系统自然找不到对应的设备。
正确的做法是这样的:
Linux系统其实已经为每个PARTUUID/UUID维护了对应的符号链接,存放在/dev/disk/by-partuuid/(对应PARTUUID)或/dev/disk/by-uuid/(对应UUID)目录下。你需要给这个系统维护的真实符号链接再创建软链接,而不是直接指向PARTUUID字符串。
步骤如下:
先找到你的PARTUUID对应的系统默认符号链接路径:
find /dev/disk/by-partuuid -name "c4db5f86-45b2-43d3-8983-fedeb71da5cd"执行后会输出类似这样的路径:
/dev/disk/by-partuuid/c4db5f86-45b2-43d3-8983-fedeb71da5cd,这个链接实际指向你的/dev/sda3。基于这个真实的设备链接创建你想要的软链接:
ln -sf /dev/disk/by-partuuid/c4db5f86-45b2-43d3-8983-fedeb71da5cd /dev/update现在再尝试挂载就可以正常工作了:
mount /dev/update /mnt
额外说明:
如果你想让这个挂载在系统启动时自动生效,还可以把/dev/update添加到/etc/fstab里,比如:
/dev/update /mnt ext4 defaults 0 0
或者更稳妥的是直接用PARTUUID/UUID写入fstab,毕竟软链接在某些情况下可能会失效,但这就看你的需求啦。
备注:内容来源于stack exchange,提问作者user1339750
相关产品推荐
相关产品推荐

