Forum: PC Hard- und Software Welche Datei definiert die Version von MSDOS?


von Hohl (Gast)


Lesenswert?

Hallo, ich habe auf einer leeren Festplatte ein MSDOS 5.00 installiert. 
Nach dem Start zeigt der Befehl "ver" dies auch an. Jetzt kopiere ich 
von einer alten MSDOS Festplatte mit vielen Programmen sämtliche Ordner 
und Unterordner mit allen Dateien auf die 5.00 Festplatte. Jetzt zeigt 
die ehemalige 5.00 Festplatte bei Eingabe von "ver" die Version 6.22. 
Das heißt doch, dass eine der nun überschriebenen Dateien die MSDOS 
Version umdefiniert haben muss.

Welche Datei verursacht also die jetzt veränderte Anzeige von "ver", und 
definiert somit die Version eines MSDOS?

Wenn ein MSDOS sich über eine beihaltende Datei definiert, kann man dann 
grundsätzlich MSDOS durch Überschreiben einer Datei auf eine andere 
Version umstellen?

Unterscheidet sich also die Neu-Installation von verschiedenen MSDOS 
noch durch andere Dinge, als das Aufspielen unterschiedlicher Dateien?

Gilt das Gleiche auch für Windows?

... für Linux?

von Kriseninteerventionsspezialist (Gast)


Lesenswert?

io.sys
msdos.sys
command.com

von test (Gast)


Lesenswert?

Ja, das Betriebssystem (DOS, Windows, Linux usw.) besteht aus ganz 
normalen Dateien auf der Festplatte.

Kann aber bei modernen Systemen etwas komplexer werden (Kernel in ner 
separaten Partition usw.).
Und der Bootloader des Dateisystem muss für das vorhandene 
Betriebssystem gedacht sein. D.h. Linuxbetriebssystemdateien auf deinen 
DOS Rechner zu kopieren wird nicht klappen, denn der Bootloader deines 
Dateisystem wird versuchen das DOS "Betriebsystemprogramm" zu starten.

von Heinz B. (Firma: Privat) (hbrill)


Lesenswert?

Die command.com arbeitet ja eigentlich ähnlich
einem Interpreter. Dort sind auch die ausführbaren
Befehle drin.
Ver gibt zwar dann die Version der command.com aus,
aber zum starten von Platte müßte zuerst noch ein
SYS C:   <Laufwerk>
o.ä. gemacht werden. Erst dann ist das neue MS-DOS
bootfähig.


So, zumindest hatte ich es damals gelernt bzw.
verstanden.

: Bearbeitet durch User
von georg (Gast)


Lesenswert?

Heinz B. schrieb:
> Erst dann ist das neue MS-DOS
> bootfähig.

Hauptsächlich, weil die versteckte Datei MSDOS.SYS geschrieben wird, die 
ist im wesentlichen das Betriebssystem.

Hohl schrieb:
> Wenn ein MSDOS sich über eine beihaltende Datei definiert, kann man dann
> grundsätzlich MSDOS durch Überschreiben einer Datei auf eine andere
> Version umstellen?

Ja, schon, aber dann auch alle - ein Mischmasch von Dateien 
verschiedener Versionen kann alle möglichen Fehler verursachen. Viele 
Programme sind entsprechend abgesichert und melden "falsche 
DOS-Version". Weniger zentrale Programme kann man oft auch unter einer 
anderen Version benutzen (z.B. CD-Zugriff), aber das muss man in jedem 
Einzelfall prüfen. Empfehlenswert ist in jedem Fall eine Version zu 
löschen und dann eine andere komplett zu installieren.


Heinz B. schrieb:
> So, zumindest hatte ich es damals gelernt bzw.
> verstanden

Ach war da die Welt noch einfach.

Georg

von michael_ (Gast)


Lesenswert?

Heinz B. schrieb:
> Ver gibt zwar dann die Version der command.com aus,
> aber zum starten von Platte müßte zuerst noch ein
> SYS C:   <Laufwerk>
> o.ä. gemacht werden. Erst dann ist das neue MS-DOS
> bootfähig.

Deshalb wundert es mich, das es beim TO funktionieren soll.
Beide müssen übereinstimmen. Sonst meckert es und startet nicht.

Hohl schrieb:
> Jetzt kopiere ich
> von einer alten MSDOS Festplatte mit vielen Programmen sämtliche Ordner
> und Unterordner mit allen Dateien auf die 5.00 Festplatte. Jetzt zeigt
> die ehemalige 5.00 Festplatte bei Eingabe von "ver" die Version 6.22.
> Das heißt doch, dass eine der nun überschriebenen Dateien die MSDOS
> Version umdefiniert haben muss.

Und warum machst du einen Umweg?
Und startest nich gleich die alte HD?
Und machst dir eine Startdiskette?

