Windows 95/98 和 Windows NT/2000 将长文件名存储在 FAT 文件系统的特殊目录项中,这些目录项设置了 ReadOnly、Hidden、System 和 Volume 属性。因此,如果您从 DOS 访问 FAT 卷,您不会看到这些“文件”。这些特殊条目具有这种奇怪的结构
byte sequence number for slot string(10) first 5 characters in name byte attribute byte byte always 0 byte checksum for 8.3 alias string(12) 6 more characters in name word starting cluster number, 0 in long slots string(4) last 2 characters in name
当您从不支持 VFAT 的系统删除或修改具有长文件名的文件时,会出现问题,因为只会删除或修改 DOS 8+3 条目。Windows 95/98 的 Scandisk 可以修复此问题。
Linux 有自己的 FAT 扩展,它在 FAT 分区上为您提供长文件名、权限和所有者、链接和特殊设备,称为 UMSDOS。每个目录都包含名为 "--linux-.---" 的文件。长名称和其他必要字段存储在那里。有关更多信息,请参阅文件 /usr/src/linux/Documentation/filesystems/umsdos.txt。Linux umsdos 驱动程序的作者是 Jacques Gelinas < jacques@solucorp.qc.ca>,目前由 Matija Nalis < mnalis@jagor.srce.hr> 维护。
OS/2 Warp 版本 3、4 和 5 将长文件名和扩展属性存储在 FAT 卷上的文件 "\ea data. sf" 和 "\wp root. sf" 中(这两个文件都在文件系统的根目录中)。据我所知,没有任何其他操作系统实现了 OS/2 EA。如果您可以提供有关 EA 结构的任何信息,请随时邮寄给我。
Star LFN 是一个模拟器,它允许在 DOS 4.0 或更高版本下运行的程序使用 Windows 95 DOS 框中存在的长文件名功能。目前,它只能从系统+隐藏文件中读取和写入长文件名,这意味着您既不能读取也不能写入真正的 Windows 95 长文件名。有关更多信息,请参阅 http://sta.c64.org/starlfn.html。
有人说微软发布了一个名为 LFNDOS 的驱动程序,它在 DOS 下提供了 Microsoft 长文件名 API。如果您知道在哪里可以下载此驱动程序,请给我发送电子邮件。
在 Windows 95 下,DOS 程序可以通过调用 Windows 提供的一组中断函数来使用长文件名。例如,COMMAND.COM 在从 Windows 作为 DOS 提示符运行时将允许长文件名,但如果您在 MS-DOS 模式下重新启动则不允许。诸如 EDIT.COM 和所有 DJGPP 程序等其他程序在可用时使用长文件名。
作者可能不会发布更多版本的 fsresize,因为他正在开发 parted - Partition Magic 的克隆。它将能够调整大小、复制、创建和检查文件系统/分区。