主题:[求助] 关于TF卡文件系统的问题

  共有35509人关注过本帖    
帅哥哟,离线,有人找我吗?
barrypp
1楼 信息 | 搜索 | 邮箱


加好友 发短信
[求助] 关于TF卡文件系统的问题  发帖心情 Post By:2017-8-16 16:05:00   [只看该作者]

遇见一个问题,tf卡的文件系统容易损坏。因此我想寻求一下建议。


比如,tf卡用什么样的文件系统合适,fat32、ext2 ? 当其文件系统损坏时运行什么样的命令可以自动修复?


我试过mkfs.vfat和mkdosfs,均无法格式化现在用的tf卡,提示:lseek:value too large....


mkfs.ext2可以格式化tf卡,但文件系统损坏后没有e2fsck指令来检测与修复。



  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
lgz
2楼 信息 | 搜索 | 邮箱


加好友 发短信 员工
  发帖心情 Post By:2017-8-16 17:48:00   [只看该作者]

你好,我们板子上文件系统比较精简没有修复的程序所以不能进行修复,只能在电脑上修复,建议使用ext2的格式,如果要在windows上读取tf卡的内容,只能做成fat32的格式。文件系统容易损坏大多是因为使用不当造成的,比如读写tf卡时突然掉电,这些情况造成的损坏这些文件系统都是不能避免的,使用中最好是进行umount之后再取出tf卡


  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
barrypp
3楼 信息 | 搜索 | 邮箱


加好友 发短信
  发帖心情 Post By:2017-8-17 10:29:00   [只看该作者]

这个嵌入式平台有软关机的方法么?


  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
lgz
4楼 信息 | 搜索 | 邮箱


加好友 发短信 员工
  发帖心情 Post By:2017-8-17 16:11:00   [只看该作者]

你好,用halt命令就是关机了,不过关机之后只能按复位键或者断电重启才能开机


  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
barrypp
5楼 信息 | 搜索 | 邮箱


加好友 发短信
  发帖心情 Post By:2017-8-29 13:00:00   [只看该作者]

你们的系统支持NTFS格式么?


或者能不能增加fsck.vfat或fsck.ext2


或者上哪个网站找fsck.vfat或fsck.ext2的源码?


  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
barrypp
6楼 信息 | 搜索 | 邮箱


加好友 发短信
  发帖心情 Post By:2017-8-29 14:38:00   [只看该作者]

如果用halt进行软关机的话,硬件层面上有没有什么标识来表明“关机完毕” ?


  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
lgz
7楼 信息 | 搜索 | 邮箱


加好友 发短信 员工
  发帖心情 Post By:2017-8-29 17:27:00   [只看该作者]

支持NTFS,可以挂载

fsck在util-linux里面有 https://en.wikipedia.org/wiki/Util-linux

https://github.com/karelzak/util-linux


软关机之后系统的时钟电源都还在工作,硬件上不太好检测,你为什么要软关机呢,对我们这个平台没什么意义


  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
barrypp
8楼 信息 | 搜索 | 邮箱


加好友 发短信
  发帖心情 Post By:2017-8-30 9:10:00   [只看该作者]

呃......   因为每次直接断电后,tf卡的文件系统都会处于没有正确umount的状态(dmesg里写的),多次直接断电后,tf卡的文件系统必然损坏(e2fsck显示进行了修复),更多的直接断电后,(假设没有进行修复),tf文件系统有一定几率出现严重损坏(导致写入的数据丢失等)


  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
barrypp
9楼 信息 | 搜索 | 邮箱


加好友 发短信
  发帖心情 Post By:2017-8-30 9:17:00   [只看该作者]

当然,我现在移植了一个e2fsck进去,(没找到dosfsck的源码)。缺点是每次启动都会有30~60秒的e2fsck运行时间....



不知道有没有更好的解决方案 ?


  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
lgz
10楼 信息 | 搜索 | 邮箱


加好友 发短信 员工
  发帖心情 Post By:2017-8-30 10:05:00   [只看该作者]

你好,如果调用软关机的话是应该可以避免文件系统损坏的,软关机之前系统会写入所有cache的内容,然后umount文件系统,你也可以在调用halt之前先调用sync以及umount文件系统。


为了减小文件系统损坏的概率,可以使用ext4的文件系统,mount的时候跟参数-o sync, 在应用程序中有规律的调用fsync,ext4文件系统是日志文件系统,即使出错修复也更快,你可以测试一下ext4的文件系统


你那边是程序在写数据的时候直接断电的吧?


  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
barrypp
11楼 信息 | 搜索 | 邮箱


加好友 发短信
  发帖心情 Post By:2017-8-30 15:39:00   [只看该作者]

是的,你们可以直接提供mkfs.ext4,fsck.ext4  么?

[此贴子已经被作者于2017-8-30 15:40:47编辑过]

  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
lgz
12楼 信息 | 搜索 | 邮箱


加好友 发短信 员工
  发帖心情 Post By:2017-8-30 16:52:00   [只看该作者]

你好,你在电脑上做ext4的文件系统吧,ext4文件系统挂载时会先检测修复一次,你先测试一下,另外mount时请跟参数-o sync, 这个对减小文件系统损坏有效


http://blog.csdn.net/wang_shuai_ww/article/details/20724069交叉编译fsck和mkfs工具的介绍

[此贴子已经被作者于2017-8-30 17:02:04编辑过]

  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
barrypp
13楼 信息 | 搜索 | 邮箱


加好友 发短信
  发帖心情 Post By:2017-8-31 11:33:00   [只看该作者]

非常感谢你们的建议,用了ext4后,确实启动快多了。一般就算直接断电,e2fsck也只需极少的时间(一般不到1s)就完成检测与恢复了。


只是还不清楚ext4格式对sd卡来说,相比于ext2,会增加多少损耗?


  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
lgz
14楼 信息 | 搜索 | 邮箱


加好友 发短信 员工
  发帖心情 Post By:2017-8-31 13:00:00   [只看该作者]

你好,ext4是日志文件系统,会预留一个专门的区域来记录文件的更改,默认情况下只会记录文件的metadata,平常使用应该是不会占用太多空间的,更多详细的知识你可能需要自己去查阅相关资料了,最简单的就是做好文件系统之后看剩余可用空间


  单帖管理 | 引用 | 回复 回到顶部

返回首页

[求助] 关于TF卡文件系统的问题

用户名:
            验证码: 验证码,看不清楚?请点击刷新验证码
内容: