记忆棒未格式化?

记忆棒未格式化?

我有一根 8GB 的​​记忆棒 pro duo,无法正确格式化或读取。当我从 Playstation Portable 中删除一个文件时,电池意外没电了。现在,什么都无法读取它。当我尝试格式化它时,我收到此消息:

Error creating file system: 
helper exited with exit code 1: helper failed with:
mkfs.vfat: failed whilst writing FAT
mkfs.vfat 3.0.9 (31 Jan 2010)

读取记忆棒的两种方法是将其直接插入计算机或将其放入我的 playstation 并通过电线连接到它。当我使用后一种方法并尝试打开它时,我可以看到一堆以随机符号作为名称的文件(论坛不允许我发布屏幕截图)。有人知道我该如何解决这个问题吗?请提供具体的说明,尤其是涉及终端的说明,因为我是 Linux 新手。
提前谢谢。

答案1

将棒连接到 PC 后尝试输入以下命令(如果我的其余回答没有帮助)将输出添加到您的问题中:

sudo fdisk -l

搜索此 8 Gb 棒的设备名称。我们假设它sdc1执行以下任务:

cd / 
sudo umount -l /dev/sdc1 
sudo swapoff /dev/sdc1 
sudo sfdisk -R /dev/sdc
  • 第一个命令是确保您没有插入 USB 驱动器。如果您愿意,cd可以插入。cd /tmp/
  • 第二条命令是无害的卸载。
  • 执行第二和第三个命令可能会出现错误消息。

关于最后一条命令:

  • sfdisk是一个分区表操作器。
  • 最后一个命令将使内核重新读取分区表,并且不会出现错误。重要的是不要出现任何错误,如果出现错误,请将其添加到您的问题中。它可能显示的典型错误是:device busy for revalidation (usage = 2)

如果需要的话:

cat /proc/partitions
sudo sfdisk -uM -s /dev/sdc
sudo sfdisk -uM -s /dev/sdc1

如果您对实际设备名称有疑问,则每个命令都应报告文件大小。第一个命令还会显示其他分区,因此您也可以将其用作第二个命令的替代方法(sudo fdisk -l)。或者作为确认您操作正确的方法 :)

到目前为止,一切都无法挽回。

如果您没有收到任何错误,请输入:

sudo sfdisk /dev/sdc <<EOF 
,, c 
EOF

这将彻底破坏分区表,因此请小心输入正确。如果您决定复制/粘贴此内容,请不要将其作为一个块进行复制/粘贴,而应分别执行每一行。

接下来重新读取分区表:

sudo sfdisk -R /dev/sdc1

并且这个命令应该开始格式化它:

sudo mkfs.vfat -c -F 32 -n LABEL -v /dev/sdc1
  • 我当然没有测试过这个,但我确信我没有犯任何拼写错误:)
  • 再说一遍:这将删除 USB 闪存驱动器上的所有内容。

答案2

我见过一些内存条在存入 ISO9660 图像后无法格式化,我解决这个问题的方法是先写入零。

dd if=/dev/zero of=/dev/装置BS=512

让它运行一分钟左右,然后按 ctrl-z 停止它

然后尝试再次格式化。

答案3

我之前也遇到过同样的问题。我使用了以下命令,成功了:

sudo dd if=/dev/zero of=/dev/sdb bs=1M count=1

相关内容