von Rolf M. (rmagnus)


Lesenswert?

Hohl schrieb:
> Welche Datei verursacht also die jetzt veränderte Anzeige von "ver", und
> definiert somit die Version eines MSDOS?

Sie definiert nicht die Version, sondern sie definiert das, was das 
Kommando "ver" ausgibt. Die Version von DOS hat sich durch Austausch 
einer einzelnen Datei nicht unbedingt geändert.

> Wenn ein MSDOS sich über eine beihaltende Datei definiert, kann man dann
> grundsätzlich MSDOS durch Überschreiben einer Datei auf eine andere
> Version umstellen?

Nein. Das Betriebssystem besteht aus mehr als einer Datei.

> Unterscheidet sich also die Neu-Installation von verschiedenen MSDOS
> noch durch andere Dinge, als das Aufspielen unterschiedlicher Dateien?

DOS besteht aus Dateien. Durch was sollten sich also Versionen sonst 
unterscheiden, außer durch unterschiedliche Dateien?

> Gilt das Gleiche auch für Windows?
>
> ... für Linux?

Im Prinzip ja. Auch diese Betriebssysteme bestehen aus Dateien.

von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

Hohl schrieb:
> ... für Linux?

Der Linux-Kernel kennt seine eigene Version. Die kann man per "uname -r" 
abfragen (z.B: 4.15.0). Wo der Kernel aber gespeichert ist, ist bei 
jedem System anders. Bei PC-Linux-Distros ist es meist eine Datei in 
"/boot" plus zugehörige Module in "/lib/modules". Aktualisiert man die, 
erhält man eine neue Linux-Kernel-Version - das passiert bei den meisten 
Distros auch regelmäßig. Bei Android ist der Kernel eine Art separate 
Partition, keine Datei, welche man nicht so direkt ersetzen kann 
(OTA-Updates können das). Bei anderen Bootmedien (CDs, Floppies) kann 
der Kernel wieder anders abgelegt sein.

Das ist aber nur die Version des Kernels. Die Version einer Distribution 
(z.B. Linux Mint 19) wird auch durch die Versionen der Tausenden 
einzelnen Pakete definiert. Die werden bei Distro-Versions-Updates alle 
aktualisiert. Daraus die aktuelle Distributions-Version abzuleiten ist 
aber unpraktikabel. Die meisten Distros speichern ihre aktuelle Version 
in /etc/issue ab (z.B. "Linux Mint 19 Tara"). Das ist aber eine schnöde 
Textdatei, die könnte man einfach überschreiben.

Ein normales PC-Linux (z.B. Ubuntu) kann man prinzipiell updaten indem 
man alle Dateien ersetzt (und obsolete löscht) und die Datei-Attribute 
erhält, nur den Bootloader muss man ggf. neu schreiben (update-grub). 
Besonders sinnvoll ist das aber nicht, weil man dabei alle 
Konfigurationen und selbst installierten Programme verliert. Daher 
können Paketmanager so etwas "intelligent" machen.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Rolf M. schrieb:
> DOS besteht aus Dateien. Durch was sollten sich also Versionen sonst
> unterscheiden, außer durch unterschiedliche Dateien?

Zu DOS gehört auch der Code im Bootsektor. Allerdings dürfte der sich 
zwischen den verschiedenen Versionen kaum unterscheiden, obendrein ist 
er prinzipbedingt von überschaubarer Größe (mehr als 512 Byte passen 
halt nicht rein).

von Rolf M. (rmagnus)


Lesenswert?

Niklas G. schrieb:
> Die meisten Distros speichern ihre aktuelle Version in /etc/issue ab (z.B.
> "Linux Mint 19 Tara"). Das ist aber eine schnöde Textdatei, die könnte man
> einfach überschreiben.

Die meisten Distros setzen auf die LSB-Standards. Dann kann man die 
Version mit "lsb_release -a" ermitteln.

von Route_66 H. (route_66)


Lesenswert?

Hallo!
Das DOS-Application-Program-Interface (DOS-API) liefert im INT 21h mit 
dem Funktionsaufruf 30h die DOS-Version zurück.
COM-, EXE-Dateien, Treiber usw. können also die Version abfragen.
"ver" macht das, und zeigt die Version an.
Für Programmierer:
Dem INT 21h wird in AH 30h als Funktionsaufruf übergeben.
Zurück bekommt man in AL die übergeordnete Funktionsnummer (die Zahl vor 
dem Punkt) und in AH die untergeordnete Funktionsnummer (immer 
zeistellig die Zahl nach dem Punkt).
Für MS-DOS 2.1 also 2 und 10.

Das DOS-API befindet sich in der MSDOS.SYS und wird beim Booten geladen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.