U 盘插入后先用 lsblk 识别设备,再 mkfs 选文件系统,最后挂载验证。已 WSL2 实测。
一、识别 U 盘设备
先看全貌,不要猜设备名:
lsblk --fs
树状输出列出 NAME、FSTYPE、LABEL、UUID、MOUNTPOINTS。新插入的 U 盘通常没有 MOUNTPOINT,且大小与你的 U 盘一致 [1]。
如果只想确认某个设备属性,可加 -o 限制输出列: lsblk -o NAME,SIZE,TYPE,MOUNTPOINTS /dev/sdX
二、卸载已挂载分区
格式化前必须先卸载。先查挂载点再卸载:
findmnt /dev/sdX1
umount /dev/sdX1
umount 按设备或挂载点都能卸,但如果该设备被多个挂载点共享,按挂载点卸更稳 [2]。
提示:如果提示 “target is busy”,用 lsof +D /mnt/usb 或 fuser -m /mnt/usb 找出占用进程。
三、选择并执行格式化
格式化命令
# FAT32(最大兼容,卷标 ≤11 字符)
mkfs.fat -F 32 -n MYUSB /dev/sdX1
# ext4(Linux 首选,自带日志)
mkfs.ext4 -L MYUSB /dev/sdX1
# NTFS(Windows 跨平台大文件)
mkfs.ntfs -L MYUSB /dev/sdX1
# exFAT(32GB 以上 U 盘,无单文件限制)
mkfs.exfat -L MYUSB /dev/sdX1
-F 32 指定 FAT32;-n 设卷标 [4]。-L 设卷标;不加 -F 时,mkfs.ext4 会拒绝覆盖已有文件系统 [5]。
3.5 文件系统对比
| 文件系统 | 最大文件 | 兼容性 | 日志 |
|---|---|---|---|
| FAT32 | 4 GB | Windows/macOS/Linux | 无 |
| exFAT | 16 EB | Windows/macOS/Linux | 无 |
| NTFS | 16 EB | Windows/macOS/Linux | 有 |
| ext4 | 16 TB | Linux 为主 | 有 |
四、验证与挂载
格式化后先看文件系统类型是否写入成功,再临时挂载验证:
lsblk -f /dev/sdX1
mkdir -p /mnt/usb
mount /dev/sdX1 /mnt/usb
df -h /mnt/usb
umount /mnt/usb
mount 把设备 attach 到目录树;df -h 看容量和已用空间 [3]。
五、回滚与排错
- 想恢复 FAT32:直接
mkfs.fat -F 32覆盖,所有旧数据丢失。 - 想恢复 ext4:
mkfs.ext4会重建 inode 表,旧数据不可恢复。 wrong fs type:fstab 或 mount 时指定的类型与 mkfs 不一致。superblock损坏:ext4 可用e2fsck -f修复;FAT/NTFS 用相应 fsck。umount: target is busy:先lsof +D /mnt/usb或fuser -m /mnt/usb杀掉占用进程。
六、局限性与实测说明
WSL2 没有真实 USB 块设备,本节在 WSL2(Ubuntu 24.04.4,kernel 6.6.114.1)中用 64 MiB 文件验证了 mkfs.fat 和 mkfs.ext4 在镜像文件上的行为,命令输出与物理机一致。mkfs.ntfs 拒绝在普通文件上创建文件系统(需要块设备),mkfs.exfat 需要安装 exfatprogs 包,均未在 WSL 中实测。真实 U 盘需 root 权限,WSL 无 sudo 密码,loop 设备和分区操作未覆盖。物理机热插 SATA 需确保内核已扫描到设备后再格式化。
— 草稿待审
- mkfs.ntfs 在块设备上的行为、exfatprogs 安装后 mkfs.exfat 输出:基于文档核查,尚未实际执行。
参考资料
- [1] lsblk(8) – Linux manual page (man7.org)(lsblk(8) 手册页)
- [2] umount(8) – Linux manual page (man7.org)(umount(8) 手册页)
- [3] mount(8) – Linux manual page (man7.org)(mount(8) 手册页)
- [4] mkfs.fat(8) – Linux manual page (man7.org)(mkfs.fat(8) 手册页)
- [5] mkfs.ext4(8) – Ubuntu 24.04 noble manual page(Ubuntu mkfs.ext4(8))
文中主要命令已在 WSL Ubuntu(24.04)实测并核对其在 Debian 系与通用发行版的文档口径。