У меня странная проблема. Не могу найти никакого решения.
Использование Ubuntu 12.04. Мой жесткий диск назначен как sda. Если я подключаю любой USB-накопитель, он автоматически назначается как sdb. Это хорошо.
Но после перезагрузки USB-накопители, назначенные как sda, и жесткий диск отображаются как sdb. Так что моя точка монтирования fstab показывает ошибку при запуске.
Я хотел бы сделать любой USB-накопитель, идущий после жесткого диска - как обычно было в Windows.
Пожалуйста, кто-нибудь, помогите мне. Я борюсь на этом этапе.
Заранее благодарю.
Райхан
Я собираюсь предложить вам сделать две вещи,
UUID
с вместо /dev/sd*
в вашем fstab
, чтобы он не перепутался. udev
, чтобы ваши флэшки выглядели как /dev/whatever
Убедитесь, что все устройства, перечисленные в вашем 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
являются уникальными и служат для жизни файловой системы.
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 на мой вкус. Может быть, вам будет легче.