修复闪存上有缺陷块的 Ubuntu 安装

修复闪存上有缺陷块的 Ubuntu 安装

我最近购买了一台带有 ARM SOC 和 8GB 内置闪存的廉价迷你 PC。

我已经在内部 NAND 上刷新了 Ubuntu Trusty 映像,但过了一段时间我开始注意到随机文件损坏,所以我怀疑内存有一些有缺陷的块。

所以现在我想:

  1. 对 NAND 上的坏块进行全面扫描并标记它们,这样它们就不会再被使用(文件系统是 ext4)
  2. 获取当前存储在有缺陷的块中的文件列表,以便我可以重新安装受影响的 deb 软件包

扫描可以离线执行,因为我可以从 SD 启动另一个 Linux 实例,但它必须是非破坏性的(它将在测试后恢复块内容,因此我不必再次重新安装整个内容)

答案1

fsck -f -c -c /dev/nandX是测试后恢复块内容的正确命令。

对于我发现的第二个问题这个答案,但最终没有必要,因为扫描过程中没有发现坏块。

我还使用以下命令在用户空间中运行了 RAM 内存测试内存测试仪程序。它无法测试所有内存,顺便说一句也没有发现错误。

最后,我猜/希望我发现的损坏文件只是由于过热而导致的随机写入错误。或者可能是内核中的 ext4 错误(uname报告为 v3.4.90)?

您认为改用ext2ext3预防这些错误会更安全吗?

相关内容