检查假闪存驱动器并将其设置为真实大小

检查假闪存驱动器并将其设置为真实大小

我有几百个“假”闪存驱动器;您会在在线商店中看到的那种,具有错误/可疑的大小,例如“1TB”或“1ZB”......

我怎么知道它们是“假的”?它们基本上会在某个时间点后停止文件传输,此时它们基本上会失败,并且发生传输的操作系统通常会显示错误。

现在我确实设法检查了此类闪存驱动器的实际大小,并将它们设置为实际大小,不久前(几年前,所以我不记得了精确的程序),但我这样做了:

  • 填充闪存驱动器直到出现错误,并在出现错误时记下/打印所述数据的实际/确切大小(因为它会指示真实的所述闪存驱动器的大小)。
  • 使用 .“格式化”闪存驱动器为其实际大小dd

我已经部分了解如何完成第一部分。问题出现在第二部分,我不完全确定它是如何完成的,尽管我确实记得当时,当我这样做时,我曾经dd写过一个我创建的空图像文件,具有精确的实际大小闪存驱动器,并dd与其一起使用。

有些人可能会认为/争论,“它是无用的”或“努力大于结果”,如果我只有其中一两个,这可能是正确的,但考虑到我总是可以找到这些闪存驱动器的用途,即使如果不实用(由于数量),并不意味着它没有用。

考虑到我设法做到了一次,虽然我忘记了它,但也有可能......(其他人可能设法做类似的事情,尽管我在Linux上没有找到任何这样的例子)

我没有关于这些的任何数据,而且我也不关心它们是否破裂(考虑到我拥有的数量),但我仍然更喜欢将它们设置为实际大小,如前所述。

我基本上想使用 、 和其他一些 Posix 实用程序来完成所有这些bash工作dd

答案1

您可以使用该工具f3为了这。它是一个 linux 端口H2testw(德语)

F3 包含在大多数主要发行版中,例如 debian、ubuntu 和 fedora

编辑:如果不更改固件,您就无法修复棒/卡/任何东西的大小,这不是一项简单的任务。但 f3 提供了命令 f3fix,它可以创建一个具有实际大小的分区,因此您不会意外“过度提交”数据。

答案2

  1. 使用ddbadblocks在读写模式下使用测试图案可能是更好的选择)擦除它们并记下实际大小。
  2. 使用 fdisk/gdisk/sfdisk/cfdisk/whatever 创建正确用途的单个分区。其中大多数都可以实现简单的自动化——可能是最简单的一个sfdisk /dev/device < partition_table_file

相关内容