MSDOS.SYS – jeden z ważnych plików systemowych w MS-DOS oraz systemach operacyjnych z rodziny Windows 9x.
W wersjach MS-DOS od 1.1x do 6.22 plik ten zawiera jądro systemu operacyjnego i jest odpowiedzialny za dostęp do danych oraz zarządzanie oprogramowaniem. MSDOS.SYS jest ładowany przez BIOS DOS IO.SYS jako część procedury rozruchu[1]. W niektórych wersjach OEM systemu MS-DOS jest nazywany MSDOS.COM.
W systemach od Windows 95 (MS-DOS 7.0) do Windows Me (MS-DOS 8.0) jądro systemu DOS zostało połączone z BIOS-em DOS do jednego pliku, IO.SYS (znanego też jako WINBOOT.SYS[2]), zaś MSDOS.SYS stał się zwykłym plikiem tekstowym zawierającym dyrektywy konfiguracyjne dotyczące rozruchu. W przypadku istnienia pliku WINBOOT.INI to z niego system wczyta niezbędne dane zamiast z MSDOS.SYS[3]. Po zainstalowaniu systemu Windows 9x równolegle do już istniejącego systemu DOS, plik przynależący do Windows może zostać tymczasowo nazwany MSDOS.W40 na czas pracy z wcześniejszym systemem. Podobnie plik MSDOS.SYS starszego systemu może mieć zmienioną nazwę na MSDOS.DOS tak długo jak uruchomiony jest Windows 9x.
Niektóre programy narzędziowe wymagają aby plik MSDOS.SYS miał rozmiar co najmniej 1 KB. Jest to powodem dlaczego można znaleźć duży ciąg linii „komentarza” w zawartości pliku, począwszy od Windows 95[a][4][5][6].
Domyślnie plik znajduje się w głównym katalogu dysku startowego lub partycji rozruchowej (przeważnie C:\ dla dysków twardych), posiadając atrybuty ukryty, tylko do odczytu i systemowy.
Pochodny od MS-DOS system Disk Control Program (DCP) produkcji nieistniejącego obecnie niemieckiego przedsiębiorstwa VEB Robotron wykorzystywał plik DCDOS.SYS[7].
W systemie PC-DOS produkcji IBM oraz DR-DOS od wersji 5.0 (z wyjątkiem DR-DOS 7.06) odpowiedni plik nosi nazwę IBMDOS.COM, podczas gdy wersje DR-DOS 3.31 do 3.41 używały DRBDOS.SYS[2]. FreeDOS stosuje plik KERNEL.SYS do tego samego celu.
Systemy z rodziny Windows NT (3.1 – 4.0, 2000, XP i Server 2003) używają pliku NTLDR, a w wersji NT 6+ (Vista, Server 2008, 7, 8, 8.1 i 10) bootmgr ze względu na inną budowę mechanizmu uruchamiania.
<ref>
dla grupy o nazwie „uwaga”, ale nie odnaleziono odpowiedniego znacznika <references group="uwaga"/>