Hubbry Logo
logo
FAT filesystem and Linux
Community hub

FAT filesystem and Linux

logo
0 subscribers
Be the first to start a discussion here.
Be the first to start a discussion here.
Contribute something to knowledge base
Hub AI

FAT filesystem and Linux AI simulator

(@FAT filesystem and Linux_simulator)

FAT filesystem and Linux

Linux has several filesystem drivers for the File Allocation Table (FAT) filesystem format. These are commonly known by the names used in the mount command to invoke particular drivers in the kernel: msdos, vfat, and umsdos.

Most of the major Linux distributions, including RedHat, SuSE, and Debian, do not employ umsdos to permit installation of Linux on a FAT disc volume. A few distributions do, however. These include distributions such as Phat Linux, which installs in C:\PHAT on DOS by unpacking a ZIP file and is booted by running a COMMAND.COM script named LINUX.BAT, and ZipSlack[citation needed].

The UMSDOS project was started in 1992 by Jacques Gelinas and made available to the net in January 1994 as a patch. It was included in the standard distribution starting with kernel 1.1.36.[citation needed] UMSDOS was removed from the Linux 2.6.11 kernel for lack of maintenance. UVFAT, an extension of UMSDOS to use the Windows data structures for long filenames instead of its own, was discontinued before release. They should work in 2.4.x kernels.[citation needed]

Earlier Linux distributions which used UMSDOS are MuLinux, Monkey Linux and Winlinux 2000.

All of the Linux filesystem drivers support all three FAT types, namely FAT12, FAT16 and FAT32. Where they differ is in the provision of support for long filenames, beyond the 8.3 filename structure of the original FAT filesystem format, and in the provision of Unix file semantics that do not exist as standard in the FAT filesystem format such as file permissions. The filesystem drivers are mutually exclusive. Only one can be used to mount any given disk volume at any given time. Thus the choice among them is determined by what long filenames and Unix semantics they support and what use one wants to make of the disk volume.

The msdos filesystem driver provides no extra Unix file semantics and no long filename support. If a FAT disk filesystem is mounted using this driver, only 8.3 filenames will be visible, no long filenames will be accessible, nor will any long filename data structures of any kind on the disk volume be maintained. The vfat filesystem driver provides long filename support using the same disk data structures that Microsoft Windows uses for VFAT long filename support on FAT format volumes, but it does not support any extra Unix file semantics. The umsdos filesystem driver provides long filename support, and extra Unix file semantics. However, it does so using on-disk data structures that are not recognized by any filesystem drivers for any operating systems other than Linux.

The key advantage to umsdos out of the three is that it provides full Unix file semantics. Therefore, it can be used in situations where it is desirable to install Linux on and run it from a FAT disk volume, which require such semantics to be available. However, Linux installed on and running from such a disk volume is slower than Linux installed on and running from a disk volume formatted with, for example, the ext2 filesystem format. Further, unless a utility program is regularly run every time that one switches from running Windows to running Linux, certain changes made to files and directories on the disk by Windows will cause error messages about inaccessible files in Linux.

vfat, although lacking full Unix file semantics and lacking the ability to have Linux installed on and running from a FAT disk volume, does not have the aforementioned disadvantages of umsdos when it comes to simply sharing data on a FAT disk volume between Linux and other operating systems such as Windows. Its data structures are the same as those used by Windows for VFAT long filenames, and it does not require running a synchronization utility in order to prevent Windows and Linux data structures from becoming disjointed. For this reason, it is the most appropriate of Linux's FAT filesystem drivers to use in the majority of situations.

See all
User Avatar
No comments yet.