Renomeando pendrives e outras mídias

Atualmente eu lido com um disco externo e dois pendrives e um mp3player. Quando eu conecto mais do que um destes dispositivos as vezes fica difícil reconhecer quem é quem para resolver a bagunça e tirar a dúvida então é só renomea-lo.

Por que fazer isso?

No Windows basta ver as propriedades do disco e então renomea-lo. Já no Gnome as coisas não funcionam bem assim (não sei no KDE). Por conta disso, como sou usuário do Gnome, precisei usar outro caminho para renomear meus dispositivos.

O procedimento que é bem simples deverá ser feito a partir da linha de comandos e é genérico para qualquer distribuição Linux. Claro que poderia ser mais simples se o Nautilus deixasse fazer isso pela janela de propriedades do disco, mas… nem tudo é perfeito.

Dispositivos com nome personalizado são mais fáceis de serem identificados pois toda vez que você conecta-lo ao computador, ao invés de um nome genérico ele será apresentado com este nome. No caso do Linux uma outra vantagem será que na montagem automática realizada por alguns ambientes gráficos como o Gnome, fará com que o ponto de montagem seja sempre /media/nomedodispositivo. Quando ele não tem um nome definido ele será montado em /media/disk, ou /media/disk-1 etc.

Cada sistema de arquivo tem um comando próprio

Lembro do meu tempo de usuário ms-dos que tal procedimento usava-se o comando label com a sintaxe “label <disco> <nome>” na época só existia um sistema de arquivos a lidar que era o FAT. No caso do Linux existem dezenas de sistemas e para cada um há um comando especifico.

Por exemplo para partições FAT, VFAT e suas variantes usa-se o comando:

dosfslabel dispositivo nome

* Nomes com no máximo 11 caracteres

Em partições NTFS, o comando é outro:

ntfslabel dispositivo nome

* Nomes com no máximo 128 caracteres unicode

Partições ReiserFS, há um outro comando:

reiserfstune -l dispositivo nome

* Nomes com no máximo 16 caracteres

E em partições EXT2, EXT3 e EXT4 pode-se usar um dos dois comandos a seguir:

tune2fs -L dispositivo nome

ou

e2label dispositivo nome

* Nomes com no máximo 16 caracteres, em ambos os casos

Perceba três coisas então: (1) de acordo com o sistema de arquivos que você está lidando terá que usar o comando adequado; (2) cada tipo de sistema de arquivos suporta um tamanho máximo de nome (11 FAT, 128 NTFS e 16 para ReiserFS e Ext?); (3) a sintaxe é a mesma para qualquer um.

Outra observação é que os comandos devem ser emitidos com privilégios administrativos, então você precisará logar como usuário root, usar o comando “su” ou ainda o comando “sudo”.

Na prática

Exemplificando então: O meu pendrive que foi reconhecido como “sda1” pelo sistema e está formatado com FAT32 pode ter seu nome trocado para welrbraga com o comando a seguir:

sudo dosfslabel /dev/sda1 WELRBRAGA

Note ai o uso do comando sudo para que o dosfslabel seja executado com privilégios administrativos. Após confirmar minha senha para o comando sudo, o meu dispositivo /dev/sda1 será renomeado para WELRBRAGA e a partir de então toda vez que eu conecta-lo ao computador, ao invés de um nome genérico ele será apresentado com este nome.

O meu disco externo USB possui duas partições uma formatada como NTFS e outra como EXT3, para renomear cada uma delas, respectivamente para BackupWindows e BackupLinux

sudo ntfslabel /dev/sdc1 BackupWindows
sudo e2label /dev/sdc2 BackupLinux

Neste caso o disco possui a sua primeira partição formatada como NTFS e a segunda como EXT3 então após aguardar um tempo para que o disco seja reconhecido é só emitir os comandos.

É importante enfatizar que no caso do NTFS vocẽ pode usar espaços nos nomes (colocando-os entre aspas), mas em regras gerais devido a problemas que eu já tive particularmente isso eu prefiro não recomendar esta prática. Então se possível use apenas letras (sem acentuação) e números ao nomear um disco, mas veja que isso é uma recomendação pessoal minha e não uma limitação do sistema.

sda1, sdb2, sdn171 … eu não sei qual dispositivo corresponde ao meu disco

