Como evito que a memória flash USB receba um novo nome de dispositivo Linux após a ativação do modo de suspensão?

2

Estou inicializando o Linux de uma unidade flash USB no meu laptop. Tudo corre bem até eu colocar o laptop para dormir. Quando ele acorda, de repente, a unidade flash USB recebe um nome de dispositivo diferente e tudo começa a falhar, porque o sistema de arquivos já montado está agora em um dispositivo que não existe mais. Como faço para o Linux manter o dispositivo com o mesmo nome de dispositivo quando ele acordar?

    
por Michael 21.07.2012 / 22:11

2 respostas

2

Não posso dizer como evitar que o nome do dispositivo seja alterado, mas ainda pode haver uma solução para o problema. Antes de fazer as seguintes alterações, apenas por segurança, faça um backup do seu arquivo /etc/fstab e tenha certeza de ter algum outro dispositivo inicializável disponível em caso de falha (o que pode acontecer facilmente ao digitar uma única letra aqui).

Primeiro, verifique seu /etc/fstab . Provavelmente suas entradas são assim:

/dev/sde1 /   ext4    errors=remount-ro 0       1

Depois do despertar, o seu disco mudou para sdf , apenas como exemplo, então essa entrada falha agora. Como esses nomes de dispositivos são fornecidos sequencialmente na detecção, talvez você prefira algum nome consistente não afetado por isso. Então, seu segundo passo é:

ls -l /dev/disk/by-uuid

Verifique agora quais das entradas estão apontando para /dev/sde1 (ou, claro, substitua sde1 pelo mapeamento atual da sua unidade). Pode parecer assim:

lrwxrwxrwx 1 root root 10 Jun 30 20:53 b207-e035ddd09600 -> ../../sde1

Agora você pode informar o ID exclusivo do dispositivo. Volte para seu /etc/fstab e substitua /dev/sde1 por /dev/disk/by-uuid/b207-e035ddd09600 (novamente, substitua meus valores de exemplo por seus reais). A linha deve agora ser lida como:

/dev/disk/by-uuid/b207-e035ddd09600  /   ext4    errors=remount-ro 0       1

Agora, não importa mais o "nome do dispositivo" que o seu drive USB possui, pois ele é identificado pelo ID exclusivo , que não está sujeito a alterações.

ATUALIZAÇÃO:

Usando uma imagem do LiveCD em um dispositivo USB, as coisas podem parecer um pouco diferentes, pois /etc/fstab pode conter apenas sistemas de arquivos virtuais (como tmpfs) - mas erra as entradas para partições de disco. Nesse caso, verifique com /etc/mtab (que contém todas as partições atualmente montadas), verifique a entrada correspondente à sua unidade flash, copie-a e adicione-a a /etc/fstab . Em seguida, ajuste-o (em /etc/fstab , claro!) Como descrito acima.

(sugestão para os nomes: fstab = Tabela do sistema de arquivos, contém definições sobre sistemas de arquivos a serem montados e quais opções devem ser usadas para montá-las; mtab : Tabela montada, ou seja, quais sistemas de arquivos estão atualmente montados e quais opções Lembre-se de que você também pode montar sistemas de arquivos manualmente, passando todas as opções necessárias para o comando mount : Por isso, /etc/mtab pode conter entradas não encontradas em /etc/fstab . noauto flag definido em /etc/fstab , portanto o sistema não o monta automaticamente.)

    
por 21.07.2012 / 23:37
0

Dependendo do Linux que você está executando, você pode descobrir que simplesmente nomear a unidade flash USB faz o que você está procurando. Por exemplo, se você der à unidade a etiqueta do sistema de arquivos MYDISK , ela será montada em /media/MYDISK .

Se isso não funcionar, você pode usar as regras udev para conseguir o que procura, embora seja mais complicado .

    
por 26.07.2012 / 08:27

Tags