一鼓作气,今儿忙里抽个闲,既然前篇”原创猛料“开了个好头,今晚就继续敲一篇补补更,呵呵~

前段时间自己曾经写了一篇关于sd卡和Fat文件系统的自学笔记(http://blog.chinaaet.com/detail/29284.html),分享了一些当年自己写SD卡驱动和FAT文件系统的心得。其中大多数内容都是基础的,而且后来看看颇有些”授之以鱼“的嫌疑,与俺一直以来”授之以渔“的宗旨颇有些不符,以致于前段时间还有博友网上问我关于怎么使用WinHex软件的问题。之后仔细想来还是觉着再细说一下”渔“的问题为妥,下面我就先浅谈一下最简单的WinHex软件的使用方法,之后再介绍通过它如何分析FAT文件系统结构:

一、如何使用WinHex软件打开SD卡等相关存储设备:

从网上下载免费的WinHex软件(放心,是真免费的,不用破解,呵呵),一路默认,安装完之后,双击打开WinHex软件(事先插好U盘或者SD卡(本篇以SD卡为例)),选择”工具->打开磁盘“,选择插好的SD卡磁盘驱动器,确定之后即可打开该SD卡,效果如下图所示(我事先已经格式化好了,所以里面数据为空):

二、分析FAT32文件系统(我把SD卡格式化成FAT32格式)结构:

对SD卡来说,相当于单个分区,所以比较简单。我们来分析一下它的组成(按照所占地址空间从低到高排列):启动扇区(从第0扇区开始,包括保留扇区,包含一定数量的扇区数)、文件分配表FAT1、FAT2(完全是FAT1的备份)、根目录FDT、数据区(其实FDT算是数据区的一部分)。其中启动扇区中的第0个扇区是重中之重,里面的参数包含了该SD卡的全部基本信息(想详细了解可以查询相关资料),包括保留扇区的数目、FAT表的大小及根目录所在的位置等等(所以如果自己用MCU读写SD卡的话,第0个扇区是必定要查询的,当然如果你固定使用某个SD卡则可以直接用winhex在PC机上查出来,然后事先存到程序里的参数数组里,嘿嘿,我当年最开始做SD卡开发的时候就是这样的,虽然是笨法子却省了不少事)。

具体详细的分析方法,我在博客下面分享了一篇期刊论文,里面就是介绍WinHex分析FAT文件系统存储结构的,可以仔细研究一番。在本篇里,主要以实际为主,下面以我在SD卡根目录下新建一个001.txt文件为例剖析一下其在里面的存储结构(另外需要注意的是Winhex查看是以快照的方式,所以如果你对SD卡里面的内容有所更改需要再次获取新快照,方法为“专业工具->获取卷快照->选中获取新快照”):

1.选中001.txt文件,查看文件存储结构:

2.选中根目录,查看根目录内容:

3.选中FAT1(FAT2与FAT1一样),查看FAT表存储结构:

4.跳转到相应地址或者扇区:

本篇写到这里就不多说了,详细的见附件文档,里面说的比较明白。还有我想说的是WinHex的功能远远不止我上面提到的这几点功能,它真的灰常强大,希望大家能多动手实践来挖掘它更丰富的功能,也欢迎在博客里留言分享使用经验,未完待续~

附件为用WinHex分析FAT文件系统比较详细的一个期刊文档,强烈建议看看~

13456491332247.pdf

用WinHex查看SD卡FAT32文件系统结构相关推荐

  1. SD卡FAT32文件系统格式

    一.声明 1.本文来源和主旨 2.本文测试环境 二.SD卡FAT文件系统 1.SD卡FAT32文件系统的整体布局 2.FAT文件系统简介 ① 文件分配表 ② 目录项 三.DBR(DOS BOOT RE ...

  2. 配置SD卡ext文件系统启动

    配置SD卡ext文件系统启动 参考ug1144 的ch6 的最后一节Configuring SD card ext filesystem Boot 1 制作SD启动卡(含FAT32和EXT4两个分区) ...

  3. Ubuntu18.04烧录U-Boot时格式化SD卡的文件类型(RAW 格式)

    Ubuntu18.04烧录U-Boot时格式化SD卡的文件类型 前言 1.问题的提出 2.分析问题 3.用dd命令格式化SD卡 dd命令: 参数: 4.SD卡的烧录 5.再谈SD卡的分区 前言 本文只 ...

  4. /mnt/sdcard或者/sdcard这是Android手机中SD卡的文件夹路径

    Android系统的开放,使其用户可以自己查看系统和SD卡中的文件夹.就系统和SD卡中常见的目录代表什么意思,下面是一个较实用的总结: 一.SD卡中 1. /mnt/sdcard或者/sdcard这是 ...

  5. linux读取树莓派SD卡,如何修复及查看SD卡上树莓派系统(转)

    如何查看SD卡的分区,使用这个命令即可: sudo fdisk -l Device         Boot Start      End  Sectors  Size Id Type /dev/mm ...

  6. android 自动下一首,Android播播放完SD卡指定文件夹音乐之后,自动播放下一首

    最近做一个项目,需要连续播放音乐,播放完一首歌之后,自动播放完下一首歌.不要重复播放. 代码如下: package com.example.asyncplayer_ex; import java.io ...

  7. linux sd卡中文件多时读写,数据存储与访问之——文件存储读写

    1.Android文件的操作模式 在java中要想对文件做读写操作,只需创建 文件,读写数据即可,Android却是不同,android基于Linux,在读写文件的时候,还需要加上文件的操作模式. 文 ...

  8. 使用winhex查看SD卡文件的物理扇区地址

    一.前言 最近在一个工程中需要读取存放在SD卡中的图片数据,在格式化了SD卡之后,我把.bin格式的图片数据使用读卡器移动到了SD卡中.然后将读取SD卡的程序的bit流下载进了FPGA中,之前是可以正 ...

  9. Android系统SD卡各类文件夹名称

    1..android_secure:官方app2sd的产物,存储了相关的软件使用认证验证,删除之后SD卡中的软件将无法使用. 2.Android:存放重要的程序数据,比如google:map的地图缓存 ...

最新文章

  1. mysql 创建库 5.7_MySQL数据库之MySQL5.7创建用户时报错
  2. Science:又一明星菌群可以调控肠道免疫?
  3. 东方数智发布新品AIDOL™,打造人工智能偶像全息平台
  4. Android -- 消息处理机制源码分析(Looper,Handler,Message)
  5. eeglab中文教程系列(4)-预处理工具
  6. 自己写的thinkphp自动生成类
  7. linux查看告警日志,shell脚本,用于监视Linux中的消息日志(警告,错误和严重)...
  8. 双向链表简单实现及图示
  9. 通过扩展方法,将C#的DateTime(日期)转换成人性化的显示
  10. leetcode 90. 子集 II(回溯算法)
  11. 并发执行变成串行_大神浅谈数据库并发控制 锁和 MVCC
  12. 大麦云原生边缘计算探索,让观众剧院看戏也能实现个性化
  13. nginx documentation | Development guide
  14. ad怎么修改栅格_江苏宋女士回农村100万盖洋房,6个闺蜜结伴养老,你怎么看?...
  15. python中定义的类的方法调用老出现missing 1 postional argument 或者self的解决办法
  16. 浏览器密码查看工具-WebBrowserPassView使用实验 ——合天网安实验室学习笔记
  17. excel熵值法计算权重_SPSSAU一众新功能上线:高级公式、综合得分一键计算!
  18. 【HTML + CSS】模仿腾讯云页面——初步实现
  19. 应聘必看——75道逻辑题答案
  20. mysql 小于号转义_mybatis ![CDATA[ ]] 使用,小于大于号转义 和小于号大于号使用

热门文章

  1. 四轴六轴机械臂基础运动仿真实验(Matlab)
  2. 详解AUTOSAR:AUTOSRA软件架构(理论篇—2)
  3. HCNP-RS 笔试结果
  4. 信息系统项目管理师Part16-物联网
  5. JS逆向:维普期刊rs5(非正面对抗)
  6. 自制小爱音箱控制氛围灯(小爱音箱+Arduino+RGB灯条+点灯科技)
  7. 判断某个月的每一天是否为工作日
  8. linux下virtualbox使用
  9. 大文件传输(gofastdfs)
  10. revit插件:必易bim(快速建模软件)