Como alterar o nome do volume de um sistema de arquivos FAT32?

46

Eu sei que posso definir o nome do volume quando formatar a partição com a -nopção de mkfs.vfat. Mas como mudar o nome sem formatar?

Quero especialmente poder usar letras maiúsculas e minúsculas. Na pior das hipóteses, posso usar uma ferramenta do Windows, mas o Windows, por padrão, transforma todas as letras em maiúsculas (mas funciona bem com letras minúsculas nos volumes criados com mkfs.vfat).

Den
fonte

Respostas:

52

O Dosfstools , que fornece mkfs.vfate amigos, também fornece fatlabel(chamado dosfslabelem versões mais antigas) para alterar o rótulo.

Gilles 'SO- parar de ser mau'
fonte
Vou tentar isso em alguns dias. Você sabe se pode salvar letras minúsculas?
Den
Não funcionou com letras minúsculas. E após o uso, eu tenho erros no sistema de arquivos ....
Den
dosfslabel mudou de suporte para rótulos em minúsculas a partir da versão 3.0.12 para rejeitá-los em 3.0.16
D McKeon
1
@ DMCKeon: parece funcionar em 3.0.27, com um aviso.
Craig McQueen
O blivet (pelo menos, blivet3-data-3.1.3-3.el7) rejeita rótulos em minúsculas para partições EFI. dosfslabel (também conhecido como fatlabel, de dosfstools-3.0.20-10.el7) os aceita com um aviso. Então, o blivet é preventivamente irritante.
stolenmoment 9/10
18

Para o meu drive USB mlabelnão funcionou, mas fatlabelfuncionou!

fatlabel /dev/device

te dá etiqueta

fatlabel /dev/device NEW_LABEL

define novo rótulo

Grzegorz Wierzowiecki
fonte
Como rotulamos um sistema de arquivos e, geralmente, ele está em uma partição, eis o meu comando: sudo fatlabel /dev/sdXN NewLabel( / dev / sdf1 , por exemplo)
Mikolasan
4

Dê uma olhada na página do ubuntu sobre como renomear unidades USB , é basicamente:

mlabel -i <device> ::<label>
Ulrich Dangel
fonte
Obrigado! Alterar as obras de nome, mas é transvormed para MAIÚSCULAS: # mlabel -i / dev / sdc1 :: redsd # mlabel -i / dev / sdc1 -s :: Nome do volume é REDSD
Den
1
Rótulos de disco @Den gordura são maiúscula única
Matteo
1
@ Matteo Eu tenho aqui um HD com FAT32 que tem letras maiúsculas e minúsculas no nome: mlabel -vi / dev / sdb1 -s :: O rótulo do volume é miniTR
Den
1
@ Den sim FAT32 suporta. Provavelmente é uma unidade formatada em FAT16.
Matteo
@ Matteo Obrigado por confirmar que não sou completamente boba ;-) O dispositivo que tento renomear é um cartão SD de 15,9 GB formatado em FAT32.
Den
4

A solução é usar mkdosfs (mkfs.vfat): permite ao usuário especificar o rótulo do volume usando o sinalizador -n, e as letras minúsculas são mantidas em minúsculas, mas essa ferramenta recria o sistema de arquivos, para que todos os dados sejam perdidos.

A solução não destrutiva abaixo é uma combinação das ferramentas de linha de comando mlabel e dosfslabel.

  1. Conecte o dispositivo ao computador, se ainda não estiver conectado.
  2. Abra uma janela do terminal.
  3. Corra blkid | grep ' TYPE="vfat"' and </proc/mounts grep ' vfat 'para descobrir o nome do dispositivo (por exemplo /dev/sdb1). Procure em / media etc. para confirmar que escolheu o dispositivo certo. Se não tiver certeza, desconecte-o, execute os comandos novamente, veja-o desaparecer, conecte-o novamente e execute-o novamente.
  4. Desmonte o dispositivo executando umount /dev/sdb1(substituindo /dev/sdb1pelo nome do dispositivo encontrado acima). Se ele foi montado e a desmontagem falhou, feche algumas janelas, mate alguns programas (por exemplo fuser -m /dev/sdb1) e tente desmontar novamente.
  5. Execute sudo env MTOOLS_SKIP_CHECK=1 mlabel -i /dev/sdb1 ::x(substituindo / dev / sdb1 pelo nome do dispositivo encontrado acima). Se o sistema não conseguir encontrar o mlabel, instale-o executando sudo apt-get install mtools e tente novamente.
  6. Execute sudo dosfslabel /dev/sdb1 MyLabel(substituindo MyLabel pelo rótulo desejado e /dev/sdb1pelo nome do dispositivo encontrado acima). Ignore todos os avisos sobre diferenças no setor de inicialização. Se o sistema não conseguir encontrar o dosfslabel, instale-o executando sudo apt-get install dosfstools e tente novamente.
  7. Execute blkid | grep ' TYPE="vfat"'e examine sua saída para verificar se o rótulo foi alterado corretamente. Opcionalmente, desconecte o dispositivo e conecte-o novamente. O sistema o reconhecerá e o montará em / media / MyLabel, sem converter letras minúsculas no rótulo do volume em maiúsculas.

Observe que há um limite de 11 caracteres no comprimento de um rótulo de volume VFAT. Se você especificar um rótulo mais longo, ele será truncado. Há outra restrição: o rótulo pode conter apenas (alguns) caracteres ASCII: letras acentuadas etc. não funcionam.

A fera
fonte
Obrigado pela sua longa resposta! Você pode explicar o que o comando 5. está fazendo exatamente? Ele define o rótulo para 'x'?
Den
2

Até agora, a única maneira que encontrei para alterar o nome do volume FAT com letras minúsculas é editá-lo em um editor hexadecimal (copie os primeiros setores com dd em um arquivo temporário, edite-o e copie-o novamente). Até agora, funciona bem (mesmo com o FAT16) e nem o fsck nem o CHKDSK do Win7 reclamaram. Mas nenhuma garantia, é claro ;-)

Den
fonte
2

Os comandos acima não funcionaram para mim no Rasberry Pi / Rasbian Jessie 8. Decidi continuar gparted.

Vá para o Menu: Partição / Etiqueta . Escreva o nome desejado e clique no cano verde (aplicar).

Após o procedimento, você poderá ver os detalhes ocultos sob o sinal + "múltiplo". Existe um comando total outro:

 mlabel ::"LABEL_NAME" -i/dev/sda1
user237794
fonte
0

Para uma alternativa da GUI, gpartedpossui um Label File Systemitem de menu para muitos sistemas de arquivos, incluindo o VFAT. Ele fica disponível após desmontar o sistema de arquivos.

liori
fonte