Linux 如何知道哪个 USB 硬盘是哪个?

Linux 如何知道哪个 USB 硬盘是哪个?

目前我有Linux薄荷安装在我的 PC 上,并将 USB 硬盘分区安装为/home.这运作良好。

如果我安装第二个 USB 硬盘驱动器,Linux 是否有可能混淆两者,并尝试在/home启动时挂载第二个硬盘驱动器的分区?那会很糟糕。

来自 Windows 的我经常看到驱动器盘符未被正确“记住”而导致各种问题的情况。

我想主要问题是:Linux 如何真正知道哪个 USB 硬盘驱动器是/dev/sdb哪个/media/misha/my_2nd_drive

答案1

通常,USB 端口(总线/设备)的位置决定其检测顺序。但是,不要依赖于此。

每个文件系统都有一个通用唯一标识符这代表通用唯一标识符(胖的NTFS使用稍微不同的方案,但它们也有一个可用作 UUID 的标识符)。您可以相信 (Linux) UUID 是唯一的。有关 UUID 的更多信息,请参阅这篇维基百科文章

使用磁盘 UUID 作为安装参数。要找出 UUID 是什么,请运行以下命令:

$ sudo blkid /dev/sdb1

blkid需要读取设备,因此它需要 root 权限,因此sudo。如果您已经成为 root,则sudo不需要。)

然后您可以/etc/fstab像这样使用该 UUID:

UUID=7e839ad8-78c5-471f-9bba-802eb0edfea5 /home ext4 defaults 0 2

这样就不会混淆 /home 上要安装哪个磁盘了。

对于手动安装,您可以使用/dev/disk/by-uuid/.....

答案2

如果您的fstab引用分区为/dev/sdx,那么添加新驱动器肯定会使系统感到困惑。然而,最近的做法是使用分区 UUID来识别分区。

如果您的系统已udev安装(2.6+ Linux 内核必须如此),您可以在fstab.默认情况下,分区通过 UUID 进行标识:

/dev/disk/by-uuid/31f8eb0d-612b-4805-835e-0e6d8b8c5591

但是,您可以创建有意义的分区标签像“home”一样并引用您的分区,如下所示:

/dev/disk/by-label/home

这些 ID 可以用作/dev/sdxin的替代品fstab

相关内容