如何有目的地损坏/破坏 USB 驱动器以进行测试?

如何有目的地损坏/破坏 USB 驱动器以进行测试?

我将在基于 Linux 的计算机上测试使用 USB 安装/卸载以及 USB 上的文件放置的用户流程。我们的用例之一是在用户插入的 USB 设备损坏或无法读取时通知用户。

有没有一种方法可以通过命令行故意损坏/破坏 USB 设备,以便我们可以测试“损坏设备”场景?

理想情况下,如果 USB 设备可以安装,但不可读取/写入,这就是我正在寻找的。

答案1

硬件解决方案几乎肯定是偏离主题的。

软件解决方案。很难提出任何能够提供部分破坏的建议。以下是一些可能有用也可能没用的建议:

  1. 擦除 USB。插入棒并验证安装是否成功。

  2. 将 USB 格式化为ext2.安装 USB。去掉它。卸载文件系统。可能会尝试卸载剩余的内容。当您插入此棒时,我期望发生的情况是安装将失败,因为fsck需要进行文件系统检查()。

  3. 将 USB 格式化为ext4.根据以下说明在文件系统上设置只读标志将 ext4 文件系统标记为只读。当您安装此棒时,您应该会找到一个只读文件系统。

  4. 将 USB 格式化为ext2ext3ext4。用大大小小的文件填充文件系统(cp -a /{bin,etc,lib} /mnt/usb例如,对于安装在 上的 USB /mnt/usb)。卸载文件系统。擦除 USB 大约 2MB 及以上的数据(dd bs=1M seek=2 if=/dev/zero >/dev/sdX,对于 USB 设备/dev/sdX)。当您下次挂载此文件系统时,您应该会发现(大部分)目录结构看起来合理,但文件已损坏。

我无法为您提供有关从 USB 记忆棒生成读取错误的建议。也许在使用中途拉动棍子。或者将其综合到您的软件中。

相关内容