FAT32格式存储上的文件系统链接

时间:2010-12-28 11:05:00

标签: filesystems fat32 fat hardlink file-link

我知道FAT32,以及FAT16 / 12既不支持符号链接也不支持硬链接。但是我提出了这个想法:

FAT规范描述了每个文件都与目录条目相关联。根据我的理解,可以说某个目录中的文件条目以某种方式或其他指向到该文件的内容。

那么,如何定义两个指向相同文件内容的目录条目?或者,什么可以阻止我这样做?

使用案例:我的汽车收音机有一个USB大容量存储设备,我想将目录用作播放列表,因为收音机软件不支持播放列表。因此,对我来说,执行此操作时Windows的行为并不重要。

3 个答案:

答案 0 :(得分:5)

这应该适用于简单的问题。即它可以作为黑客/解决方法,我不知道如果重命名/移动/删除文件会发生什么。所以,你不应该在你的主要硬盘上做这个。

我使用十六进制编辑器手动编辑了目录条目。我修改了群集以及文件大小和成功伪造的硬链接。我的汽车收音机,甚至Windows(7,64Bit)都没有播放我原来使用的“硬链接”mp3文件的问题。

当我在十六进制编辑器中再次打开设备时,我的修改都没有被更改回来(请参阅答案#1中的chkdsk问题 - 但据我所知,chkdsk必须手动启动,无论如何。

答案 1 :(得分:4)

您所谈论的内容(“两个指向同一文件内容的目录条目”)是硬链接。 chkdsk会将它们报告为交叉链接并打破它们,“修复”文件(实际上是制作副本)。

答案 2 :(得分:2)

MichaelPh在SuperUser上发布了说明:

https://superuser.com/a/486829/51237

  

可以使用磁盘探测器(仅在XP上,我还没有让它在Win7上编写更改)来修改群集的FAT目录引用。此方法可用于重定向DCIM文件夹(或子文件夹)以指向其他扫描设备使用的文件夹。

     

这是否是一个好主意是另一回事,你自己承担风险。

     
      
  1. 将Eye-Fi卡插入其USB读卡器或直接插入SSD插槽,并记下其安装的驱动器号(为简单起见,假设为F:\)
  2.   
  3. 确保卡和子目录的所有Windows资源管理器窗口都已关闭。
  4.   
  5. 运行磁盘探测器
  6.   
  7. 选择驱动器 - >逻辑卷
  8.   
  9. 在“打开逻辑卷”对话框中,双击“逻辑卷列表”中的F:\
  10.   
  11. 单击Handle F:的Set Active按钮已被选为。您现在可以将句柄保留为只读状态。
  12.   
  13. 选择工具 - >搜索扇区...
  14.   
  15. 检查穷举搜索,在输入字符中输入DCIM以搜索和搜索
  16.   
  17. 你应该找到一个匹配(我的是8192)。在“找到匹配...”对话框中选择“否”以取消其余搜索。
  18.   
  19. 选择Sectors->读取并增加至少两个扇区数,以便包含整个目录表。
  20.   
  21. 在磁盘探测屏幕右侧的ASCII中查找DCIM,这是目录的FAT条目的开始。记下记录的第27个字节的十六进制值(每个条目是32字节),这是目录集群引用。如果需要,此值需要将DCIM目录恢复为正常使用。
  22.   
  23. 找到要将DCIM重定向到的目录的条目,并再次记下记录中的第27个字节。
  24.   
  25. 返回DCIM记录的第27个字节,并将其更改为步骤11中记录的值。
  26.   
  27. 选择Sectors-> Write,然后在Write Sector对话框中单击Write it。如果以只读方式打开扇区,则会出现警告。如果你愿意做出改变,可以覆盖。
  28.         

    在Windows资源管理器中打开DCIM目录现在将显示目标目录的内容。