is a system file in MS-DOS and Windows 9x operating systems. In versions of MS-DOS from 1.1x through 6.22, the file comprises the MS-DOS kernel and is responsible for file access and program management. <code>MSDOS.SYS</code> is loaded by the DOS BIOS <code>IO.SYS</code> as part of the boot procedure. In some OEM versions of MS-DOS, the file is named <code>MSDOS.COM</code>.
In Windows 95 (MS-DOS 7.0) through Windows ME (MS-DOS 8.0), the DOS kernel has been combined with the DOS BIOS into a single file, <code>IO.SYS</code> (aka <code>WINBOOT.SYS</code>), while <code>MSDOS.SYS</code> became a plain text file containing boot configuration directives instead. If a <code>WINBOOT.INI</code> file exists, the system will retrieve these configuration directives from <code>WINBOOT.INI</code> rather than from <code>MSDOS.SYS</code>. When Windows 9x is installed over a preexisting DOS install, the Windows file may be temporarily named <code>MSDOS.W40</code> for as long as Windows' dual-boot feature has booted the previous OS. Likewise, the <code>MSDOS.SYS</code> of the older system is named <code>MSDOS.DOS</code> for as long as Windows 9x is active.
Some DOS utilities expect the <code>MSDOS.SYS</code> file to have a minimal file size of at least 1 KB. This is the reason why a large dummy comment is typically found in the <code>MSDOS.SYS</code> configuration file since Windows 95.
By default, the file is located in the root directory of the bootable drive/partition (normally <code>C:\</code> for hard disks) and has the hidden, read-only, and system file attributes set.
The MS-DOS derivative (DCP) by the former East-German VEB Robotron used a filename instead.
IBM PC DOS as well as DR-DOS since 5.0 (with the exception of DR-DOS 7.06) used the file <code>IBMDOS.COM</code> for the same purpose, whereas DR DOS 3.31 to 3.41 used <code>DRBDOS.SYS</code> instead. FreeDOS uses the file <code>KERNEL.SYS</code> for the same purpose.
Windows NT-based operating systems (NT 3.1âÂÂ4, 2000, XP, and 2003) use the NTLDR file and NT 6+ operating systems (Vista, Server 2008, 2012, 2016, 2019, 2022, 2025, 7, 8, 8.1, 10 and 11) use bootmgr instead, as they have a different boot sequence.
MSDOS.SYS in Windows 9x (95/98/ME):