Como o Linux sabe qual disco rígido USB é qual?

23

Atualmente eu tenho o Linux Mint instalado no meu PC com uma partição de disco rígido USB montada como /home . Isso está funcionando bem.

Se eu instalar um segundo disco rígido USB, há alguma chance de o Linux ficar confuso entre os dois e tentar montar a partição do segundo disco rígido como /home no boot? Isso seria ruim.

Vindo do Windows, vi que muitas vezes as letras das unidades não são "lembradas" corretamente, causando todos os tipos de problemas.

Eu acho que a questão principal é: Como o Linux realmente sabe qual disco rígido USB é /dev/sdb e qual é /media/misha/my_2nd_drive ?

    
por misha256 22.09.2015 / 11:18

2 respostas

26

Normalmente, a localização da porta USB (Bus / Device) determina a ordem em que é detectada. No entanto, não confie nisso.

Cada sistema de arquivos tem um UUID que significa identificador universalmente exclusivo ( FAT e NTFS usam um esquema ligeiramente diferente, mas eles também têm um identificador que pode ser usado como um UUID ). Você pode confiar no UUID (Linux) para ser único. Para mais informações sobre os UUIDs, consulte este artigo da Wikipédia .

Use o UUID do disco como um argumento de montagem. Para descobrir o que é o UUID, execute isto:

$ sudo blkid /dev/sdb1

( blkid precisa ler o dispositivo, portanto ele precisa de poderes de root, daí o sudo . Se você já se tornou root, o sudo não é necessário.)

Você pode usar esse UUID em /etc/fstab da seguinte forma:

UUID=7e839ad8-78c5-471f-9bba-802eb0edfea5 /home ext4 defaults 0 2

Não pode haver confusão sobre qual disco será montado em / home.

Para montagem manual, você pode usar /dev/disk/by-uuid/.....

    
por 22.09.2015 / 11:36
10

Se o seu fstab referenciar partições como /dev/sdx , adicionar uma nova unidade certamente pode confundir o sistema. A prática recente, no entanto, é usar UUIDs de Partição para identificar as partições.

Se o seu sistema tiver udev instalado (deve ser o caso dos kernels Linux 2.6+), você pode usar a nomenclatura persistente em fstab . Por padrão, as partições são identificadas por UUIDs:

/dev/disk/by-uuid/31f8eb0d-612b-4805-835e-0e6d8b8c5591

Você pode, no entanto, criar um rótulo de partição significativo como "home" e faça referência a sua partição assim:

/dev/disk/by-label/home

Esses IDs podem ser usados como um substituto para /dev/sdx em fstab .

    
por 22.09.2015 / 11:35