如何将 sdc/sdd 分配给我的 USB 驱动器

如何将 sdc/sdd 分配给我的 USB 驱动器

我遇到了一个奇怪的问题。找不到任何解决方案。

使用 Ubuntu 12.04。我的硬盘驱动器指定为 sda。如果我插入任何 USB 驱动器,它都会自动指定为 sdb。没问题。

但重启后,USB 驱动器被指定为 sda,而硬盘驱动器显示为 sdb。所以我的 fstab 挂载点在启动时显示错误。

我想制作任何 USB 驱动器,将其连接到硬盘驱动器 - 就像在 Windows 中通常是这样。

请大家帮帮我。我现在很挣扎。

提前感谢您。

赖汗

答案1

我建议你做两件事,

  1. 在 your 中使用UUIDs 代替,以免弄乱。/dev/sd*fstab
  2. 让您开始使用,udev以便可以使您的拇指驱动器显示为/dev/whatever

第 1 节。

确保列出的所有设备fstab都已插入系统。等待几秒钟,然后输入

ls -l /dev/disk/by-uuid

这会给你如下结果:总计 0

lrwxrwxrwx 1 root root 10 Sep 24 20:19 4e36d61c-e6f4-4a1a-b760-45ee5a76e141 -> ../../sdc2
lrwxrwxrwx 1 root root 10 Sep 24 20:19 52a04f5d-2576-48d1-8340-544cc24e0fcd -> ../../sdc3
lrwxrwxrwx 1 root root 10 Sep 24 20:19 55a1d85d-e5f5-416e-adf7-3aed3e6309f1 -> ../../sdc1
lrwxrwxrwx 1 root root 10 Sep 24 20:19 5c8c3b19-5550-4411-8fc3-692aa94bb4af -> ../../dm-1
lrwxrwxrwx 1 root root 10 Sep 24 20:19 8bfea793-5cb2-480c-a4e3-2b3c331463bb -> ../../sdb3
lrwxrwxrwx 1 root root 10 Sep 24 20:19 a369bc5e-3bf0-454b-b04d-2936e343e959 -> ../../dm-0
lrwxrwxrwx 1 root root 10 Sep 24 20:19 e57e2838-2c56-43c3-b4b8-de0743c67181 -> ../../sdb2
lrwxrwxrwx 1 root root 10 Sep 24 20:19 f7772f0f-19d7-4ced-b0a0-b543e4bd54fe -> ../../dm-2

现在查看你的 中有什么fstab。在任何地方,你都有类似的东西,/dev/sdc1我希望你用类似 的东西来替换它UUID=55a1d85d-e5f5-416e-adf7-3aed3e6309f1。这将告诉mount使用 来UUID识别设备,而不是 下的位置/dev。它们UUID是唯一的,并且会在文件系统的整个生命周期内持续存在。

第 2 节。

udev是负责/dev在 Ubuntu 中放置块设备(和其他设备)的服务。您实际上可以编写自己的规则,udev指示它以一致的方式在 下创建符号链接/dev。其工作方式udev是,每次连接设备时,它都会扫描一长串规则并执行匹配的任何规则指定的操作。匹配是通过检查设备的一系列参数来完成的,例如,UUID它插入的端口、PCI 地址等。因此,您可以通过文件系统识别您的拇指驱动器UUID,并制定规则将其映射到/dev/myThumbDrive/dev/myThumbDrive通常使用的任何地方/dev/sda1(例如)。

您可以通过输入以下内容找到用于识别驱动器的属性列表

udevadm info -n /dev/sde --attribute-walk

looking at device '/devices/pci0000:00/0000:00:15.2/0000:05:00.0/usb8/8-1/8-1:1.0/host6/target6:0:0/6:0:0:0/block/sde/sde1':
  KERNEL=="sde1"
  SUBSYSTEM=="block"
  DRIVER==""
  ATTR{partition}=="1"
  ATTR{start}=="1"
  ATTR{size}=="24242084"
  ATTR{ro}=="0"
  ...

looking at parent device '/devices/pci0000:00/0000:00:15.2/0000:05:00.0/usb8/8-1/8-1:1.0/host6/target6:0:0/6:0:0:0/block/sde':
 KERNELS=="sde"
 SUBSYSTEMS=="block"
 DRIVERS==""
 ATTRS{range}=="16"
 ATTRS{ext_range}=="256"
 ATTRS{removable}=="1"
 ATTRS{ro}=="0"
 ATTRS{size}=="31250432"
 ATTRS{alignment_offset}=="0"
 ATTRS{discard_alignment}=="0"
 ATTRS{capability}=="51"
 ...

looking at parent device '/devices/pci0000:00/0000:00:15.2/0000:05:00.0/usb8/8-1/8-1:1.0/host6/target6:0:0/6:0:0:0':
 KERNELS=="6:0:0:0"
 SUBSYSTEMS=="scsi"
 DRIVERS=="sd"
 ATTRS{device_blocked}=="0"
 ATTRS{type}=="0"
 ATTRS{scsi_level}=="3"
 ATTRS{vendor}=="SanDisk "
 ATTRS{model}=="Cruzer          "
 ATTRS{rev}=="1.00"
 ...

looking at parent device '/devices/pci0000:00/0000:00:15.2/0000:05:00.0/usb8/8-1/8-1:1.0/host6/target6:0:0':
 ....

looking at parent device '/devices/pci0000:00/0000:00:15.2/0000:05:00.0/usb8/8-1/8-1:1.0/host6':
 ....

looking at parent device '/devices/pci0000:00/0000:00:15.2/0000:05:00.0/usb8/8-1/8-1:1.0':
 ...
 SUBSYSTEMS=="usb"
 DRIVERS=="usb-storage"

looking at parent device '/devices/pci0000:00/0000:00:15.2/0000:05:00.0/usb8/8-1':
 ....
 ATTRS{idVendor}=="0781"
 ATTRS{idProduct}=="5530"
 ....
 ATTRS{manufacturer}=="SanDisk"
 ATTRS{product}=="Cruzer"
 ATTRS{serial}=="20043513610A15E24E49" 

looking at parent device '/devices/pci0000:00/0000:00:15.2/0000:05:00.0/usb8':
 ....

looking at parent device '/devices/pci0000:00/0000:00:15.2/0000:05:00.0':
 ....

looking at parent device '/devices/pci0000:00/0000:00:15.2':
 ....

looking at parent device '/devices/pci0000:00':
 ....

然后您可以创建一个如下所示的规则:

KERNEL=="sd*", SUBSYSTEMS=="scsi", ATTRS{model}=="USB 2.0 Storage Device", SYMLINK+="myThumbDrive%n"

因此/dev/myThumbDrive1可以代替/dev/sd[a-z]1

替代方法

对我来说,输入 UUID 太多了。也许这对你来说会更容易一些。

http://scnr.net/blog/index.php/archives/132

相关内容