我有一个混合 ISO 映像(Debian netinst,大小约为 473MB),我尝试将其写入 Debian 系统上的 USB 闪存驱动器。当我尝试使用以下任何命令执行此操作时(sdX
是与闪存驱动器对应的设备):
$ cp image.iso /dev/sdX
$ dd if=image.iso of=/dev/sdX bs=1M status=progress
然后命令卡住了,没有完成,即使等待了 10-15 分钟(闪存驱动器的 LED 不断闪烁,好像数据仍在写入;对于我过去尝试过的其他 USB 驱动器/随身碟)通常会在大约 1 分钟或更短的时间内完成)。此外,cp/dd 进程无法用 停止CTRL-C
,甚至不能用kill -9
- 我必须从 USB 端口移除闪存驱动器才能停止复制过程。 (我怀疑cp/dd发送的数据被缓存了,内核正在等待,直到闪存驱动器确认所有数据最终被写入)。
我检查了dmesg
输出,没有发现任何写入错误,除了当我从 USB 端口移除闪存驱动器时发生的错误。
之后,我在同一个闪存驱动器上创建了一个 exFAT 分区(为其分配闪存驱动器上的所有空间,以便它也包含通过 cp/dd 命令写入 ISO 映像的区域),安装它并将 ISO 映像复制为常规文件,只是为了检查是否会发生同样的情况。花了大约2分钟(原来这个U盘写入速度相当慢),但完成了。
我还检查了lsusb
闪存驱动器是否以某种可疑的方式标识自己,但它只是将自己显示为“USB 存储”。
直接写入设备时复制操作被卡住(或者至少非常慢)但写入分区时工作正常的原因可能是什么?闪存驱动器是否已损坏或对某些第一个块设置了写保护?或者它可能是假冒/可疑的闪存驱动器,最好避免它?