【0】README


【1】我们看到 temp.txt 所在 根目录区条目的初始簇号为 0003h=3;



我们转向 第3个 FAT项去看看 》》

【2】从下图 ,我们看到如下:

0000200: f0 ff ff 00 40 00 05 f0 ff 00 00 00 00 00 00 00
也即是是 0-ff0 1-fff 2-000 3-004 4-005 5-fff

所以我们可以看到,fff表结束了,temp.txt 占用的扇区号为 3, 4, 5(相对于数据区而言),共计3个簇(扇区)

(Alert): 簇==1个还是多个扇区,这个是在 FAT12 引导扇区内定义好了的,要记死这些东西;

我们转向数据区看看 》》

【3】数据区部分截图:



【4】这里,我们不得不算一下 FAT12文件系统的各个结构的起始扇区了;

4. 每FAT扇区数==BPB_FATSz16=0009=offset(22) + length(2)

(纠错1) 非常抱歉,上图3.BPB_RootEntCnt=00e0=14 而不是15;

而 FAT12的结构图有:引导扇区、FAT1、FAT2、根目录区、数据区:



而由引导扇区内容,我们知道:

  • 引导扇区的扇区范围 = 0~0;
  • FAT1 的扇区范围 = 1~9;
  • FAT2 的扇区范围 = 10~18;
  • 根目录区的扇区范围 = 19~32;
  • 数据区的扇区范围 = 33~ending;
  • 又每个扇区=512B,所以数据区的偏移量为 (32+1)* 512 = 16896B,16896/16=1056行,所以数据区的开始字节数为:16896B 。
  • 出现的问题:而模块3中 文件存储的起始行为 1088 行,为什么?[ 1056行和1088行相差一个扇区而已 (1088-1056) * 16 = 512 ]
  • 具体原因:参见 { http://blog.csdn.net/pacosonswjtu/article/details/48403031 的“4.2.a.3)算数据区开始扇区号:”}

【5】验证的时刻到了



参见模块3中的 文件内容起始行1089 和 结束行1167;所以总大小为 (1167-1089 + 1) * 16 = 1264,

Bingo了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

最新文章

  1. 按钮button的css样式(扁平化底色)
  2. curl发送get和post请求
  3. java的五种数据类型解析
  4. 禁止Android 横屏竖屏切换
  5. 解决EasyUI-Datagrid和LinqToEntity结合应用时排序问题
  6. POI按照源单元格设置目标单元格格式
  7. [转]VGA、QVGA、CIF、QCIF 。。。的含义
  8. 如何使用10个小时搭建出个人域名而又Geek的独立博客?
  9. 关于AS3的垃圾回收
  10. (poj)3268 Silver Cow Party 最短路
  11. 11.编写一个Java程序,计算半径为3.0的圆周长和面积并输出结果。把圆周率π定义为常量,半径定义为变量,然后进行计算并输出结果。
  12. nutch 异常集锦
  13. 郝斌老师C语言学习笔记(一)
  14. LeetCode::Remove Duplicates from Sorted List II [具体分析]
  15. C#在使用串口读一长段数据时,前面加延时,等串口缓冲全部收到再去读
  16. Swift - 访问通讯录联系人(使用纯代码实现)
  17. AJAX 向后台发送带 List 集合的对象
  18. Docker: Failed to get D-Bus connection: No connection to service
  19. clickhouse修改时区
  20. 2018-2019-2 网络对抗技术 20165325 Exp1 PC平台逆向破解

热门文章

  1. poj 2796 Feel Good dp || 单调栈
  2. linux库文件的制作
  3. linux下编译安装gcc5.1
  4. [SaltStack] Multi-Master配置
  5. C#图解教程学习笔记——方法
  6. LeetCode OJ--Palindrome Number
  7. AC日记——营业额统计 codevs 1296 (splay版)
  8. C++ primer分章节快速回顾
  9. angular6安装
  10. (11)centos之vim使用