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