Ok, supondo que esse seja um problema udev
(a maioria das distribuições Linux usa isso por padrão), é isso que cria os links simbólicos. Você pode corrigir isso adicionando uma nova regra. Eu darei algumas informações sobre isso, mas está amplamente ancorada na minha própria distro - Debian.
Primeiramente, você precisa descobrir onde estão suas regras. O Debian os tem em dois locais - /lib/udev/rules.d
e /etc/udev/rules.d
. Se esse for o caso, você deve adicionar / alterar somente os que estão em /etc
, pois a alteração de outro local tem maior probabilidade de ser substituída por uma atualização.
Vá para o diretório de regras e veja se você pode encontrar o (s) arquivo (s) com as regras para criar os links em disk/by-id
. O comando grep -r disk/by-id/
vai ajudar aqui (embora apenas execute-o no diretório de regras para evitar procurar outros locais). Para mim, o arquivo é /var/lib/rules.d/60-persistent-storage.rules
. Aqui estão as linhas que estão criando os links the'disk / by-id / usb- * 'para mim:
ENV{DEVTYPE}=="disk", ENV{ID_BUS}=="?*", ENV{ID_SERIAL}=="?*", \
SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}"
ENV{DEVTYPE}=="partition", ENV{ID_BUS}=="?*", ENV{ID_SERIAL}=="?*", \
SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n"
Existem duas possibilidades aqui (além daquela em que seu sistema não usa udev
):
- Você não tem uma linha semelhante a essa e precisa criar uma.
- Você faz, mas simplesmente não funciona para o seu disco.
As linhas podem parecer sem sentido, mas basicamente as duas primeiras (realmente uma como a \
é apenas uma maneira de dividir a linha longa) são para links relacionados ao disco em si, os outros dois são para suas partições. / p>
Esperamos que a execução desse comando torne as coisas menos confusas:
udevadm info --name=/dev/sdb --query=property
Isso mostra os nomes / valores de todas as propriedades do seu dispositivo. Basicamente, tudo que a regra faz é passar por todas as propriedades de cada dispositivo e associá-las à primeira parte da linha (por exemplo, a primeira procura dispositivos com DEVTYPE=disk
e não-vazia ID_BUS
e ID_SERIAL
). A próxima parte cria um link simbólico com seu nome contendo ID_BUS
e ID_SERIAL
.
De qualquer forma, o que isto se resume é se você tem ID_BUS=usb
, você provavelmente pode ir em frente e adicionar a regra acima. Caso contrário, você provavelmente precisará adicionar regras específicas para o seu dispositivo. Algo como:
ENV{ID_SERIAL}=="SAMSUNG_HM321HX_C5733G82AB0BPW", \
SYMLINK+="disk/by-id/usb-$env{ID_SERIAL}"
ENV{ID_SERIAL}=="SAMSUNG_HM321HX_C5733G82AB0BPW", \
SYMLINK+="disk/by-id/usb-$env{ID_SERIAL}-part%n"
Eu adivinhei o seu ID_SERIAL
da questão, se o erro continuar, coloque o caminho certo.
As regras são provavelmente melhores em um arquivo próprio, algo como s2-samsung-usb.rules
no diretório que você encontrou no começo.
Atualização: o abaixo provavelmente não é necessário, basta desconectar e conectar o dispositivo novamente - Como recarregar as regras do udev sem reiniciar?
Quando terminar, você poderá recarregar as regras com (desconecte seu dispositivo primeiro):
udevadm control --reload-rules
Em seguida, conecte seu dispositivo novamente. Se isso não funcionar, você pode sempre tentar reinicializar (na verdade, isso pode ser mais seguro de qualquer maneira).