如何更改 FAT32 文件系统的卷名?我知道当我-n
使用选项格式化分区时可以设置卷名称mkfs.vfat
。但如何只更改名称而不格式化呢?
我特别希望能够使用小写和大写字母。在最坏的情况下,我可以使用 Windows 工具,但 Windows 默认情况下会将所有字母转换为大写(但对于使用 创建的卷中的小写字母效果很好mkfs.vfat
)。
答案1
多夫凳子,它提供mkfs.vfat
和朋友,还提供fatlabel
(dosfslabel
在旧版本中称为)更改标签。
答案2
因为我的 USB 驱动器mlabel
无法工作,但fatlabel
可以工作!
fatlabel /dev/device
给你标签
fatlabel /dev/device NEW_LABEL
设置新标签
答案3
解决方案是使用 mkdosfs (mkfs.vfat) :它允许用户使用 -n 标志指定卷标,并且小写字母保持小写,但该工具会重新创建文件系统,因此所有数据都将丢失。
下面的非破坏性解决方案是 mlabel 和 dosfslabel 命令行工具的组合。
- 如果尚未连接,请将设备连接到计算机。
- 打开终端窗口。
- 运行
blkid | grep ' TYPE="vfat"' and </proc/mounts grep ' vfat '
以找出设备的名称(例如/dev/sdb1
)。在 /media 等中查看以确认您选择了正确的设备。如果不确定,请拔下插头,再次运行命令,看到它消失,将其插回,然后再次运行命令。- 通过运行卸载设备
umount /dev/sdb1
(/dev/sdb1
用上面找到的设备名称替换)。如果已安装,但卸载失败,请关闭一些窗口,终止一些程序(例如fuser -m /dev/sdb1
),然后再次尝试卸载。- 运行
sudo env MTOOLS_SKIP_CHECK=1 mlabel -i /dev/sdb1 ::x
(用上面找到的设备名称替换 /dev/sdb1)。如果系统找不到 mlabel,则通过运行 sudo apt-get install mtools 安装它,然后重试。- 运行
sudo dosfslabel /dev/sdb1 MyLabel
(用所需标签和/dev/sdb1
上面找到的设备名称替换 MyLabel)。忽略有关引导扇区差异的任何警告。如果系统找不到 dosfslabel,请运行 sudo apt-get install dosfstools 安装它,然后重试。- 运行
blkid | grep ' TYPE="vfat"'
,并检查其输出以验证标签是否已正确更改。或者,拔下设备,然后重新插入。系统将识别它,并将其安装在 /media/MyLabel 下,而不将卷标中的小写字母转换为大写。
请注意,VFAT 卷标的长度有 11 个字符的限制。如果指定较长的标签,它将被截断。还有另一个限制:标签只能包含(某些)ASCII 字符:重音字母等不起作用。
答案4
上述命令在 Rasberry Pi / Rasbian Jessie 8 上对我不起作用。我决定使用gparted
.
转到菜单:分区标卷。写下您想要的名称,然后单击绿色管道(应用)。
完成该过程后,您可以看到隐藏在“多个”+号下的详细信息。还有一个命令共有其他:
mlabel ::"LABEL_NAME" -i/dev/sda1