是否可以使用 UUID 来挂载驱动器,而不是在 fstab 中使用这些值?
我有一个安装设备的脚本,但是无法保证驱动器标签(例如)/dev/sda2
始终相同。
我知道我可以使用此方法在启动时安装驱动器fstab
,但是对于外部磁盘,它们可能并不总是在启动时出现。
答案1
是的,这是可能的,您只需使用以下UUID
选项:
lsblk -o NAME,UUID
NAME UUID
sdc
├─sdc1 A190-92D5
└─sdc2 A198-A7BC
sudo mount -U A198-A7BC /mnt
或者
sudo mount UUID=A198-A7BC /mnt
或者
sudo mount --uuid A198-A7BC /mnt
这mount --help
:
来源: -L, --label LABEL= 的同义词 -U, --uuid UUID= 的同义词 LABEL= 通过文件系统标签指定设备 UUID= 通过文件系统 UUID 指定设备 PARTLABEL= 通过分区标签指定设备 PARTUUID= 通过分区 UUID 指定设备 通过路径指定设备 绑定挂载的挂载点(请参阅--bind/rbind) Loopdev 设置的常规文件
答案2
如果您对启动时可能不存在的驱动器条目感兴趣fstab
,有两个选项可以提供帮助:noauto
和nofail
:
noauto
:当给出“mount -a”时不安装(例如,在启动时)
nofail
:如果该设备不存在,则不报告错误。
假设你有一个fstab
条目
UUID={YOUR-UID} /mnt/data ext4 defaults
如果添加noauto
选项,系统将不会尝试在引导时安装驱动器。您将能够使用 手动安装它mount /mnt/data
。
如果添加nofail
,系统将在引导时尝试安装驱动器,但如果驱动器不存在,则引导顺序不会中断。如果稍后使用 插入驱动器,您将能够安装该驱动器mount /mnt/data
。
答案3
您可以使用系统提供的符号链接:
mount /dev/disk/by-uuid/{YOUR_UUID} /mnt