每次重新连接 SanDisk USB Cruzer 驱动器时,是否可以使设备文件系统名称 /dev/sd?1 保持不变?

每次重新连接 SanDisk USB Cruzer 驱动器时,是否可以使设备文件系统名称 /dev/sd?1 保持不变?

lsblk -f每次我们断开并重新连接 SanDisk USB Cruzer 驱动器时,是否可以使设备文件系统名称 /dev/sdi1保持不变?我在 Lenovo Thinkstation 台式计算机上运行 Ubuntu Linux 16.04。

我相信 SanDisk USB Cruzer 驱动器会在插入时自动安装。

如果可能的话,需要采取哪些步骤才能实现这一目标?

答案1

您需要根据设备的 UUID 指定安装点。

您应该参考关于该主题的 Ubuntu 官方文档页面了解使用详情。

以下是示例(您的输出将有所不同,但格式相似)。命令:

sudo blkid

产生类似于以下内容的输出:

/dev/sda1: TYPE="ntfs" UUID="72C0DE8EC0DE57C5" LABEL="windows" 
/dev/sda2: UUID="30fcb748-ad1e-4228-af2f-951e8e7b56df" TYPE="ext4" 
/dev/sda5: TYPE="swap" UUID="8c4e69f8-5074-42c0-8134-0b2429c4c02c" 
/dev/sdb1: SEC_TYPE="msdos" UUID="4848-E35A" TYPE="vfat"

然后您必须更改以下条目fstab

/dev/sda2 /mnt/Mint ext4 defaults 0 0

类似:

UUID=30fcb748-ad1e-4228-af2f-951e8e7b56df /mnt/Mint ext4 defaults 0 0

答案2

我几乎可以肯定不可能分配 sd 的 #,但您可以使用udev在磁盘驱动器连接时设置指向实际 sdX 和 sdXY 的链接的规则来解决此问题:

KERNEL==“sd*”,SUBSYSTEMS==“scsi”,ATTRS{model}==“USB 2.0 存储设备”,SYMLINK+="usbhd%n"

将创建这些链接:

  • /dev/usbhd - fdiskable 节点
  • /dev/usbhd1 - 第一个分区(可安装)
  • /dev/usbhd2 - 第二个分区(可安装)

来源

答案3

查找/dev/sd与没有 LABEL 或 UUID 的光盘对应的设备的另一种方法是使用其序列 ID。例如,我的 SSD 说

$ sudo hdparm -I /dev/sda
    Model Number:       KINGSTON SH103S3240G                    
    Serial Number:      50999B9999926F99    

我可以通过使用根据此信息构建的序列号/dev/sd中的链接找到它是哪个设备。/dev/disk/by-id/例如

$ ls -l /dev/disk/by-id/ata-KINGSTON_SH103S3240G_50999B9999926F99
lrwxrwxrwx 1 root root 9 Apr 28 17:22 /dev/disk/by-id/ata-KINGSTON_SH103S3240G_50999B9999926F99 -> ../../sda

通常,我们在分区上设置一个UUID,然后我们可以简单地使用 找到该设备findmnt。例如

$ findmnt -n -o source UUID=e7522030-f6e3-472d-8013-3a3316fd15a3
/dev/sda3

相关内容