最近买了一个U盘,设计很酷。
卖家说是256GB,但是我早就知道这个容量是假的。不管怎么说,我还是因为它的设计很酷而买了它,无论如何我都想用这个U盘。
我该怎么办?我尝试找到合适的工具(vid 1908 / pid 1320),但找不到。我可以通过低级格式化来修复它吗?或者通过 Linux 对其进行分区?
答案1
格式化不会告诉您驱动器的真实容量,也不会将其报告的容量设置为实际容量。写入所有报告的扇区显然会成功,因此 /P 选项没有帮助。
正如 Bob 在之前的评论中所说,这些驱动器一遍又一遍地重复使用相同的块。它们不确切地回绕,因为这很快就会损坏 MBR 和块 0 中的分区表,导致 Windows 抱怨驱动器需要格式化。但它们确实允许成功写入不存在的空间。如果您读回刚刚写入的数据,那也会起作用,因为对不存在空间的读取被映射到与写入相同的实际块。但如果您尝试读取之前写入的数据,您将获得稍后写入的数据,即使您认为它们被写入不同的扇区。
在正常使用中,症状是当您在驱动器上放置“太多”数据时,文件系统元数据会损坏。(但通常不会损坏分区表,因为制作这些东西的坏蛋很聪明,不会重复使用前几个块。)
抱歉,您无法对 USB 驱动器进行“低级格式化”。USB 大容量存储类中没有任何命令可以请求低级格式化。顺便说一句,您也无法对 SATA 或 PATA(“IDE”)驱动器进行“低级格式化”。消费者“低级格式化”只能通过 ST506 和 ESDI 驱动器进行,而不能通过 SCSI 或 ATA 进行。同样,SCSI 或 ATA 命令集中也没有任何命令允许您这样做。低级格式化实际上是在工厂完成并测试的,在将盘片组装到最终驱动器之前。
要让假冒的 USB 驱动器报告其实际容量(假设您愿意相信它;我不会),您必须重写设备的固件。从 USB 接口几乎肯定也不可能做到这一点。
要查明真正的存储量,可以使用 heise.de 提供的一款名为 h2testw 的工具。它会为每个块写入一个唯一的模式,每次写入后,都会检查一些最早写入的块,看它们是否仍包含最初写入的模式。这可以非常快速地检测出假驱动器。(而且,RPL,这将提供您要求的“参考”。)
您可能会发现驱动器的真实容量非常小,不值得担心。
答案2
你可以尝试f3(打击 Flash 欺诈)工具集对于 Linux。
首先运行f3probe
检查实际驱动器大小,然后f3fix
创建一个与可用大小一样大的分区。之后好好测试一下分区(f3write
/ f3read
)。
答案3
我如何才能确定它到底有多少空间?
在 Windows 上,使用该工具h2testw
。它托管在一个名为 heise.de 的德国网站上,您可以在此处找到直接下载链接:h2测试w.zip。它使用起来很简单。打开它,选择驱动器,然后点击开始。您可以找到有关它的更多信息在这个网站上。它还将执行读/写速度测试。
在 Mac 或 Linux 上,你可以使用以下替代方案:F3。
您很可能可以直接从您的 repo(sudo pacman -S f3
在 arch、sudo apt-get install f3
在 debian/ubuntu 上)获取它。
它的使用非常简单。您必须将 USB 驱动器的分区安装在某个地方,比如说/media/usbd
。然后cd /media/usbd
进入目录并运行f3write ./
直到完成。这将写入尽可能多的数据(如果是假的 64GB USB 驱动器,则应该是 64GB,而实际上只有 8GB)。
之后,f3read ./
在同一个目录中运行,它现在将尝试读回数据,但在我们的示例中,在 8GB 之后失败。最后,您将获得一份摘要。这还将包括读/写速度。
另一种方法f3
是使用f3probe
命令。从它的--help
文本来看:
Usage: f3probe [OPTION...] <DISK_DEV>
F3 Probe -- probe a block device for counterfeit flash memory. If counterfeit,
f3probe identifies the fake type and real memory size
为了找到您的磁盘设备,您可以运行lsblk
,然后运行f3probe /dev/sdX
,X
用找到的驱动器号替换lsblk
。
如果我能得到上述答案,我可以正确格式化它吗?
我不会为此烦恼,因为......
我是不是应该直接将其退回而不是试图去挽救它?
...您显然可以预料到,这款 USB 驱动器比质量不错的驱动器更容易出现故障。只需问问自己:如果这些制造商使用高品质组件,他们会以假冒产品出售,而不是出售正品、高品质的 USB 驱动器吗?
我有过几个这样的驱动器,因为它基本上是免费的 8GB 驱动器,所以我年轻的时候就这么想(如果你在信誉良好的网站上购买,你会得到全额退款)。我一直在设置一个分区表,这样我就可以只使用实际的 ~7.4GB,然后将它们格式化FAT-32
并使用它们。它们都在使用几个月内坏了。它们最终根本不会被任何操作系统检测到。
结论:如果你发现难以置信如果你想购买容量超过 8GB 的 USB 驱动器,一定要先检查一下。如果是假容量:就别费心了。拿回你的钱,然后退货或扔掉。除非它是一个可爱的新奇 USB 驱动器,否则请像我一样把它当作可爱的钥匙链或桌面装饰。