Come montare UUID sotto linux name / dev / sdx /

2

Sulla mia workstation dopo l'avvio, a volte il nome per il mio stesso disco fisso in linux cambia da /dev/sdg/ a /dev/sdi/
Come posso risolvere questo problema, che l'UUID sia montato esattamente con il nome /dev/sda per esempio?

Il problema deriva dalla creazione di una macchina virtuale da un file raw:

VBoxManage internalcommands createrawvmdk -filename ~/.VirtualBox/win7.vmdk -rawdisk /dev/sdg -partitions 2,3 -mbr ~/.VirtualBox/FAKE.mbr -relative

Se ora il nome /dev/sdg cambia in /dev/sdi la mia macchina virtuale ha problemi ad iniziare ...

    
posta Gabriel 09.09.2014 - 10:42

2 risposte

0

La risposta è usare una regola 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"

in un file /etc/udev/rules.d/mybootdevice.rules

(come adattare gli attributi per adattarli al tuo aspetto devivo qui: qui )

Quindi riavvia udev:

sudo udevadm trigger

Quindi ci sarà un / dev / bootdevice

che è persistente dopo ogni avvio!

    
risposta data Gabriel 10.02.2015 - 18:59
5

Usa / dev / disk / by-uuid / someUUID invece di / dev / sdaXN

Puoi utilizzare l'UUID per i collegamenti simbolici del dispositivo nel filesystem /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

Il link potrebbe essere usato come

... -rawdisk /dev/disk/by-uuid/fc48808f-8f06-47fc-a1fe-5d08ee9e0a40 ...

Al posto degli UUID, le etichette possono essere utilizzate nello stesso modo, ad esempio con l'etichetta " data ":

$ ls -l /dev/disk/by-label/data 
lrwxrwxrwx 1 root root 10 Sep  4 14:15 /dev/disk/by-label/data -> ../../sde1

Prova

ls -l /dev/disk/by-uuid 
ls -l /dev/disk/by-label

Indipendentemente da ciò, UUID s o etichette possono essere utilizzate anche in /etc/fstab , invece dei file di dispositivo /dev/sdXN . (Elenca le etichette con sudo lsblk -o NAME,LABEL )

    
risposta data Volker Siegel 09.09.2014 - 10:52

Leggi altre domande sui tag