Uma forma simples de descobrir isso é após conectar o seu pendrive, aguardar uns dois ou três segundos para que o seu dispositivo seja reconhecido e montado. Quando isto ocorrer você vai até uma janela de terminal e digite o comando dmesg que deverá lhe mostrar informações obre o seu pendrive nas últimas linhas, como nos exemplos abaixo:

Neste exemplo, após conectar o meu pendrive Kingston eu pude ver no resultado do comando dmesg que o id scsi do meu dispositivo é o 4:0:0:0 (dê uma olhada na linha que apresenta o nome Kingston).

Não nos importa no momento saber o que é iso, mas serve-nos como referência para reconhecermos as mensagens relacionadas ao pendrive (tudo que tiver este número).

Sabendo isto, podemos observar que as linhas que mencionam este identificador também mencionam entre [] o nome do dispositivo dentro de /dev que corresponde ao nosso pendrive (neste caso o sdc).

Já no final uma informação preciosa. A linha que indica “sdc: sdc1”. Isto quer dizer que o meu pendrive detectado como sdc possui apenas uma partição e que foi reconhecida como sdc1. Desta forma bastaria emitir o comando para trocar o nome do dispositivo /dev/sdc1 e eu teria o meu pendrive renomeado.

wbraga@welingtondesktop:~$ dmesg
 [ 7934.081784] scsi4 : SCSI emulation for USB Mass Storage devices
 [ 7934.082016] usbcore: registered new interface driver usb-storage
 [ 7934.082020] USB Mass Storage support registered.
 [ 7934.104587] usb-storage: device found at 7
 [ 7934.104591] usb-storage: waiting for device to settle before scanning
 [ 7939.105318] usb-storage: device scan complete
 [ 7939.109463] scsi 4:0:0:0: Direct-Access     Kingston DataTraveler 2.0 1.00 PQ: 0 ANSI: 2
 [ 7939.147297] sd 4:0:0:0: [sdc] 3973120 512-byte hardware sectors: (2.03 GB/1.89 GiB)
 [ 7939.151285] sd 4:0:0:0: [sdc] Write Protect is off
 [ 7939.151289] sd 4:0:0:0: [sdc] Mode Sense: 23 00 00 00
 [ 7939.151291] sd 4:0:0:0: [sdc] Assuming drive cache: write through
 [ 7939.165286] sd 4:0:0:0: [sdc] 3973120 512-byte hardware sectors: (2.03 GB/1.89 GiB)
 [ 7939.169446] sd 4:0:0:0: [sdc] Write Protect is off
 [ 7939.169450] sd 4:0:0:0: [sdc] Mode Sense: 23 00 00 00
 [ 7939.169453] sd 4:0:0:0: [sdc] Assuming drive cache: write through
 [ 7939.169459]  sdc: sdc1
 [ 7939.406399] sd 4:0:0:0: [sdc] Attached SCSI removable disk
 [ 7939.406473] sd 4:0:0:0: Attached scsi generic sg3 type 0

Neste segundo exemplo, eu emiti o comando dmesg logo após conectar o meu disco externo USB da marca Seagate. Perceba que há os mesmo indicadores. Desta vez o id scsi que devo acompanhar é o 5:0:0:0 que me leva ao dispositivo “sdd” e que possui duas partições “sdd1” e “sdd2”.

wbraga@welingtondesktop:~$ dmesg
[ 8021.048580] scsi5 : SCSI emulation for USB Mass Storage devices
[ 8021.049507] usb-storage: device found at 4
[ 8021.049510] usb-storage: waiting for device to settle before scanning
[ 8026.049599] usb-storage: device scan complete
[ 8026.050954] scsi 5:0:0:0: Direct-Access     Seagate  FreeAgent Go     100F PQ: 0 ANSI: 4
[ 8026.090805] sd 5:0:0:0: [sdd] 488397168 512-byte hardware sectors: (250 GB/232 GiB)
[ 8026.093202] sd 5:0:0:0: [sdd] Write Protect is off
[ 8026.093207] sd 5:0:0:0: [sdd] Mode Sense: 1c 00 00 00
[ 8026.093210] sd 5:0:0:0: [sdd] Assuming drive cache: write through
[ 8026.095429] sd 5:0:0:0: [sdd] 488397168 512-byte hardware sectors: (250 GB/232 GiB)
[ 8026.097200] sd 5:0:0:0: [sdd] Write Protect is off
[ 8026.097204] sd 5:0:0:0: [sdd] Mode Sense: 1c 00 00 00
[ 8026.097206] sd 5:0:0:0: [sdd] Assuming drive cache: write through
[ 8026.097212]  sdd: sdd1 sdd2
[ 8026.128980] sd 5:0:0:0: [sdd] Attached SCSI disk
[ 8026.129054] sd 5:0:0:0: Attached scsi generic sg4 type 0

