Как изменить имя тома файловой системы FAT32?

46

Я знаю, что могу задать имя тома при форматировании раздела с -nопцией mkfs.vfat. Но как просто изменить имя без форматирования?

Я особенно хочу иметь возможность использовать строчные и прописные буквы. В худшем случае я могу использовать инструмент Windows, но Windows по умолчанию преобразует все буквы в верхний регистр (но прекрасно работает со строчными буквами в томах, созданных с помощью mkfs.vfat).

логово
источник

Ответы:

52

Dosfstools , который предоставляет mkfs.vfatи друзья, также предоставляет fatlabel( вызываетсяdosfslabel в более старых версиях) для изменения метки.

Жиль "ТАК - перестань быть злым"
источник
Я попробую это через несколько дней. Знаете ли вы, если он может сохранить строчные буквы?
Ден
Это не сработало с строчными буквами. И после использования, я получил ошибки в файловой системе ....
Den
Начиная с версии 3.0.12 dosfslabel изменил поддержку строчных букв на отклоненные в 3.0.16
D McKeon
1
@DMcKeon: похоже, работает в 3.0.27, с предупреждением.
Крейг МакКуин
blivet (по крайней мере, blivet3-data-3.1.3-3.el7) отклоняет строчные метки для разделов EFI. dosfslabel (он же fatlabel, от dosfstools-3.0.20-10.el7) принимает их с предупреждением. Итак, бливет раздражает.
украденный момент
18

Для меня USB-накопитель mlabelне работал, но fatlabelработал!

fatlabel /dev/device

дает вам ярлык

fatlabel /dev/device NEW_LABEL

устанавливает новый ярлык

Гжегож Вежовецкий
источник
Поскольку мы помечаем файловую систему и обычно она находится на разделе, вот моя команда: sudo fatlabel /dev/sdXN NewLabel( / dev / sdf1 , например)
Mikolasan
4

Посмотрите на страницу Ubuntu о переименовании USB-накопителей , это в основном:

mlabel -i <device> ::<label>
Ульрих Дангел
источник
Спасибо! Изменение имени работает, но оно трансформируется в upercase: # mlabel -i / dev / sdc1 :: redsd # mlabel -i / dev / sdc1 -s :: Метка тома - REDSD
Den
1
Ярлыки диска @Den FAT только в верхнем регистре
Matteo
1
@Matteo меня здесь HD йота FAT32 , которые имеют более низкие и заглавные буквы в имени: mlabel -vi / DEV / sdb1 -s :: метка тома miniTR
Den
1
@ Да, FAT32 поддерживает это. Скорее всего, это диск в формате FAT16.
Маттео
@ Matteo Спасибо за подтверждение, что я не совсем глупый ;-) Устройство, которое я пытаюсь переименовать, - это отформатированная FAT32-карта SD объемом 15,9 ГБ.
День
4

Решением является использование mkdosfs (mkfs.vfat): он позволяет пользователю указывать метку тома с помощью флага -n, а строчные буквы хранятся в нижнем регистре, но этот инструмент воссоздает файловую систему, поэтому все данные будут потеряны.

Неразрушающее решение ниже представляет собой комбинацию инструментов командной строки mlabel и dosfslabel.

  1. Подключите устройство к компьютеру, если он еще не подключен.
  2. Откройте окно терминала.
  3. Запустите, blkid | grep ' TYPE="vfat"' and </proc/mounts grep ' vfat 'чтобы выяснить название устройства (например /dev/sdb1). Посмотрите в / СМИ и т. Д., Чтобы убедиться, что вы выбрали правильное устройство. Если вы не уверены, отключите его, снова запустите команды, увидите, как оно исчезло, подключите его снова и снова запустите команды.
  4. Размонтируйте устройство, запустив его umount /dev/sdb1(подставив /dev/sdb1имя устройства, найденное выше). Если он был смонтирован, а размонтирование не удалось, закройте несколько окон, закройте некоторые программы (например fuser -m /dev/sdb1) и попробуйте снова размонтировать.
  5. Запустите sudo env MTOOLS_SKIP_CHECK=1 mlabel -i /dev/sdb1 ::x(подставив / dev / sdb1 имя устройства, найденное выше). Если система не может найти mlabel, установите ее, запустив sudo apt-get install mtools, и попробуйте снова.
  6. Запустите sudo dosfslabel /dev/sdb1 MyLabel(заменив MyLabel на нужную метку и /dev/sdb1имя устройства, найденное выше). Проигнорируйте любые предупреждения о различиях загрузочного сектора. Если система не может найти dosfslabel, установите ее, запустив sudo apt-get install dosfstools, и попробуйте снова.
  7. Запустите blkid | grep ' TYPE="vfat"'и проверьте его вывод, чтобы убедиться, что метка была изменена правильно. При необходимости отключите устройство, а затем подключите его снова. Система распознает его и подключит его в / media / MyLabel, не переводя строчные буквы в метке тома в верхний.

Обратите внимание, что длина метки тома VFAT ограничена 11 символами. Если вы укажете более длинную метку, она будет усечена. Есть еще одно ограничение: метка может содержать только (некоторые) символы ASCII: буквы с акцентом и т. Д. Не будут работать.

Зверь
источник
Спасибо за ваш длинный ответ! Можете ли вы объяснить, что именно делает команда из 5.? Он устанавливает метку на «х»?
День
2

Пока что единственный способ изменить имя тома FAT в нижнем регистре - это отредактировать его с помощью шестнадцатеричного редактора (скопировать первые несколько секторов с помощью dd во временный файл, отредактировать его и скопировать обратно). Пока он работает хорошо (даже с FAT16), и ни fsck, ни CHKDSK из Win7 не жаловались. Но никаких гарантий конечно ;-)

логово
источник
2

Вышеупомянутые команды не работали для меня на Rasberry Pi / Rasbian Jessie 8. Я решил пойти с gparted.

Зайдите в Меню: Раздел / Метка . Напишите желаемое имя и затем нажмите на зеленую трубу (применить).

После процедуры вы можете увидеть детали, скрытые под знаком «несколько» +. Есть команда всего прочего:

 mlabel ::"LABEL_NAME" -i/dev/sda1
user237794
источник
0

Для альтернативы графического интерфейса gpartedесть Label File Systemпункт меню для многих файловых систем, включая VFAT. Он становится доступным после размонтирования файловой системы.

liori
источник