Come modificare il nome del volume di un filesystem FAT32?


46

So che posso impostare il nome del volume quando formatto la partizione con l' -nopzione di mkfs.vfat. Ma come modificare il nome senza formattarlo?

In particolare, voglio essere in grado di utilizzare lettere maiuscole e minuscole. Nel peggiore dei casi, posso usare uno strumento di Windows, ma Windows per impostazione predefinita trasforma tutte le lettere in maiuscolo (ma funziona bene con lettere minuscole nei volumi creati con mkfs.vfat).


Risposte:


52

Dosfstools , che fornisce mkfs.vfate amici, fornisce anche fatlabel(chiamato dosfslabelnelle versioni precedenti) per cambiare l'etichetta.


Lo proverò tra qualche giorno. Sai se può salvare lettere minuscole?
Den

Non ha funzionato con lettere minuscole. E dopo l'uso, ho riscontrato degli errori sul file system ....
Den

dosfslabel è passato dal supporto delle etichette minuscole a partire dalla versione 3.0.12 al rifiuto in 3.0.16
D McKeon

1
@DMcKeon: sembra funzionare in 3.0.27, con un avviso.
Craig McQueen,

blivet (almeno, blivet3-data-3.1.3-3.el7) rifiuta le etichette minuscole per le partizioni EFI. dosfslabel (aka fatlabel, da dosfstools-3.0.20-10.el7) li accetta con un avvertimento. Quindi, Blivet è preventivamente fastidioso.
rubato il

18

Per la mia unità USB mlabelnon ha funzionato, ma ha fatlabelfunzionato!

fatlabel /dev/device

ti dà un'etichetta

fatlabel /dev/device NEW_LABEL

imposta una nuova etichetta


Perché etichettiamo un file system e di solito è su una partizione ecco il mio comando: sudo fatlabel /dev/sdXN NewLabel( / dev / sdf1 , per esempio)
Mikolasan,

4

Dai un'occhiata alla pagina Ubuntu su come rinominare le unità USB , è fondamentalmente:

mlabel -i <device> ::<label>

Grazie! Cambia il nome funziona, ma viene trasformato in maiuscolo: # mlabel -i / dev / sdc1 :: redsd # mlabel -i / dev / sdc1 -s :: L'etichetta del volume è REDSD
Den

1
Le etichette del disco @Den FAT sono solo in maiuscolo
Matteo

1
@Matteo Ho qui un HD con FAT32 che ha lettere minuscole e maiuscole nel nome: mlabel -vi / dev / sdb1 -s :: L'etichetta del volume è miniTR
Den

1
@Den yes FAT32 lo supporta. Molto probabilmente è un'unità formattata FAT16.
Matteo

@Matteo Grazie per aver confermato che non sono completamente sciocco ;-) Il dispositivo che provo a rinominare è una scheda SD formattata FAT32 da 15,9 GB.
Den,

4

La soluzione è usare mkdosfs (mkfs.vfat): consente all'utente di specificare l'etichetta del volume usando il flag -n, e le lettere minuscole vengono mantenute minuscole, ma questo strumento ricrea il filesystem, quindi tutti i dati andranno persi.

La soluzione non distruttiva di seguito è una combinazione degli strumenti da riga di comando mlabel e dosfslabel.

  1. Collegare il dispositivo al computer se non è già collegato.
  2. Apri una finestra del terminale.
  3. Esegui blkid | grep ' TYPE="vfat"' and </proc/mounts grep ' vfat 'per capire il nome del dispositivo (ad esempio /dev/sdb1). Guarda in / media ecc. Per confermare di aver scelto il dispositivo giusto. In caso di dubbi, scollegarlo, eseguire nuovamente i comandi, vederlo scomparire, ricollegarlo ed eseguire nuovamente i comandi.
  4. Smonta il dispositivo eseguendo umount /dev/sdb1(sostituendo /dev/sdb1con il nome del dispositivo trovato sopra). Se è stato montato e lo smontaggio non è riuscito, quindi chiudere alcune finestre, uccidere alcuni programmi (ad esempio fuser -m /dev/sdb1) e riprovare a smontare.
  5. Esegui sudo env MTOOLS_SKIP_CHECK=1 mlabel -i /dev/sdb1 ::x(sostituendo / dev / sdb1 con il nome del dispositivo trovato sopra). Se il sistema non riesce a trovare mlabel, installalo eseguendo sudo apt-get install mtools e riprova.
  6. Esegui sudo dosfslabel /dev/sdb1 MyLabel(sostituendo MyLabel con l'etichetta desiderata e /dev/sdb1con il nome del dispositivo trovato sopra). Ignora eventuali avvisi sulle differenze del settore di avvio. Se il sistema non riesce a trovare dosfslabel, installalo eseguendo sudo apt-get install dosfstools e riprova.
  7. Esegui blkid | grep ' TYPE="vfat"'ed esamina il suo output per verificare che l'etichetta sia stata modificata correttamente. Facoltativamente, scollegare il dispositivo, quindi ricollegarlo. Il sistema lo riconoscerà e lo installerà in / media / MyLabel, senza convertire in maiuscolo le lettere minuscole nell'etichetta del volume.

Si noti che esiste un limite di 11 caratteri sulla lunghezza di un'etichetta di volume VFAT. Se si specifica un'etichetta più lunga, verrà troncata. C'è un'altra limitazione: l'etichetta può contenere solo (alcuni) caratteri ASCII: le lettere accentate ecc. Non funzioneranno.


Grazie per la tua lunga risposta! Puoi spiegare cosa sta facendo esattamente il comando in 5.? Imposta l'etichetta su 'x'?
Den

2

Finora l'unico modo che ho trovato per cambiare il nome del volume FAT con lettere minuscole è modificarlo con un editor esadecimale (copiare i primi settori con un file temporaneo, modificarlo e copiarlo nuovamente). Funziona bene finora (anche con FAT16) e né fsck né CHKDSK di Win7 si sono lamentati. Ma nessuna garanzia ovviamente ;-)


2

I comandi precedenti non hanno funzionato per me su Rasberry Pi / Rasbian Jessie 8. Ho deciso di seguirlo gparted.

Vai al menu: Partizione / Etichetta . Scrivi il nome desiderato e fai clic sul tubo verde (applica).

Dopo la procedura puoi vedere i dettagli nascosti sotto il segno "multiplo" +. C'è un comando totale altro:

 mlabel ::"LABEL_NAME" -i/dev/sda1

0

Per un'alternativa alla GUI, gpartedha una Label File Systemvoce di menu per molti file system, incluso VFAT. Diventa disponibile dopo aver smontato il file system.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.