首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检查ubifs文件系统?

如何检查ubifs文件系统?
EN

Stack Overflow用户
提问于 2015-10-06 08:46:30
回答 2查看 9K关注 0票数 4

ubifs没有fsck程序,那么如何在使用ubifs时检查文件系统的完整性呢?

我的目标系统是ARM,Linux 3.2.58。

EN

回答 2

Stack Overflow用户

发布于 2017-09-05 08:42:04

从我到目前为止在UBIFS' web page上找到的东西

完整性校验- UBIFS (以及UBI)校验它写入闪存介质的所有内容以保证数据完整性,UBIFS不会忽略数据或元数据损坏(JFFS2也是这样做的);默认情况下,从介质读取数据时,UBIFS只检查元数据CRC,而不检查数据CRC;但是,您可以使用UBIFS挂载选项之一强制对数据进行CRC检查-请参阅here

如果需要检查文件系统是否损坏

如果您的UBIFS文件系统是使用chk_data_crc选项挂载的,那么简单的cat $FILES > /dev/null就足够了。否则,您只能检测和恢复元数据损坏。文件体的损坏将不会被注意到。

我用了像find / -type f -print -exec cat {} + > /dev/null这样的东西

如果您需要恢复损坏的文件

同样来自overview部分:

更清楚地说,假设您已经清除了FAT文件系统上的FAT表;对于FAT FS,这将是致命的;但是如果您以类似的方式清除

索引,您仍然可以重新构建它,尽管需要一个特殊的用户空间工具来执行此操作(尽管该实用程序目前尚未实现)

虽然理论上是可能的,但你要靠自己。

备份flash内容,用UBIFS数据结构(可能是源)和十六进制编辑器武装自己,祝你好运。

Linux编辑:据我所知,Linux驱动程序已经对设备应用了纠错码。

我相信,如果每个/sys/class/mtd/mtd*/ecc_step_size闪存块有超过/sys/class/mtd/mtd*/ecc_strength错误,则数据丢失的标准。mtd_read() (它是比UBIFS低一级的MTD )在本例中是will return EUCLEAN。不知道是否存在使用它来检查错误的工具。

The "bit flipped" warnings we get do not mean that there was a data loss yet。您可以通过写入/sys/class/mtd/mtd*/bitflip_threshold来控制收到的警告数量。

票数 2
EN

Stack Overflow用户

发布于 2016-07-06 00:45:53

您可以只读取所有文件,这实质上会导致ubifs检查它们。Cfr。the advise given on the mailing list。如果可能的话,ubifs实现将会恢复。然而,不能保证这将捕获所有的损坏。

从理论上讲,ubifs永远不应该被损坏,但在实践中,ubifs或NAND驱动程序中的bug仍然可能导致损坏。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32960034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档