На моей рабочей станции после начальной загрузки иногда название моего того же жесткого диска в Linux изменяется от /dev/sdg/
кому: /dev/sdi/
Как я могу сделать, это зафиксировало, что UUID смонтирован точно с именем /dev/sda
например?
Проблема возникает из создания виртуальной машины из необработанного файла:
VBoxManage internalcommands createrawvmdk -filename ~/.VirtualBox/win7.vmdk -rawdisk /dev/sdg -partitions 2,3 -mbr ~/.VirtualBox/FAKE.mbr -relative
Если теперь имя /dev/sdg
изменения в /dev/sdi
моя виртуальная машина испытывает затруднения для запуска...
Ответ должен использовать правило udev:
KERNEL=="sd[a-z][0-9]", SUBSYSTEM=="block", SUBSYSTEMS=="scsi", ATTRS{model}=="Crucial_CT480M50", SYMLINK+="bootdevice%n"
KERNEL=="sd?", SUBSYSTEM=="block", SUBSYSTEMS=="scsi", ATTRS{model}=="Crucial_CT480M50", SYMLINK+="bootdevice"
в файле/etc/udev/rules.d/mybootdevice.rules
(как адаптировать атрибуты для установки devive, смотрят здесь: здесь )
Затем перезапуск udev:
sudo udevadm trigger
Затем будет/dev/bootdevice
, который является персистентным после каждой начальной загрузки!
Можно использовать UUID для символьных ссылок устройства в /dev
файловая система:
$ ls -l /dev/disk/by-uuid/fc48808f-8f06-47fc-a1fe-5d08ee9e0a40
lrwxr[...] 14:15 /dev/disk/by-uuid/fc48808f-8f06-47fc-a1fe-5d08ee9e0a40 -> ../../sdd1
Ссылка могла использоваться как
... -rawdisk /dev/disk/by-uuid/fc48808f-8f06-47fc-a1fe-5d08ee9e0a40 ...
Вместо UUID маркировки могут использоваться таким же образом - например, с маркировкой "данные":
$ ls -l /dev/disk/by-label/data
lrwxrwxrwx 1 root root 10 Sep 4 14:15 /dev/disk/by-label/data -> ../../sde1
Попробовать
ls -l /dev/disk/by-uuid
ls -l /dev/disk/by-label
Независимый от этого, UUID
s или маркировки может также использоваться в /etc/fstab
, вместо /dev/sdXN
файлы устройств. (Список маркирует sudo lsblk -o NAME,LABEL
)