我知道 FAT32 以及 FAT16/12 既不支持符号链接也不支持硬链接。但是我想出了这个主意:
FAT 规范描述了每个文件都与一个目录条目相关联。据我了解,可以说目录中的文件条目以某种方式或其他方式指向文件的内容。
那么,如何定义两个指向相同文件内容的目录条目?或者,什么可以阻止我这样做?
用例:我的车载收音机有一个 USB 大容量存储设备,我想使用目录作为播放列表,因为收音机软件不支持播放列表。因此,对我而言,Windows 在执行此操作时的行为并不重要。
我知道 FAT32 以及 FAT16/12 既不支持符号链接也不支持硬链接。但是我想出了这个主意:
FAT 规范描述了每个文件都与一个目录条目相关联。据我了解,可以说目录中的文件条目以某种方式或其他方式指向文件的内容。
那么,如何定义两个指向相同文件内容的目录条目?或者,什么可以阻止我这样做?
用例:我的车载收音机有一个 USB 大容量存储设备,我想使用目录作为播放列表,因为收音机软件不支持播放列表。因此,对我而言,Windows 在执行此操作时的行为并不重要。
这应该适用于简单的问题。即它作为一种黑客/解决方法工作,我不知道如果你重命名/移动/删除文件会发生什么。所以,你不应该在你的主硬盘上这样做。
我使用十六进制编辑器手动编辑了目录条目。我修改了集群以及文件大小并成功伪造了硬链接。我的车载收音机甚至 Windows(7、64 位)在播放我使用的原始和“硬链接”mp3 文件时都没有问题。
当我在十六进制编辑器中再次打开设备时,我的任何修改都没有变回(请参阅答案#1中的 chkdsk 问题 - 但据我所知,无论如何 chkdsk 必须手动启动。
您在说什么(“指向相同文件内容的两个目录条目”)是硬链接。chkdsk 会将它们报告为交叉链接并破坏它们,“修复”文件(实际上是制作副本)。
MichaelPh 在 SuperUser 上发布了说明:
https://superuser.com/a/486829/51237
可以使用磁盘探测器(仅在 XP 上,我还没有让它在 Win7 上写入更改)来修改 FAT 目录引用的集群。此方法可用于重定向 DCIM 文件夹(或子文件夹)以指向不同扫描设备使用的文件夹。
这是否是一个好主意是另一回事,您使用它需要您自担风险。
- 将 Eye-Fi 卡插入 USB 读卡器或直接插入 SSD 插槽,并记下其安装的驱动器号(为简单起见,假设为 F:\)
- 确保卡和子目录的所有 Windows 资源管理器窗口都已关闭。
- 运行磁盘探测器
- 选择驱动器->逻辑卷
- 在打开逻辑卷对话框中,双击逻辑卷列表中的 F:\
- 单击已选为句柄 F: 的 Set Active 按钮。您现在可以将句柄保留为只读。
- 选择工具->搜索部门...
- 勾选Exhaustive Search,在Enter characters to search and Search中输入DCIM
- 您应该找到匹配项(我的是 8192)。在“找到匹配项...”对话框中选择否以取消其余的搜索。
- 选择 Sectors->Read 并将 Number of Sectors 增加到至少两个,以便包括整个目录表。
- 在 Disk Probe 屏幕右侧的 ASCII 中找到 DCIM,这是目录 FAT 条目的开始。记下记录第 27 字节的十六进制值(每个条目为 32 字节),这是目录簇引用。如果需要,需要此值才能将 DCIM 目录恢复为正常使用。
- 找到您要将 DCIM 重定向到的目录条目,并再次记下记录中的第 27 个字节。
- 返回到 DCIM 记录的第 27 个字节,并将其更改为步骤 11 中记录的值。
- 选择 Sectors->Write,然后在 Write Sector 对话框中单击 Write it。如果您以只读方式打开扇区,则会出现警告。如果您愿意进行更改,可以覆盖。
在 Windows 资源管理器中打开 DCIM 目录现在将显示目标目录的内容。