我有很多通过 SD 卡运行 Linux 的 IoT 设备,但由于某种原因,它们最近都停止了工作!
为了彻底解决这个问题,我在 Windows 笔记本电脑上测试了这些 SD 卡。
笔记本电脑无法读取 SD 卡,这意味着:
- 磁盘管理无限期挂起
- 当我尝试列出时 DISKPART 挂起
- CHKDSK 卷报告磁盘为 RAW 格式
我以为一切希望都破灭了,直到我使用卡侧面的小开关将 SD 卡设置为只读。
然后笔记本电脑就能完全读取 SD 卡了,这意味着:
- 磁盘管理工作正常
- DISKPART 显示卷正常
- CHKDSK 报告磁盘为 FAT 格式(即 FAT 16)
所以我现在的问题是:
- 这到底发生了什么事?为什么?!
- 我该如何恢复这些 SD 卡,因为在只读模式下重新格式化它们会失败,而读/写模式会挂起所有内容。
- 有什么工具可以帮助解决这个问题吗?
提前致谢!
答案1
遗憾的是,这是某些 SD 卡的常见问题,并且之前已在此网站上得到解答:
当 SD 卡遇到问题时,它会锁定数据以防止数据丢失。如果无法锁定数据,它将阻止访问,直到物理锁定为止。基本上,您的 SD 卡具有:
1)已达到使用寿命或属于有缺陷的批次。如果都是同一品牌和型号,则这种可能性很大。
2) Linux 中的某些东西损坏了 SD 卡。这种情况很少见,通常只有在格式化出错时才会发生。如果 Linux 最近在您的 IoT 平台上进行了更新,则可能会出现这种情况。
3)电源故障或不稳定会缩短 SD 卡的使用寿命吗? 有关 Flash 不稳定性的超级用户文章 最近有没有停电或者不稳定的情况?
为了证明它是否是 Linux,我将尝试一个新品牌的 SD 卡并尝试重现 SD 卡出现故障之前的相同情况。
可以将这些 SD 卡恢复到正常工作状态。关于此问题有多篇文章:关于此主题的超级用户文章
问题在于浪费时间和复杂性。我强烈建议不要重复使用发生此类故障的 SD 卡。