Skip to content
daniel@cosenza:~/blog
FreeDOSFix July 5, 2026 2 min read

Fixing DOSLFN Long Filename Problems on FreeDOS

Long filenames show up truncated to 8.3 format in some programs but not others, even with DOSLFN loaded. This is expected, driver-specific behavior — here's how to tell which programs actually support it.

DOSLFN adds long filename support to FreeDOS — but loading it doesn’t make every DOS program suddenly understand long names, which is the most common source of confusion when troubleshooting this.

Step 1: confirm DOSLFN is actually loaded

LOADED /C:DOSLFN

Or check CONFIG.SYS/AUTOEXEC.BAT directly for the line loading DOSLFN.COM or DOSLFN.EXE.

Step 2: understand what DOSLFN does and doesn’t do

DOSLFN intercepts DOS filesystem calls to translate between long names and their underlying 8.3 short-name equivalents — but it only works for programs that make their file-access calls through the standard DOS API that DOSLFN can intercept. A program bypassing that API to touch the disk directly, or one with hardcoded assumptions about 8.3-only filenames, will never see long names regardless of DOSLFN’s presence.

Step 3: check whether the specific failing program is DOS-API-compliant

Most well-behaved DOS programs, and virtually all FreeDOS utilities, use the standard API and work correctly with DOSLFN. Older or more aggressively optimized commercial DOS software — especially disk utilities and some games with custom low-level disk access — are the most common exceptions.

Step 4: verify the underlying filesystem actually supports long names

DOSLFN requires a FAT filesystem with VFAT-style long
filename entries already present — check that the
partition was actually formatted/used in a way that
supports this.

A pure FAT12/16 volume with no VFAT long-name directory entries at all has nothing for DOSLFN to translate.

Step 5: check load order in CONFIG.SYS/AUTOEXEC.BAT

DEVICE=C:\FREEDOS\BIN\DOSLFN.COM

DOSLFN needs to load early enough to intercept calls from programs started afterward — a program launched from AUTOEXEC.BAT before DOSLFN’s own loading line runs without long-filename support for that specific session.

Step 6: use the 8.3 short name as a reliable fallback

DIR /X

/X shows both the long name and its underlying 8.3 short-name alias — for a program that genuinely can’t work with DOSLFN, referencing files by their short name directly sidesteps the problem entirely rather than fighting it.

Step 7: check for a DOSLFN version mismatch or known compatibility note

Check the DOSLFN documentation/changelog for any noted incompatibilities with the specific program giving trouble — some interactions between LFN drivers and specific commercial software are documented, known limitations rather than local misconfiguration.

Why “loaded but not working for this one program” is usually correct behavior, not a bug

DOSLFN’s translation only ever covers programs going through the interfaces it can actually intercept — a program bypassing those interfaces was never going to see long filenames no matter how DOSLFN itself is configured. Confirming which category a failing program falls into (Step 3) is what distinguishes a genuine configuration problem from an inherent limitation of the specific software involved.