UMSFUSE

About UMSDOS
Login

About UMSDOS

UMSDOS is a hack to support complete Unix file system semantics on top of FAT file systems, and was used in the 1990s and early 2000s to co-exist Linux with MS-DOS and Windows 3.1, 95, and 98 systems. It adds the following features on top of FAT: long and unrestricted file names, case-sensitivity, user and group ownerships, file permissions, character and block devices, sockets, FIFOs (named pipes), symbolic links, hard links, modification times, access times, and change times.

It achieves this by storing special --linux-.--- files in each directory, which contain all the metadata that FAT cannot contain, as well as using an algorithm to down-convert from Unix files into MS-DOS/FAT compatible 8+3 names.

UMSDOS was removed entirely in Linux 2.6.11, after a long period of not being maintained and the file system driver was found to be broken since early in the 2.5.x series.

Distributions made for UMSDOS-on-root

Because UMSDOS didn't modify FAT file system structures and appeared as regular files, it made it possible to package up a full Linux installation into a zip file that could then be extracted from DOS or Windows to install it. A few distributions took advantage of this:

It was also typically possible to wrestle other distributions, such as Debian and Red Hat Linux, into booting from UMSDOS, but no official support was offered and usually required an existing Linux installation to bootstrap it.

Stability cautions

While the entire Linux 2.4 series includes the UMSDOS driver, it has been observed that its maintenance declined in the latter years, to where the last 2.4.x releases could not offer a stable UMSDOS experience, which includes version 2.4.33 shipped with Slackware 11.0.

The last changes made to UMSDOS happened in Linux 2.4.21 and the author of this project recommends not using it beyond that.

Drawbacks, decline, and death

UMSDOS was first devised in 1992 and made public in 1994, as a solution to making Linux fully functional on top of FAT. At that time, MS-DOS and Windows 3.1 reigned and the 8+3 filename limit was all that PC users knew.

Microsoft had a likewise effort to expand FAT with further capabilities, especially long file names (as well as access and creation times). This expansion was first released in September 1994 with Windows NT 3.5, but would become much more widely used with Windows 95, released in August 1995. The long file name-supporting variant of FAT is usually called “VFAT” (including by the Linux driver of the name vfat), because Windows 95's driver was named vfat.vxd.

UMSDOS never changed to work with VFAT, and while you can still dual-boot with Linux-on-UMSDOS against a Windows NT, 95, or 98 installation, great care must be made. Long file names should never be written inside the \LINUX directory, and you should never interact with any long named-files from inside the Linux system. By way of how UMSDOS was implemented, it was impossible to have the two systems properly together. You could easily accidentally trash your Windows installation by something as mundane as interacting with its Program Files directory from Linux.

In 2001, Microsoft released Windows XP and with it, the majority of home users moved to the NTFS file system, a wholly incompatible system. UMSDOS could only work on FAT file systems, and the typical way to boot it was by using a DOS-based loadlin.com program, which Windows XP could not be made to run.

In 2003, experiments with a spirital successor “UVFAT” were conducted but never completed. It would have allowed a cleaner translation of Linux names into VFAT-friendly long names. UMSDOS itself ceased development at this time, too.