.sys is a filename extension used in MS-DOS applications and Microsoft Windows operating systems. They often contain device drivers or hardware configurations for the system.

Most DOS .sys files are real mode device drivers.[1] Certain files using this extension are not, however: MSDOS.SYS and IO.SYS are core operating system files in MS-DOS and Windows 9x. The CONFIG.SYS text file contains various configuration options and specifies what device drivers will be loaded.[2][3] COUNTRY.SYS[4] is a binary database containing country and codepage related information for use with the CONFIG.SYS COUNTRY directive and the NLSFUNC driver,[4] whereas KEYBOARD.SYS is a binary database containing keyboard layout related information including short P-code sequences to be executed by an interpreter inside the KEYB keyboard driver.[5][6]

File location[]

In particular in Windows Vista and its successors, the .sys files are mainly found under the following paths:[7]


See also[]


  1. ^ "Exactly What Is A Driver?". OSR. 2003-05-14. Archived from the original on 2007-09-28.
  2. ^ "Contents of the Windows Msdos.sys File". Support. Microsoft. 2004-09-27. Archived from the original on 2004-10-20.
  3. ^ "What is an Config.sys file?". www.dewassoc.com.
  4. ^ a b Paul, Matthias R. (2001-06-10) [1995]. "DOS COUNTRY.SYS file format" (COUNTRY.LST file) (1.44 ed.). Archived from the original on 2016-04-20. Retrieved 2016-08-20.
  5. ^ Paul, Matthias R. (2001-12-30). "KEYBOARD.SYS internal structure". comp.os.msdos.programmer. Archived from the original on 2017-09-09. Retrieved 2016-09-17. [...] In fact, the format is basically the same in MS-DOS 3.3 - 8.0, PC DOS 3.3 - 2000, including Russian, Lithuanian, Chinese and Japanese issues, as well as in Windows NT, 2000, and XP [...]. There are minor differences and incompatibilities, but the general format has not changed over the years. [...] Some of the data entries contain normal tables [...]. However, most entries contain "executable code" interpreted by some kind of P-code interpreter at *runtime*, including conditional branches and the like. This is why the KEYB driver has such a huge memory footprint compared to table-driven keyboard drivers which can be done in 3 - 4 Kb getting the same level of functionality except for the interpreter. [...]
  6. ^ Mendelson, Edward (2001-07-20). "How to Display the Euro in MS-DOS and Windows DOS". Display the euro symbol in full-screen MS-DOS (including Windows 95 or Windows 98 full-screen DOS). Archived from the original on 2016-09-17. Retrieved 2016-09-17. [...] Matthias [R.] Paul [...] warns that the IBM PC DOS version of the keyboard driver uses some internal procedures that are not recognized by the Microsoft driver, so, if possible, you should use the IBM versions of both KEYB.COM and KEYBOARD.SYS instead of mixing Microsoft and IBM versions [...] (NB. What is meant by "procedures" here are some additional byte codes in the IBM KEYBOARD.SYS file not supported by the Microsoft version of the KEYB driver.)
  7. ^ "SYS File Extension - What is an .sys file and how do I open it?". fileinfo.com.