问题标签 [fat]

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 投票
2 回答
215936 浏览

filesystems - VFAT 和 FAT32 文件系统有什么区别?

我搜索了互联网,但找不到任何令人信服的答案;

文件系统 VFAT 和 FAT32 是否相同,或者它们之间有什么区别?

0 投票
3 回答
9215 浏览

vb6 - 如何使用 VB 6 读取硬盘卷序列号?

如何在不使用任何 ActiveX 控件或第三方插件的情况下使用 VB 6 读取 HDD 卷序列号?

0 投票
2 回答
1714 浏览

fat32 - FAT32 保留扇区有什么用?

我知道扇区 0 主要用于加载操作系统。某些 Windows 版本的 bootloadres 大于 1 个扇区,并且也使用扇区 1 和 2。在扇区 6 到 8 通常是扇区 0-2 的备份。但剩下的又是为了什么?为什么很多格式化工具默认32个保留扇区?

0 投票
3 回答
42 浏览

graph - FAT 是否不允许无向循环?

出于教育目的,我正在滚动我自己的 FAT 阅读器(允许您浏览驱动器等)。我当前的问题是确定当前的工作目录(例如典型命令提示符中的提示符)。据我所知,目录表没有提供有关您到达那里的路径的信息。(我一直在按照我在这里找到的标准工作)因此,我目前的方法只是跟踪您通过的每个目录(即基本上每次cd <dir>使用,将该值放入列表中,并在cd ..是时删除最后一个用过的)

这就是问题所在。假设两条不同的路径将您带到同一个目录。如果您随后..向上跟踪目录,则问题变得比仅从列表中删除最后一个目录名称更复杂。如果..带你走你没有下来的路径,你实际上必须确定一个全新的工作目录。

如果 FAT 不允许无向循环,则此问题变得无关紧要。(我相信我读到某些文件系统不允许这种复杂性正是出于简化遍历的原因,但我找不到 FAT 的具体信息)我需要担心这个吗?换句话说,FAT 是用树还是一般图来描述的?

作为参考,我正在处理 FAT16 和 FAT32(顺便说一下在 Linux 上的 C 语言中,但我认为这无关紧要)

0 投票
2 回答
2818 浏览

filesystems - 如何遍历FAT目录,文件

我试图了解 FAT 文件系统是如何工作的。从附加的 FAT 16 分区的第一个扇区我可以理解,

  1. 每个扇区的字节数 = 512。
  2. 每个集群的扇区 = 4。
  3. FAT 16 文件系统。
  4. 保留扇区 = 4。
  5. FAT 表计数 = 2。
  6. 根目录中的条目数 = 512。
  7. 总扇区 = 204800。
  8. 根目录扇区 = 32。
  9. FAT 表的大小 = 200。
  10. 第一个数据扇区 = 436 (4 + 2 * 200 + 32)。
  11. 集群计数 = 51091。

FAT分区的第一个扇区

根目录位于第 404 个扇区(第 0x32800 个字节)

根目录

附加地址 0x32800 的根目录。根目录有两个文件夹a、b 和一个文件file.txt。在上面的给定图像中,如何区分文件和文件夹。

下面列出的疑问: 1. 文件夹条目应该以 0x2E 开头,但没有这样的值。那么如何判断给定条目是文件还是文件夹呢?2. 如您所见,根目录中的每个条目占用 64 个字节(而不是 32 个字节)。每个文件和文件夹似乎有 2 个 32 字节的条目。例如,文件夹“a”的条目位于 0x32800 和 0x32820(共 64 字节)。3. 在这种情况下,值 0x41 表示什么?值 0x41 出现在 0x32800、0x32820、0x32840、0x32880。0x32860 和 0x328A0 处的值与 0x41 不同。4. 从地址 0x32800 (0x32800 + 0x1a = 0x3281a) 的偏移量 0x1A 的值为 0,从地址 0x32820 (0x32820 + 0x1a = 0x3283a) 的偏移量 0x1A 的值为 3. 对应于文件夹 'a' 的正确簇号是哪个?

0 投票
1 回答
1076 浏览

filesystems - fat16中如何区分目录和文件入口?

如果在 fat16 系统中,我对区分子目录和文件感到很困惑。子目录和文件结构相似,如何区分目录和文件,如何遍历目录到达文件?

我最初认为所有目录条目都将以“0x2e”作为 fat16 中 8.3 命名约定的第一个字节。但实际上我找不到所有以 0x2e 开头的目录,而是直接找到目录的名称。那么,如何区分 fat16 中的目录和文件呢?

0 投票
1 回答
133 浏览

android - 如何在 FAT 上构建 Android NDK 应用程序

FAT32在 Linux 中使用文件系统(因为我还需要在 Windows 和 OSX 上访问它),但是当我编译时ndk-build出现错误

我收集它正在尝试为新创建的库设置更多限制性权限,但是您无法更改 FAT 分区中文件的权限。

是否有任何解决方法,例如工具链中的标志来阻止它尝试更改文件的权限?或者可能是 Linux 中的某些东西可以伪造成功的权限更改?

0 投票
3 回答
382 浏览

assembly - 计算下一个集群

最近我在BrokenThorn上阅读了一些关于 OS 开发的不错的教程:这是一个不错的 OSDev 系列。

当我想加载我们的引导加载程序的第 2 阶段时,我很难理解“计算下一个集群”的想法。代码是:

为什么我们将当前簇号乘以 3/2 得到下一个簇号?

0 投票
2 回答
846 浏览

file - FAT System Identification of free space and structure of entry files?

Been seaching google for a good explanation for how FAT systems identify free space and the structure of FAT Entry files.

Alot of the explanations ive found are quite hard to follow can anyone help brief sum these up?

i understand that clusters are marked as unused but is this within the root directory or data region? and is the information on clusters status just marked in a table?

I haven't managed to gain any knowledge on the structure of the entry files either, just that they use chains to keep the clusters together

Anyone help?

0 投票
0 回答
402 浏览

python - 用于 Python 的 SDFatLib?

设想:

我有一个 TTL-JPEG 相机、SD 卡座板和一个 Synapse RF 模块可以玩。尝试将这 3 个设备组合起来创建一个可以拍摄视频的无线摄像头,使用 SPI 将它们存储在 SD 卡上,然后根据需要通过与 Windows PC 的无线链接检索它们。我相信我正确连接了所有东西。

问题:

问题出在软件上。Synapse RF 模块使用 SNAPpy,它是 Python 的一个子集。而且我相信 SDFatLib 是用 C/C++ 编写的。所以语言有冲突。这是一个问题,因为 SDFatLib 拥有管理 SD 卡上文件的所有秘密。

问题:

我看到了几种不同的旅行方式。一种是尝试在 Python 中重新创建 SDFatLib;另一个是改变微控制器。第三种选择可能是在 SD 卡上创建我自己的简单文件系统,它只能存储视频(一系列图像)和图片(单个图像),而不是使用 FAT32。如果这些方法都不起作用,有人会建议什么?