如何可以打开ubifs镜像文件内的内容
现在手上有一个ubifs文件系统的镜像,我希望取出里面的文件,但遇到了非常多的问题。。。
因为我实在找不到有工具可以直接打开ubifs的镜像,所以我只能用最传统的办法,装ubifs的文件驱动并用mount挂载。
ubifs需要系统安装mtd驱动,由于我的电脑里没安装nand内存,所以使用nandsim来模拟,并且用flash_eraseall,ubiformat来清空并格式化虚拟的nand flash,用mtdinfo可以得到这样的信息:
mtd0
Name: NAND simulator partition 0
Type: nand
Eraseblock size: 131072 bytes, 128.0 KiB
Amount of eraseblocks: 1024 (134217728 bytes, 128.0 MiB)
Minimum input/output unit size: 2048 bytes
Sub-page size: 512 bytes
OOB size: 64 bytes
Character device major/minor: 90:0
Bad blocks are allowed: true
Device is writable: true
接着我用ubiattach来挂载ubi上去,然后ubiupdatevol将镜像写上去,但最后的mount失败了,查看dmesg发现
[49907.123848] UBIFS error (pid 2789): validate_sb: LEB size mismatch: 126976 in superblock, 129024 real
[49907.123859] UBIFS error (pid 2789): validate_sb: bad superblock, error 1
查了很多资料,最后发现是nandsim模拟的flash的LEB块大小是129024,而我要挂载的镜像的LEB块大小是126976,镜像与物理参数不同,所以无法挂载
但现在我希望的是想取得镜像文件里的内容,我也没有这样物理参数的nand,所以我想nandsim在模拟时能改动物理的LEB参数,该怎样改变呢,谢谢了!
[解决办法]
甚麼是ubifs?