![拇指驱动器断开电源时的行为](https://linux22.com/image/1532361/%E6%8B%87%E6%8C%87%E9%A9%B1%E5%8A%A8%E5%99%A8%E6%96%AD%E5%BC%80%E7%94%B5%E6%BA%90%E6%97%B6%E7%9A%84%E8%A1%8C%E4%B8%BA.png)
不到 2 个月前,我订购了一个 U 盘(便宜的)。收到货的当天我就用了,大概 3 天后就用了。只是用坏块检查了一下,然后dd
把 Linux 映像插入其中。从那以后,它就放在托盘上,没人动过。
今天连接时,我想先检查一下上面图像的完整性。没有检查,因为每次尝试从拇指驱动器读取时总是出现输入/输出错误:
$ sudo dd if=/dev/sdb of=/dev/null bs=1M
dd: error reading '/dev/sdb': Input/output error
162+1 records in
162+1 records out
170524672 bytes (171 MB, 163 MiB) copied, 7.75699 s, 22.0 MB/s
$ sudo dd if=/dev/sdb of=/dev/null bs=1M
dd: error reading '/dev/sdb': Input/output error
74+1 records in
74+1 records out
78381056 bytes (78 MB, 75 MiB) copied, 3.81105 s, 20.6 MB/s
$ sudo dd if=/dev/sdb of=/dev/null bs=1M
dd: error reading '/dev/sdb': Input/output error
22+1 records in
22+1 records out
23461888 bytes (23 MB, 22 MiB) copied, 1.45307 s, 16.1 MB/s
$ sudo dd if=/dev/sdb of=/dev/null bs=1M
dd: error reading '/dev/sdb': Input/output error
41+0 records in
41+0 records out
42991616 bytes (43 MB, 41 MiB) copied, 2.30087 s, 18.7 MB/s
$ sudo dd if=/dev/sdb of=/dev/null bs=1M
dd: error reading '/dev/sdb': Input/output error
37+1 records in
37+1 records out
39321600 bytes (39 MB, 38 MiB) copied, 2.16684 s, 18.1 MB/s
奇怪的是,它总是在不同的地方失败。我记得甚至有一次成功读取了超过 300 MiB(16 GB 的 U 盘)(但遗憾的是我没有检查读取的数据是否正确)。
拇指驱动器损坏了。谁会在乎呢,对吧?
然后我很好奇,想看看写入何时失败,只是为了好玩,然后再把它扔掉。奇怪的是:它没有。我只是在上面dd
加了 -ed 。在对这种行为感到惊讶之后,我尽可能多地从存储棒中取出 1 MiB 块并将它们导入。我不仅没有收到输入/输出错误,而且它的 sha256sum 也与直接从中获取的 sha256sum 相符(块数相同)。/dev/zero
dd
sha256sum
/dev/zero
在对这种行为感到惊讶之后,我拔掉了它的电源 3 个小时并运行badblocks
了它:https://pastebin.com/y5SATDQq
我对这种行为感到非常惊讶。这是为什么呢?
关于投票结果:我竞选这我会在上面写,完成后会编辑这个问题。我认为现在伪造 16 GB 的 U 盘在经济上不可行。我曾经买过一个明显是假的(据说是 128 GB 或 256 GB 或类似的,但太便宜了,不可能是真的)(为了做实验),结果发现它实际上是一个 16 GB 的 U 盘。另外,这个在亚马逊上有超过 1,500 条评论,平均评分为 4 星(满分 5 星)。并且由制造商自己(Intenso)销售。
编辑:
好吧,这个失败了:https://pastebin.com/xZ5VRpf2
但随后我在拇指驱动器上创建了一个 ext4 文件系统并执行以下操作:https://pastebin.com/P1CCsDJT
pastebin 粘贴内容包含我为解决这个问题所做的事情的评论。
它正确读取了超过一半的数据,因此不可能是假拇指驱动器。事实上,只有一个 1000 MiB 块被损坏。它不可能是假拇指驱动器。
答案1
请务必再次查看亚马逊网站,它实际上不是由 Intenso 销售的,只是链接了品牌名称,如果您查看页面的一半左右,它显示由亚马逊发货和销售。无论哪种方式,如果您确认它已损坏并且不是假货,请致电亚马逊要求更换,或者如果它实际上是假货,我会打电话给亚马逊告诉他们他们被骗了,你也被骗了。
即使它真的很便宜而且不值得寄回,仍然要打电话给他们,因为我发现,如果你是一个好顾客,他们通常会给你寄一个替换品。