我现在已经创建好这个 VFAT 这个分区了,我现在要去创建文件系统,我用 mkfs 点 VFAT, 为什么不成功呢?
Ubuntu下U盘格式化为exFAT(Windows兼容)
导出时间:2026/5/27 19:20:19
来源地址:https://www.doubao.com/chat/38418137491274242
消息数量:4
我直接给你最可能的原因 + 一步到位的解决办法,你照着做就能成功。
你现在 mkfs.vfat 失败,99% 是这 3 个原因
1)你在格式化 整个磁盘 /dev/sda,而不是 分区 /dev/sda1
你之前说:
我直接对/dev/sda做了 mkfs.vfat
这绝对不行。
Windows / Linux / 手机 都要求:
必须先有分区 → 再格式化分区
你现在要格式化的是:
plaintext
/dev/sda1 ✅
不是:
plaintext
/dev/sda ❌
2)分区还在挂载状态 → 不能格式化
先执行:
bash
运行
sudo umount /dev/sda1
如果提示 “not mounted” 就没事。
3)你没有加 -F 32(强制 FAT32)
正确命令:
bash
运行
sudo mkfs.vfat -F 32 /dev/sda1
你现在只需要按顺序做这 3 步
1. 确认你有分区
bash
运行
lsblk
你必须看到:
/dev/sda/dev/sda1<-- 这个才是分区
没有 sda1 就不能格式化,必须回去用 fdisk 建分区。
2. 卸载(必须)
bash
运行
sudo umount /dev/sda1
3. 格式化 FAT32
bash
运行
sudo mkfs.vfat -F 32 -n "USB" /dev/sda1
如果你还是失败,把报错贴给我,我立刻告诉你哪里错
常见报错:
/dev/sda1 is apparently in use by the systemDevice or resource busyno such deviceDevice size does not match partition size
你把报错原文发我,我 1 秒定位。
我现在这个分区也建好了,文件系统也好了。我现在 mount 的时候要用这个,我不想用这个 superuser 速度去 mount,用普通的 mount。那个 dash o 后面是跟 user 还是怎么样?就是我能够普通用户去 mount 这个目录吗? mount mount 这个文件分区吗?
我直接给你最简单、一次成功、普通用户就能 mount/umount的写法,不用 sudo。
一句话答案
你要在
/etc/fstab 里加一行,然后普通用户就可以:bash
运行
mount /mnt/usb
umount /mnt/usb
一步一步做(非常简单)
1)先建一个挂载点(随便你放哪)
bash
运行
mkdir -p ~/usb
# 或者
sudo mkdir /mnt/usb
2)查看你 U 盘分区的 UUID(非常重要)
bash
运行
blkid /dev/sda1
你会看到类似:
plaintext
/dev/sda1: UUID="1234-ABCD" TYPE="vfat" PARTUUID="..."
把 UUID="xxxx" 里的内容记下来,比如:
1234-ABCD3)编辑 /etc/fstab
bash
运行
sudo nano /etc/fstab
在最后加一行(把 UUID 换成你自己的):
plaintext
UUID=1234-ABCD /mnt/usb vfat defaults,user,utf8,umask=000 0 0
关键就是这里的参数:
- user → 允许普通用户 mount
- umask=000 → 普通用户可读可写
- utf8 → 中文不乱码
4)保存退出
nano 里:
Ctrl+O→ 回车Ctrl+X
现在普通用户直接用
bash
运行
mount /mnt/usb
不用 sudo,直接成功。
用完:
bash
运行
umount /mnt/usb
如果你不想改 fstab,临时用一次
普通用户直接这样 mount 也可以:
bash
运行
mount -o user,utf8,umask=000 /dev/sda1 /mnt/usb
你告诉我:
你想挂载到 ~/usb 还是 /mnt/usb?
我可以直接给你完整一行 fstab 内容,你复制粘贴就行。