复制到 SD 卡时出现问题

复制到 SD 卡时出现问题

我正在尝试自动将一个大文件(25MB +)复制到 SD 卡,但是不起作用 - 所以我在命令行中尝试过......

cp /tmp/MIRROR/myfile.db /run/media/mmcblk0p1/MIRROR/

但这会引发错误:

cp:写入错误:输入/输出错误

如果我ls,则显示大部分文件已被复制,可能是 24MB 或更少。

现在,任何进一步尝试写入同一位置(包括rm复制文件)都会引发新的错误

rm:无法删除“myfile.db”:只读文件系统

只有在第一个失败后我才会收到此错误(例如,首先复制较小的文件可以正常工作,之后我仍然可以写入该位置)

在 Windows 中,无法从 SD 卡复制失败的文件(它说文件已损坏),但我可以使用 Windows 格式化 SD 卡以重试(格式化为 FAT)。在 Windows 中,我也可以毫无问题地将大文件复制到 SD 卡上。

这里可能存在什么问题?有没有其他更好的文件复制方法?

编辑

我做了一个dmesg,其中有很多错误,但大多数都是重复的,所以这里是出现的不同错误的示例:

mmcblk0:错误 -84 传输数据,扇区 135,nr 1,cmd 响应 0x900,卡状态 0xc00

(尽管有时card status 0x0

blk_update_request:I/O 错误,设备 mmcblk0,扇区 135

设备 mmcblk0p1、逻辑块 0 上的缓冲区 I/O 错误,丢失同步页面写入

FAT-fs(mmcblk0p1):错误,fat_get_cluster:无效的集群链(i_pos 11267)

FAT-fs(mmcblk0p1):文件系统已设置为只读

(我想最后一个解释了第二个错误)

进一步编辑

看起来确实是卡有问题 - 由于某种原因,它不能与 Sandisk 2GB SD 卡一起使用(我试过其中 3 个),但与 Transcend 2GB SD 卡一起使用则没问题!

相关内容