E para encontrar o tipo do sistema de arquivos destas partições?

Esta informação é mais fácil ainda, já que não precisa muito esforço para obte-la. Considerando que você já sabe quais as partições que serão renomeadas (conforme explicado acima), observe a saída dos comandos vol_id e blkid, abaixo. Veja que embora a quantidade informações e a forma de apresentação seja diferente, em ambos é possível obter o tipo de sistema de arquivos e consequentemente saber qual será o comando a ser usado para renomear a partição.

Usando o comando vol_id

$ sudo vol_id /dev/sdc1
ID_FS_USAGE=filesystem
ID_FS_TYPE=vfat
ID_FS_VERSION=FAT32
ID_FS_UUID=1BEC-9209
ID_FS_UUID_ENC=1BEC-9209
ID_FS_LABEL=WELRBRAGA
ID_FS_LABEL_ENC=WELRBRAGA
$ sudo vol_id /dev/sdd1
ID_FS_USAGE=filesystem
ID_FS_TYPE=ntfs
ID_FS_VERSION=3.1
ID_FS_UUID=1E26572836A05F77
ID_FS_UUID_ENC=1E26572836A05F77
ID_FS_LABEL=BackupWindows
ID_FS_LABEL_ENC=BackupWindows
$ sudo vol_id /dev/sdd2
ID_FS_USAGE=filesystem
ID_FS_TYPE=ext3
ID_FS_VERSION=1.0
ID_FS_UUID=93d3b968-9ca3-444b-a87e-fe6f5395d115
ID_FS_UUID_ENC=93d3b968-9ca3-444b-a87e-fe6f5395d115
ID_FS_LABEL=BackupLinux
ID_FS_LABEL_ENC=BackupLinux

Usando o comando blkid

$ sudo blkid /dev/sdc1
/dev/sdc1: LABEL="WELRBRAGA" UUID="1BEC-9209" TYPE="vfat"
$ sudo blkid /dev/sdd1
/dev/sda1: UUID="1E26572836A05F77" TYPE="ntfs" LABEL="BackupWindows"
$ sudo blkid /dev/sdd2
/dev/sdb2: LABEL="BackupLinux" UUID="93d3b968-9ca3-444b-a87e-fe6f5395d115" TYPE="ext3"

Tentei e não funcionou

Como o procedimento é o mesmo para os outros sistemas não vou citar exemplos com EXT2 e nem com ReiserFS, mas esteja atento aos seguintes pontos:

  1. Use o comando apropriado para cada sistema de arquivo
  2. Você precisa de privilégios administrativos (root) para renomear o disco
  3. O volume deve estar desmontado
  4. Esteja atento ao tamanho máximo do nome que pode ser usado
  5. Em alguns casos, o novo nome só será reconhecido pelo sistema após o dispositivo ser fisicamente desconectado e reconectado (ou o computador ser rebootado)
  6. Este comandos não são automaticamente instalados em todos os sistemas, então pode ser necessário instalá-los manualmente a tabela que apresentou abaixo relacionando os comandos aos devidos pacotes correspondem a organização no Ubuntu. Verifique se na sua distribuição Linux os nomes dos pacotes não são ligeiramente diferentes.

PacoteComando
dosfstoolsdosfslabel
ntfsprogsntfslabel
reiserfsprogsreiserfstune
e2fsprogstune2fs
e2fsprogse2label
e2fsprogsblkid
udevvol_id

Referências

Página de manual de todos os comandos citados, a partir da linha de comandos:

$ apropos label
man dosfslabel
man e2label
man ntfslabel
man vol_id
man blkid

3 comentários em “Renomeando pendrives e outras mídias”

  1. Olá .. Meu pen drive sumiu, e apareceu no mesmo ambiente, só que com outro nome, tem alguma forma de descobrir , qual foi o primeiro nome que renomeou, de uma maneira mais simples de verificar isso?

    Aguardo retorno,
    Grata, Nanny.

Deixe um comentário para Rodrigo Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.