Filesystems HOWTO: DOS FAT 12/16/32, VFAT

Next Previous Contents

## 3. DOS FAT 12/16/32, VFAT

## 3.1 VFAT: Long filenames

Windows 95/98 and Windows NT/2000 store long filenames on FAT in special directory entries with set attributes ReadOnly, Hidden, System and Volume, so if you access FAT volume from DOS you don't see these "files". These special entries have this mad structure:

    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

Problem occur when you delete or modify file with long name from system without VFAT support, because only DOS 8+3 entry will be deleted or modified. Scandisk from Windows 95/98 can repair this problem.

## 3.2 UMSDOS: Linux LFN/attributes on FAT filesystem

Linux has it's own FAT extensions which gives you long filenames, permissions and owners, links and special devices on FAT partition, called UMSDOS. Each directory contains file named "--linux-.---". There are stored long names and other necessary fields. For more information see file /usr/src/linux/Documentation/filesystems/umsdos.txt. Author of Linux umsdos driver is Jacques Gelinas < jacques@solucorp.qc.ca> and it is currently maintained by Matija Nalis < mnalis@jagor.srce.hr>.

## 3.3 OS/2 Extended Attributes on FAT filesystems

OS/2 Warp version 3,4 and 5 stores long filenames and extended attributes on FAT volume in files "\ea data. sf" and "\wp root. sf" (both files are in root directory of filesystem). AFAIK there is no known implementation of OS/2 EAs for any other OS. If you can supply any information about EA structure, don't hesitate to mail them to me.

## 3.4 Star LFN

Star LFN is an emulator that allows programs, running under DOS 4.0 or above, to use the long filename functions present in Windows'95 DOS boxes. Currently, it can only read and write long filenames from and into a system+hidden file, which means you can't either read or write real Windows'95 long filenames. For more information see http://sta.c64.org/starlfn.html.

## 3.5 Accessing VFAT from OS/2 (VFAT-OS2)

- Homepage: http://www.dsteiner.com/products/software/os2/ifs.htm
- Author: Daniel Steiner < info@dsteiner.com>
- Access: Read-Write, no EAs supported.
- Mirror: ftp://hobbes.nmsu.edu/pub/os2/system/drivers/filesys/
- License: GPL

VFAT-OS2 is a package that will allow OS/2 to seamlessly access Windows 95 VFAT formatted partitions from OS/2 as if they were standard OS/2 drive letters. The ultimate aim of this package is to be able to use the VFAT file system as a replacement of FAT. It can now also access NTFS partitions in read-only mode.

## 3.6 Accessing VFAT from DOS (LFNDOS driver)

Some people say that Microsoft has released a driver called LFNDOS that provides the Microsoft Long Filename API under DOS. If you know where can this driver be downloaded, send me e-mail please.

## 3.7 Accessing VFAT from DOS (Free LFNDOS driver)

- Homepage: http://members.xoom.com/dosuser/
- Author: Chris Jones < dosuser@bigfoot.com>
- Access: Read-Write
- Mirror: http://www.simtel.net/pub/simtelnet/msdos/fileutil/lfnds106.zip
- License: Free, source code available

LFNDOS provides the Windows95 Long Filename (LFN) API to DOS programs. It uses the same format for storing the names on disk as Windows95 does, so you can view and use long filenames under both systems interchangeably. It runs as a memory-resident program, and while resident requires about 60k of conventional memory.

Under Windows95, a DOS program can use long filenames by calling a set of interrupt functions, which Windows provides. For example, COMMAND.COM will allow long filenames when run as a DOS Prompt from Windows, but not if you restart in MS-DOS mode. Other programs such as EDIT.COM and all DJGPP programs use long filenames if available.

## 3.8 Accessing VFAT from DOS (Odi's LFN tools)

- Homepage: http://odi.webjump.com/
- Author: Ortwin Glueck < glueck@freesurf.ch>
- Access: Read-Write, only DOS utilities
- Mirror: http://www.simtel.net/pub/simtelnet/msdos/fileutil/lfn141.zip
- License: ?

These tools provide easy file management under DOS with long filenames created by Windows 95/98 on FAT32, FAT16 and FAT12 file systems. Typing LDIR brings up the directory with its long filenames. Copying a file with LCOPY preserves long filenames. You can even create directories (LMD) with long names or rename files (LREN) with long names.

