Legacy DOS games and utilities preserve workflows, data formats, and experiences that remain valuable long after their original platforms have disappeared. Running these programs on Linux keeps them accessible without relying on aging hardware or outdated operating systems. Emulation provides a controlled environment where original binaries function as intended.

DOSBox emulates a complete MS-DOS era PC, including CPU, graphics, sound, and input devices, inside a window on the Linux desktop. Programs execute inside a virtual C: drive that maps to real directories on disk, which keeps installation files, saves, and configuration in predictable locations. Mount commands associate host directories with virtual drives so multiple games can share the same base folder.

Most DOS software assumes a single-tasking environment and specific directory layouts, so incorrect mounts or paths frequently produce cryptic errors or simply exit. Consistent directory structure and clear separation of game data simplify troubleshooting and backup. The commands below target Ubuntu and Debian systems that use APT; other Linux distributions follow the same pattern while substituting their own package managers.

Steps to run DOS programs on Linux:

  1. Download the desired DOS program archive from a trusted source.

    Related: Abandonware DOS

  2. Open a terminal on the Linux system.
  3. Create a dedicated directory in the home folder to store DOS games.
    $ mkdir -p ~/dosgames
    $ ls -ld ~/dosgames
    drwxrwxr-x 2 user user 4096 Jan 14 08:32 /home/user/dosgames
  4. Extract the downloaded DOS program archive into the game directory.
    $ cd ~/Downloads
    $ unzip -d ~/dosgames Golden\ Axe.zip
    Archive:  Golden Axe.zip
     extracting: /home/user/dosgames/A   
     extracting: /home/user/dosgames/AMAZON.SPR  
     extracting: /home/user/dosgames/_DOSGAME.TXT  
       creating: /home/user/dosgames/GOLD/
      inflating: /home/user/dosgames/GOLD/gold.asm  
     extracting: /home/user/dosgames/GOLD/GOLD.COM  
  5. Install DOSBox using the APT package manager on Ubuntu or Debian.
    $ sudo apt update && sudo apt install --assume-yes dosbox
    WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
    Hit:1 http://ports.ubuntu.com/ubuntu-ports noble InRelease
    Hit:2 http://ports.ubuntu.com/ubuntu-ports noble-updates InRelease
    Hit:3 http://ports.ubuntu.com/ubuntu-ports noble-backports InRelease
    Hit:4 http://ports.ubuntu.com/ubuntu-ports noble-security InRelease
    Reading package lists...
    Building dependency tree...
    Reading state information...
    ##### snipped #####
    Setting up dosbox (0.74-3-5build2) ...
    Processing triggers for hicolor-icon-theme (0.17-2) ...
  6. Start DOSBox from the terminal.
    $ dosbox
    DOSBox version 0.74-3
    Copyright 2002-2019 DOSBox Team, published under GNU GPL.
    ---
    ALSA lib confmisc.c:855:(parse_card) cannot find card '0'
    ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_card_inum returned error: No such file or directory
    ALSA lib confmisc.c:422:(snd_func_concat) error evaluating strings
    ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
    ALSA lib confmisc.c:1342:(snd_func_refer) error evaluating name
    ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
    ALSA lib conf.c:5727:(snd_config_expand) Evaluate error: No such file or directory
    ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM default
    ALSA lib seq_hw.c:528:(snd_seq_hw_open) open /dev/snd/seq failed: No such file or directory
    CONFIG: Generating default configuration.
    Writing it to /home/user/.dosbox/dosbox-0.74-3.conf
    CONFIG:Loading primary settings from config file /home/user/.dosbox/dosbox-0.74-3.conf
    MIXER:Can't open audio: ALSA: Couldn't open audio device: No such file or directory , running in nosound mode.
    ALSA:Can't open sequencer
    MIDI:Opened device:none
  7. Mount the game directory as virtual drive C: inside DOSBox.
    Z:\>mount c /home/user/dosgames
    Z:\>c:
    C:\>dir

    Output appears in the DOSBox window.

  8. Change to the extracted game directory on drive C: and list executable files.
    C:\>cd GOLD
    C:\GOLD>dir *.COM

    Output appears in the DOSBox window.

  9. Run the main game executable inside DOSBox.
    C:\GOLD>GOLD.COM
    ##### snipped #####

  10. Append mount commands to the DOSBox configuration so the game directory mounts automatically on startup.
    ///home/user//.dosbox/dosbox-0.74-3.conf
    [autoexec]
    mount c /home/user/dosgames
    c:

    The [autoexec] section runs commands automatically when DOSBox starts, which keeps drive mappings consistent across sessions.

  11. Confirm that the DOS program opens in its window and responds to keyboard input without mount errors in the DOSBox console.