问题标签 [fat16]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
74 浏览

fat16 - FAT16 的 FAT 区域从哪里开始?

我正在编写一个读取 FAT16 文件图像的 C 程序。我有一个存储 FAT 开头位置的变量。我应该把什么价值放在那里?

我能够找到保留区域的开头,并确定:
- BytesPerSec = read( image, 11, 2 )
- SectorCount16 = read( image, 19, 2 )
- 等等

有什么方法可以确定 FAT 从引导分区块或引导扇区的偏移量?

它是否在引导扇区之后立即开始?
这是否意味着 LAST_BYTE( boot_sector ) +1 是 FAT 的第一个字节?

0 投票
1 回答
763 浏览

c - 计算 FAT16 文件的字节偏移量需要什么?

我有一个程序和一个 FAT16 映像。方便的是,映像从引导扇区开始。从那里我提取了根目录、每个扇区的字节数和每个簇的字节数。

从根目录获取子目录的字节偏移量的算法,设置为给定名为 的子文件夹的子目录条目r的字节偏移量,是: image[ 0 ]path

我已经运行了这个程序并验证了
- sectors_per_cluster( == 4 ) 和
- bytes_per_sector( == 512 )
与图像中的值匹配(通过 hex_editor )。我还验证了它cluster_idx与图像中的内容相匹配(通过 hex_editor + FAT16 浏览器)。

该值r = cluster_idx * sectors_per_cluster * bytes_per_sector = 960 * 4 * 512设置为:0x1E0000。使用 FAT16 浏览器,我能够在我提供的子目录参数中找到文件。现在获得了其中一个文件名,我使用 hex_editor 在图像中查找它。子目录列表的位置是:0x1ED200。

我很确定我已经正确获得了所有值,除了r. 我不确定要采用哪些值来获取丢失的 53760 字节r。设置方式有什么遗漏r吗?

0 投票
2 回答
1042 浏览

c - 如何从引导扇区识别 FAT16 或 FAT32

有没有办法仅通过读取其引导扇区来识别 FAT 分区的类型(如果它是 16 或 32)?

谢谢。

0 投票
0 回答
27 浏览

windows - 创建任意大小的虚拟磁盘

我想做一些“实验”来了解从 FAT16 开始的文件系统。

这个想法是使用 C++ 程序在字节级别操作磁盘,然后查看它是如何被 Windows 读取的。简而言之,将磁盘格式化为FAT16,创建文件,创建目录,重命名文件,删除文件,删除目录,更改文件属性,看看如果我篡改文件的扇区号会发生什么等它将全部使用C++ readfile和writefile功能。

拥有“虚拟磁盘”将使事情变得相当容易,因为不会损坏硬件并且可以轻松“重置”磁盘。

是的,我是一名电子工程师,所以必须在低水平的硬件上工作。

0 投票
1 回答
1238 浏览

filesystems - 确定 FAT16 驱动器中根目录的起始扇区

我想将一些非常大的程序变量从内存中卸载到磁盘文件中。

我已经阅读了数十页关于 INT 13H、CHS、MBR 和文件分配表的内容,并且我几乎了解了我需要知道的所有内容,除了我似乎找不到计算起始扇区的有效方法的根目录。

根据这个页面http://nerdclub-uk.blogspot.co.uk/2012/11/understanding-fat-tables.html,确定它就像将包含引导记录的扇区偏移量加在一起一样简单,数字保留扇区的数量,以及每个 FAT 副本中的扇区数量。

在检查了我的引导扇区后,我插入了所有这些值,这就是我最终得到的。

1+1+(2*256),等于 514。

所以,我的根目录应该从扇区偏移量 514 开始。每个柱面的最高扇区数是 63。

514 / 63 = 8r10

所以,我的根目录应该在第 8 柱面,第 10 扇区。

但是,该扇区及其周围的所有扇区都只有零。

显然我做错了什么,但经过一天的谷歌搜索后,我准备放弃了。

0 投票
2 回答
896 浏览

python - 如何在 Python 中从 FAT16 文件系统映像中提取

我有一个 FAT(16 位)的图像,我想将图像解析为文件,以便我可以获取图像中的文件。

0 投票
1 回答
966 浏览

assembly - 如何在实模式下增加 64 位内存有效地址

我正在使用0x13具有扩展驱动器功能的中断在实模式下从扩展驱动器中读取扇区0x42

我在以下结构中将 DAP 定义为 16 个字节:

如您所见,DAP 段的长度为 8 字节。在寻找我的扇区(循环扇区)期间,我增加了该段并将其与我的驱动器的实际大小进行比较。我用来递增的错误代码仅限于 16 位模式:

我不想在复杂的寻址模式下使用几个通用寄存器来达到我的目的,我想你有一些简单有效的方法。

0 投票
0 回答
435 浏览

python - 我正在尝试从使用 FAT16 文件系统分区的磁盘映像的引导扇区读取条目

我试图从提供的磁盘映像中找出引导块占用多少字节,每个扇区中有多少字节,每个簇(每个分配单元)中有多少扇区?

我需要用python编写代码来告诉我这些事情,我一直在寻找一个可能对我有帮助的python命令库,即一个是

如果有人对其他图书馆有任何建议,我将不胜感激或有任何开始的提示,我完全迷失了。

0 投票
0 回答
64 浏览

fat16 - FAT16 - 上次修改整个 FAT 表的时间戳,或者确定簇链是否更改小于 O(n) 的方法?

最后一次更改 FAT 表时是否有时间戳?我需要一种扁平化集群链的方法(用于构建 NewtonOS VBO,它使用单个对象,然后具有指向其他对象/扇区的指针)。还是一个特定的集群链,而不是在 O(N) 中遍历整个事物?

0 投票
1 回答
152 浏览

c - C程序从Fat MBR读取十六进制值

我是 C 语言的新手,正在尝试创建一个取证工具。到目前为止,我有这个。它读取一个 dd 文件,该文件是 fat16 MBR 的转储。我能够正确读取某些字节,但不能正确读取某些字节。

我需要帮助的是 SizeOfFat 变量需要以小端方式读取字节 0x16 和 0x17 的值。我如何让它读取 FB00 然后将其转换为 00FB 然后打印值?

我在这里使用的十六进制值是 -