IO.SYS
IO.SYS ist eine Systemdatei in den Betriebssystemen MS-DOS, DCP und Windows 9x. Unter IBM PC DOS und DR DOS heißt die entsprechende Datei IBMBIO.COM. Bei FreeDOS wird diese Funktionalität durch eine Datei bereitgestellt, die meist den Namen KERNEL.SYS
trägt. IO.SYS
ist ein Teil des Kernels und wird zum Booten des Betriebssystems benötigt. Es handelt sich um eine Datei, die im Normalfall schreibgeschützt und nicht anzeigt wird, da sie unsichtbar oder „versteckt“ ist. Zusammen mit MSDOS.SYS
(MS-DOS) bildet sie die Kernkomponente des Betriebssystems DOS. Bei IBM PC DOS und DR DOS heißen die entsprechenden DOS-Dateien IBMBIO.COM
und IBMDOS.SYS
. Prinzipiell reichen diese beiden Dateien und ein geladenes Programm, wie COMMAND.COM
, um ein funktionstüchtiges DOS zu haben, sofern man auf weitere Treiber wie Maus-, Tastaturlayout- oder CD-ROM-Treiber verzichtet.
Das Setup von Windows 9x extrahiert unter anderem WINBOOT.SYS
[1] aus den Cabinet-Archiven auf dem Installationsmedium und benennt diese Datei gegen Ende des Prozesses in IO.SYS
um.
Während des Bootvorgangs wird der Bootsektor vom Bootdatenträger in den Speicher eingelesen und ausgeführt. Der DOS-Bootsektor lädt die ersten drei Sektoren der Datei IO.SYS
/ IBMBIO.COM
.
Zu diesem Zeitpunkt ist der FAT-Dateisystem-Treiber noch nicht geladen, weshalb diese Datei erstens ganz am Anfang des Datenbereichs des Datenträgers, zweitens unfragmentiert und drittens die erste Datei im Hauptverzeichnis sein muss. Ab DOS 4.0 darf die Datei bis auf die ersten drei Sektoren fragmentiert sein. Mit DOS 5.0 darf die Datei auf einem beliebigen Ort des Datenträgers gespeichert sein, wobei hier auch die ersten drei Sektoren zusammenhängend (nicht fragmentiert) sein müssen;[2] die entsprechenden Angaben sind im Bootsektor hinterlegt.
Nachdem die ersten drei Sektoren der Datei eingelesen und ausgeführt wurden, wird der Rest der Datei eingelesen und es werden folgende Schritte durchgeführt:
- es werden Standardgerätetreiber geladen und verfügbar gemacht
- der DOS-Kernel
MSDOS.SYS
(bei IBM:IBMDOS.COM
) wird geladen und initialisiert (in Windows 9x ist dieser inIO.SYS
integriert). Ab diesem Zeitpunkt ist der Dateisystemtreiber geladen und der normale Datenträgerzugriff ist gewährleistet. - Bei Windows 9x wird die Konfigurationsdatei (
WINBOOT.INI
[3] bzw.MSDOS.SYS
[4]) des DOS-Kernels verarbeitet. Enthält diese imOptions
-Abschnitt keinen EintragBootMulti=0
und sind die relevanten Systemdateien einer vorherigen DOS-Version (MS-DOS, PC-DOS 5 oder 6) vorhanden, kann auch das alte System gestartet werden („Dualboot“-Option[5]). Bei Auswahl dieser Option werden zuerst die aktuellen relevanten DOS-Dateien umbenannt, indem die Dateiendung durchW40
ersetzt wird. Eine Ausnahme bildet die DateiIO.SYS
, die zuWINBOOT.SYS
(Windows 95)[6] /JO.SYS
(Windows 98/ME)[7] umbenannt wird. Dann erhalten die alten DOS-Systemdateien mit der DateiendungDOS
wieder ihren ursprünglichen Namen, der alte DOS-Kernel wird geladen und die Verarbeitung wird wie oben beschrieben wieder aufgenommen. - die
CONFIG.SYS
-Datei wird verarbeitet (ab DOS 2.0) außer im „abgesicherten Modus“. Während des Bootvorgangs, erkennbar an einer Meldung wie „Windows 95 wird gestartet“, kann normalerweise per Drücken der Funktionstaste F5 direkt in diesen Modus gewechselt werden. Oder im Startmenü, welches typischerweise beim Betätigen von F8 erscheint, lässt sich dieser Modus auswählen. Er wird auch gestartet, wennMSDOS.SYS
imOptions
-Abschnitt den EintragBootSafe=1
enthält. - Sofern in CONFIG.SYS kein anderer Kommandozeileninterpreter oder ein anderes ausführbares Programm per
shell
-Direktive[8] definiert worden ist, wird dieCOMMAND.COM
-Datei, die sich im Hauptverzeichnis befindet, gestartet und somit der MS-DOS-Kommandozeileninterpreter geladen. Dieser führt dann normalerweiseAUTOEXEC.BAT
aus. - Normalerweise wird beim Starten von Windows 9x ein Startlogo angezeigt, wenn dies nicht durch den Eintrag
Logo=0
in der Konfigurationsdatei unterbunden wird.IO.SYS
generiert dieses anhand der GrafikdateiLOGO.SYS
. Fehlt diese, so wird das in IO.SYS enthaltene Logo benutzt.
Weblinks
- MS-DOS Device Driver Names Cannot be Used as File Names. (Nicht mehr online verfügbar.) Microsoft, archiviert vom Original am 5. Februar 2007 (englisch). – enthält eine Liste der Standardgerätetreiber
- SYS.COM Requirements in MS-DOS versions 2.0-6.0. (Nicht mehr online verfügbar.) Microsoft, archiviert vom Original am 4. März 2007 (englisch). – enthält Anforderungen für die zu ladende IO.SYS
Literatur
- Harald Milz: Der Interrupt 21h beim DOS-Bootvorgang In: c’t 7/1992, S. 198ff.
- Peter Siering: Windows 95: altes DOS für neues Windows In: c’t 5/1996, S. 284
Einzelnachweise
- ↑ Less Conventional Memory in European Versions of Windows 98. (Nicht mehr online verfügbar.) Microsoft, archiviert vom Original am 5. Oktober 2008 (englisch).
- ↑ SYS.COM Requirements in MS-DOS versions 2.0-6.0. (Nicht mehr online verfügbar.) Microsoft, archiviert vom Original am 4. März 2007 (englisch).
- ↑ How to Perform Clean-Boot Troubleshooting for Windows 98. (Nicht mehr online verfügbar.) Microsoft, archiviert vom Original am 20. Oktober 2004 (englisch).
- ↑ Contents of the Windows Msdos.sys File. (Nicht mehr online verfügbar.) Microsoft, archiviert vom Original am 20. Oktober 2004 (englisch).
- ↑ Requirements to Boot Previous Operating System. (Nicht mehr online verfügbar.) Microsoft, archiviert vom Original am 4. März 2007 (englisch).
- ↑ Klaus Dembowski: BIOS und Troubleshooting: kompakt, komplett, kompetent. Markt+Technik, München 2004, ISBN 3-8272-6547-9, S. 36.
- ↑ Err Msg: The Following File Is Missing or Corrupt... (Nicht mehr online verfügbar.) Microsoft, archiviert vom Original am 26. Februar 2007 (englisch).
- ↑ MS-DOS Config.sys Befehle unter Windows 98. (Nicht mehr online verfügbar.) Microsoft, 27. Dezember 2004, archiviert vom Original am 25. Oktober 2010 .