我有一个 USB 闪存驱动器在 Windows 7 中无法识别,因为详细说明我在 SuperUser 上的问题。我被建议使用 Ubuntu,并且能够看到使用它的闪存驱动器,尽管使用磁盘进行零擦除、格式化并创建新分区仍然无法使其在 Windows 7 中可见。
我决定尝试使用命令行。在使用dd
零写入驱动器后,我开始关注这个答案在这里,并执行以下命令:
sudo mkfs.vfat -I /dev/sdc
我收到错误:
未找到属性“分区”
...并且命令停止运行。
在对 mkfs.vfat 命令进行进一步研究之后,我运行了该命令的修改版本:
sudo mkfs.vfat -F 32 -c -v -I
我得到了与上面相同的错误,只是这次命令继续搜索坏块,并且然后终止。
我猜这个错误与开关有关-I
,但我宁愿不忽略它,因为我觉得这可能是让 USB 再次成功识别的必要步骤。我已经检查了磁盘,它确实报告驱动器有一个(单个,FAT)分区。
到底是什么未找到属性“分区”错误含义是什么,我该如何解决?
答案1
/dev/sdc
是磁盘本身,而/dev/sdc0
等/dev/sdc1
是分区。
您已将文件系统写入原始磁盘,而不是磁盘上的分区。Linux 很乐意读取原始磁盘上的文件系统,但您可能会遇到其他操作系统或嵌入式设备(例如电视、游戏机等)的问题。
我猜这条消息与原始磁盘上的 FAT32 非标准有关。我猜 Linux 允许你这样做,但不建议这样做。诚然,这条消息可能会更有帮助。
如果您确实希望磁盘能够在尽可能多的操作系统和设备上运行,则需要编写“msdos”分区表;否则,如果您仅在现代操作系统(Linux、Windows 10 等)上使用磁盘,则“gpt”分区表是一个不错的选择。创建分区表和单个分区后,您可以执行以下操作:
sudo mkfs.vfat /dev/sdc0
但是,您首先需要仔细检查它sdc
是否仍然指的是同一个磁盘!