## 3.9 Accessing FAT32 from OS/2 (FAT32.IFS)

- Homepage: http://www.os2ss.com/information/kelder/index.html
- Author: Henks Kelder < hkelder@capgemini.nl >
- Access: Read-Write, long filenames, no EAs support.
- Download: http://www.os2ss.com/information/kelder/os2fat32.zip
- License: Free

FAT32.IFS for OS/2 will allow you to access FAT32 partitions from OS/2. You cannot create FAT32 partitions, you'll still need Win95 OSR2 to do that. Also, OS/2s CHKDSK cannot fix all possible errors that can occur, you'll have to use Windows 95 Scandisk to fix certain errors.

## 3.10 Accessing FAT32 from Windows NT 4.0

- Download: http://www.chat.ru/~ashedel/fat32/fastfat32.rar
- Author: Anonymous
- License: Free or GPL ?

FAT32 filesystem driver for NT 4.0 and NT 3.51.

## 3.11 Accessing FAT32 from Windows NT 4.0

- Homepage: http://www.sysinternals.com/fat32.htm
- Author: Mark Russinovich < mark@sysinternals.com> and Bryce Cogswell < cogswell@winternals.com>.
- Access: Read-only in free version, RW in commercial.
- Download: ?
- License: Free(read-only) or Commercial(read-write)

This is a FAT32 file system driver for Windows NT(R) 4.0. Once installed, any FAT32 drives present on your system will be fully accessible as native Windows NT volumes. Free version provides read-only capabilities. A read/write version is for sale.

## 3.12 Accessing Stac/Dblspaced/Drvspaced drives from Linux (DMSDOS)

- Homepage: http://fb9nt.uni-duisburg.de/mitarbeiter/gockel/software/dmsdos/
- Author: Frank Gockel < gockel@sent13.uni-duisburg.de> and Pavel Pisa < pisa@cmp.felk.cvut.cz>
- Access: Stacker, Dblspace and Drvspace in Read-Write mode, long filenames.
- Download: ftp://fb9nt.uni-duisburg.de/pub/linux/dmsdos/
- Freshmeat: Console/Filesystems
- License: GPL

DMSDOS reads and writes compressed DOS filesystems (CVF-FAT). The following configurations are supported:

- DoubleSpace / DriveSpace (MS-DOS 6.x)
- DoubleSpace / DriveSpace (Windows 95)
- DriveSpace 3 (Windows 95 with Plus! pack)
- Stacker 3
- Stacker 4

It works with FAT32, NLS, codepages (tested with fat32 patches version 0.2.8 under Linux 2.0.33 and with fat32 in standard 2.1.xx kernels and 2.0.34+35). Dmsdos can run together with vfat or umsdos for long filenames. It has been redesigned to be ready for SMP and should now compile completely under libc6.

## 3.13 Accessing Dblspaced/Drvspaced drives from Linux (thsfs)

- Download: ftp://ftp.ai-lab.fh-furtwangen.de/pub/os/linux/local/thsfs.tgz
- Author: Thomas Scheuermann < ths@ai-lab.fh-furtwangen.de>
- Access: Dblspace and Drvspace in Read-only mode.
- License: See copyright on files. Basically free

## 3.14 Fsresize - FAT16/32 resizer

- Homepage: http://www.alphalink.com.au/~clausen/fsresize/
- Author: Andrew Clausen < clausen@alphalink.com.au>
- Download: http://www.alphalink.com.au/~clausen/fsresize-0.8.tar.gz
- Freshmeat: Console/Filesystems
- Access: Read/Write, full FAT16/FAT32 support
- License: GPL

Resizes FAT16/FAT32 filesystems. It doesn't require any other programs (like a defrager). It has --backup and --restore options, so if there's a power failure, (or a bug), you can always go back. The backup files are usually < 1 meg.

The author probably won't be releasing any more versions of fsresize, because he is working on parted - a Partition Magic clone. It will be able to resize, copy, create and check filesystems/partitions.

## 3.15 FIPS - FAT16 resizer

- Homepage: ?
- Author: Arno Schaefer < schaefer@rbg.informatik.th-darmstadt.de>
- Download: ftp://sunsite.unc.edu/pub/Linux/system/Install/fips01alpha.tar.z
- License: GPL

Next Previous Contents