如何检查SD卡的状况?


23

如何检查SD卡的健康状况?

当我要检查硬盘驱动器时,可以使用SMART,如何检查SD卡?有通用的方法吗?


嘿Grzegorz,这个问题是否成功。我正在努力解决类似的问题,并且正在检查是否有人更深入地研究了内核的mmc susbsystem可以为该问题提供什么。
TheMeaningfulEngineer

Answers:


9

(旧问题,但对那些搜索有用的信息)

如果要彻底(破坏性地)测试SD卡,则可以使用已移植到Linux的F3工具检查整个数据空间

它们使您可以将各种模式写入磁盘,然后检查是否有任何故障。

您也可以使用badblocks,但是badblocks使用重复的模式,这些伪造的SD卡通常仍会通过(伪装的SD卡空间不足,这是在线购买的卡所常见的问题),F3专门查找此类问题并且是免费的。

它很慢,并且可以完全重写您的卡(或者如果您只想测试它,至少可以填满空白空间),但是它相当全面。


AFAIK现在的闪存卡具有用于更改扇区的内部逻辑,因此一次写入给定偏移量的位置可能与以后有所不同。无论如何,谢谢分享!
Grzegorz Wierzowiecki

1
那不应该阻止F3的工作。
David Ljung麦迪逊·斯特拉里

1

SD卡几乎是最糟糕的闪存。它们非常适合对FAT格式卡进行大范围线性读取和写入的相机,并且不会经常覆盖同一位置,但是它们会很快磨损您尝试在其上放置rootfs的功能。我在开发板上有一张很不高兴的卡片来证明这一点。

我不知道监视卡的方法,但是根据我的经验,最常用的文件将首先消失。在我的卡上,是/ var(每天都会更新的)下的apt文件引起了故障。

如果您需要使用闪存,则USB驱动器是一种更快,更可靠的选择。

编辑:如果要检查卡的当前状态,纯旧fsck当然是一个好的开始。难道动心的坏块扫描但正如你只戴卡拿出越早做任何排序。


9
可以,但是他已经有了SD卡,并想检查其状况。你没有解决他的问题。
凯文

就像我说的那样,我不知道监视状况的方法。我将添加有关扫描它们的评论。
2012年

10
如果您不知道答案...那么就不要回答...“闪存卡很烂”没有帮助。
塞林

1
@cerin不知道答案与不知道方法是不同的。也许答案是没有办法进行监视(如用于ATA / SATA /等驱动器的SMART),因此ams确实提供了答案。我也认为,无法查询接口来检查SD卡的运行状况,因为闪存卡非常笨拙(wrt SSD或HDD),它们不具有您可以查询的属性。正如ams在他的编辑中建议的那样,执行fsck并在syslog中监视来自VFS / block层的日志消息是发现问题的最佳方法。
惠更斯

0

我在这里回答了有关超级用户的类似问题。

简而言之:我个人使用了不知名的软件F3

还请注意*并非所有USB SD卡读取器都可以正确读取“大” SD卡:

  • SDHC:2Go-32Go
  • SDXC:32Go-2To

如果您尝试在只能读取SDHC卡的读卡器上读取SDXC卡,则将无法正确读取所有卡数据,并且看起来像是数据损坏。

来源: - 维基百科 - SanDisk公司


SDXC卡在功能上与SDHC完全相同,只是它们使用exFAT进行了格式化。
Paul M

除了关于SDXC / SDHC的错误信息外,此答案似乎未添加任何内容?
David Ljung麦迪逊·斯特拉

@DavidLjungMadison我很困惑,但是您在哪里看到关于SDXC / SDHC的错误信息?
brunetton

@PaulM请在发表评论之前验证信息。如维基百科所述The Secure Digital eXtended Capacity (SDXC) format, [...] supports cards up to 2 TiB (2199023255552 bytes), compared to a limit of 32 GiB for SDHC cards in the SD 2.0 specification"我想您错过了SDHC和SDSC卡。在同一Wikipedia页面中:SDHC cards are physically and electrically identical to standard-capacity SD cards (SDSC)
brunetton

足够公平-关于这是OP问题的答案,我仍然感到困惑。这似乎更像是一条评论……
David Ljung Madison Stellar,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.