Möglichkeiten
Lassen Sie mich zunächst erklären, dass es möglich ist, mehr als ein halbes Dutzend Betriebssysteme auf einem PC zu haben.
Ich habe nicht genau die Aufgabe erledigt, die Sie beschreiben. Ich habe es schon fast geschafft. (Damals habe ich zahlreiche Betriebssysteme auf eine Festplatte gestopft.) Damals erfuhr ich von vielen Anforderungen. Ich habe also eine gute Vorstellung davon, worüber ich spreche.
Eine vollständige Anleitung wäre zu umfangreich für eine einzige SuperUser-Antwort. In dieser Antwort gebe ich einige Hinweise. Fühlen Sie sich frei, um weitere Fragen zu stellen (einschließlich der Erstellung ganzer neuer SuperUser-Fragen). (Machen Sie auch Kommentare in @TOOGAM, um meine Aufmerksamkeit zu erhalten, wenn Sie möchten.)
Unmöglichkeit
Der Lehrer sagte, 1 GB auf einem Computer würden ausreichen, um dieses Projekt durchzuführen.
Ich sehe, dass Windows 10 Teil der Liste ist, die Sie hinzugefügt haben. Offizielle Systemanforderungen geben an, dass das Betriebssystem 16 GB Speicherplatz benötigt, alle für sich selbst. Das wird also nicht mit 1 GB erreicht. Mein C: \ Windows ist derzeit 17,3 GB groß (und verwendet Windows 10, Version 1607).
Wenn Sie Hardware zu groß / fähig / neu machen, können Sie natürlich die Grenzwerte einiger älterer Betriebssysteme überschreiten.
CPU-Anforderungen
Windows Server 2012 erfordert eine 64-Bit-CPU.
Viele der anderen Betriebssysteme unterstützen x86-Prozessoren (32-Bit). Sie haben zB Solaris erwähnt. Möglicherweise ist die neueste Version von Solaris nicht der Fall, ältere Versionen jedoch wahrscheinlich. Ältere Versionen sind wahrscheinlich auch kleiner (beansprucht weniger Speicherplatz) und sind möglicherweise wünschenswerter, um Punkte für dieses bestimmte Projekt zu erzielen.
Jedes Win9x-System (Win95, 98 und ME) benötigt eine 32-Bit-CPU, die 16-Bit-Code ausführen kann. Wie ich in einem Kommentar an anderer Stelle auf dieser Seite bemerkt habe, sollte dies auf Grundlage meiner Erkenntnisse möglich sein. Wenn mit neueren x64-Chips ein Teil der alten Unterstützung, auf die ich trainiert habe, optimiert wurde (oder wenn sie jemals in der Zukunft eingesetzt wird), könnte dies ein Problem sein.
Mac OS X wurde einmal nicht für x86 entwickelt. Seitdem hat es jedoch Unterstützung für x86-Hardware erhalten. Ich habe die Vermutung, dass Mac OS X einige andere Anforderungen hat, die vielleicht etwas ungewöhnlich sind. Ich würde mir das genau ansehen (das heißt, ich würde das recherchieren), bevor ich damit arbeite. Die anderen Betriebssysteme hatten wahrscheinlich alle Versionen, die mit x86 oder x64 funktionieren.
Ein Ansatz: Verwenden von Betriebssystemabbildern
Im schlimmsten Fall sollte dies machbar sein. Auch wenn das bedeutet:
- Starten Sie direkt in ein Betriebssystem, das Sie individuell einrichten können
- Dieses Betriebssystem verwendet dd =, um das Betriebssystem Ihrer Wahl zu installieren, und ändert dann den Boot-Record (z. B. den MBR, obwohl ein UEFI / GPT-Setup möglicherweise etwas komplizierter ist) und führt einen Neustart durch
- Das bootet dann das gewünschte Betriebssystem. Es bleibt Ihnen jedoch überlassen, dass das Betriebssystem den Startvorgang ändert, um wieder in das Betriebssystem Ihres Menüs zu gelangen. (Als ehemaliger Ausbilder würde ich, wenn ich diesen Auftrag erteilen würde, beeindruckt sein, alle Betriebssysteme auf einer Festplatte zu haben, und ich würde wahrscheinlich volle Punkte vergeben, wenn:
- Der Schüler hat einige Anweisungen nicht ignoriert ... zB wenn ich eine einfachere Vorgehensweise gebe
- Die Situation hat gut funktioniert. Ich würde mich freuen zu sehen, dass, wenn ein anderes Betriebssystem gewählt wurde, das gewünschte Betriebssystem gesichert wurde, falls der Benutzer Änderungen vorgenommen hat (oder das Betriebssystem Aktualisierungen vorgenommen hat), sodass Aktualisierungen nicht verloren gingen.
Nun, vielleicht gibt es einfachere Wege, aber wie oben gezeigt, sollte dies theoretisch funktionieren.
Seite an Seite
Wenn Sie möchten, dass alle Systeme gleichzeitig auf der Festplatte installiert werden, kann dies tatsächlich schwieriger sein (und für einige Kombinationen möglicherweise unmöglich).
Eine der Anforderungen ist die Überprüfung der Hardwarekompatibilität. Welche CPUs werden unterstützt? Gibt es andere Hardwareanforderungen zu beachten? (Das Ermitteln von Mindestanforderungen ist in der Regel recht einfach. Das Ermitteln maximaler Anforderungen, zum Beispiel, dass ein System mit neuerer Hardware nicht so gut funktioniert, kann etwas schwieriger sein.)
Ein Schritt, den ich sorgfältig ausführen sollte, ist, die Boot-Anforderungen jedes Betriebssystems herauszufinden. Einige Betriebssysteme können mit einem logischen Laufwerk gestartet werden, andere nicht. Leider ist dies vielleicht nicht so prominent dokumentiert. In meinem alten Projekt habe ich experimentiert. Es wäre großartig, eine andere Maschine (möglicherweise virtuelle Maschinen) zum Experimentieren zu verwenden, damit Sie nicht den Fortschritt Ihres Hauptprojekts beim Experimentieren zerstören.
Finden Sie auch heraus, welche Dateisysteme jedes Betriebssystem verwenden kann. Zum Beispiel ist Windows 95 grundsätzlich auf FAT16 beschränkt und unterstützt FAT32 nicht, obwohl die zweite Version von Windows 95 (am häufigsten "Windows 95 Operating System Release 2" oder "Win95 OSR2" und möglicherweise auch Win95B genannt) genannt wird. hat FAT32 unterstützt. Neuere Windows-Betriebssysteme möchten NTFS unterstützen (möglicherweise gibt es andere Versionen von NTFS). Viele andere Betriebssysteme unterstützen möglicherweise ext2 (insbesondere Linux, aber auch andere Unix-ähnliche Plattformen), ziehen es jedoch vor, zumindest von einem Volume zu booten, das sein eigenes natives Dateisystem verwendet. Finde heraus, was dort möglich ist.
Verstehen Sie, dass es viele Bootloader gibt, die andere Betriebssysteme laden können. Beispielsweise verwenden Windows XP / Server 2003 einen Bootloader, der eine Datei angeben kann, die die Bytes eines Bootsektors enthält. Außerdem ist es möglich, dass ein Bootloader einen anderen Bootloader ausführt. Dies ist, was die Konfigurationsdatei von grub mit dem Wort "Kette" vorhat. ("Kettenladen") Sie müssen möglicherweise Timeout-Werte angeben, sodass einige der späteren Bootloader nur unsichtbar sind (auch wenn mehrere Bootloader verwendet werden).
Partitionen verstecken
Es kann auch nützlich sein, den Wert für Partitionstyp / ID zu ändern. z.B:
- Ermitteln Sie den aktuellen Partitionstyp / ID-Wert einer Partition. FAT32 verwendet beispielsweise 0x0B (oder etwas anderes, je nach Größe der Festplatte).
- Notieren Sie den alten Wert des Partitionstyp / ID-Werts
- Ändern Sie es. zB auf 0xED.
- Dies kann verwendet werden, um Win95 / 98 während der Installation von Win ME effektiv auszublenden
- Installieren Sie das gewünschte Betriebssystem (z. B. Win ME).
- Setzen Sie nach der Installation den Partitionstyp- / ID-Wert zurück (z. B. von 0xED auf 0x08 zurück).
- Prüfen Sie, ob alle Microsoft-Betriebssysteme noch gut starten. (Laufwerksbuchstaben können sich von diesem Vorgang ändern. Das kann problematisch sein.)
Ich schlage vor, zu versuchen:
- Ranish Partition Manager
- Hervorragender Partitionsmanager für DOS
- oder XFDisk (z. B. wahrscheinlich als Teil einer FreeDOS-Bootdiskette leicht zugänglich)
- Ansonsten neige ich dazu, OpenBSDs fdisk zu mögen, die beim Booten einer OpenBSD-Installations-CD verwendet werden kann
Die ersten beiden können einen Bootloader installieren, was durchaus nett sein könnte, außer dass Sie meiner Meinung nach einen flexibleren Bootloader für Ihre Aufgabe wünschen. Ich empfehle sie jetzt nicht wegen ihres Bootloaders, sondern weil ich erwarte, dass sie das Ändern der Kennung des Partitionstyps problemlos unterstützen. Auch das erste (RPM) und das letzte (OpenBSD) zeigen Grenzen mit großer Klarheit. Diese Empfehlungen basieren auf einigen alten Erfahrungen. Wenn es Inkompatibilitäten mit größeren Festplattengrößen gibt, bin ich ihnen nicht bewusst (oder erinnere mich).
Partitionen teilen
Es kann möglich sein, dass einige Betriebssysteme auf derselben Partition vorhanden sind. Dies kann in einigen Fällen sehr gut funktionieren, in anderen jedoch nicht.
Hier ein Beispiel: Win98 arbeitet mit FAT16. So wird Win95. (Wenn Sie jedoch Win95 OSR2 haben, neige ich vielleicht dazu, nur FAT32 zu verwenden.) Der Boot-Prozess von Windows 98 könnte Windows 95-Dateien laden. (Dies wird möglicherweise automatisch durchgeführt, wenn Sie zuerst Windows 95 installieren und dann auf Windows 98 aktualisieren. Möglicherweise benötigen Sie jedoch eine Windows 98 Upgrade-Installations-CD, damit dies eher automatisch geschieht.) Grundsätzlich könnte dies folgendermaßen aussehen:
- Installieren Sie Windows 95 in C: \ Win95
- Erstellen Sie eine Startdiskette, damit Sie Änderungen vornehmen können, ohne von der Festplatte zu starten. (Verwenden Sie beispielsweise eine "Diskette". Oder starten Sie zuverlässig von einer CD und rufen Sie eine Eingabeaufforderung auf. Das Halten von F8 oder F5 oder Ctrl oder möglicherweise die Umschalttaste und Drücken von F8 oder F5 kann hilfreich sein.)
- Benennen Sie command.com in Win95Cmd.com um
- Benennen Sie config.sys in config.w40 um
- Lauf:
echo SHELL=C:\Win95\Win95Cmd.com >> C:\config.w40
- Besser noch, verwenden Sie einen flexibleren Befehlszeileninterpreter wie 4DOS, der mit mehreren Betriebssystemen funktioniert. Wenn Sie versehentlich die falsche Datei CONFIG.SYS verwenden, wird Ihr System trotzdem booten. Verwenden Sie SHELL = C: \ 4DOS \ 4DOS.Com (nachdem Sie 4DOS dort platziert haben).
- Benennen Sie autoexec.bat in autoexec.w40 um
- Benennen Sie io.sys in io.w40 um
- Benennen Sie msdos.sys in msdos.w40 um
- Verwenden Sie keine der oben genannten Dateinamen, die auf .old enden (z. B. autoexec.old).
- Verwenden Sie auch nicht den Dateinamen C: \ winboot.ini
- Sichern Sie alle diese Dateien. Wenn etwas überschrieben wird, ist das Wiederherstellen bei einem bequemen Backup viel einfacher. (Machen Sie einfach eine Kopie nach C: \ SYSBACK \ copy1 \ oder so ähnlich.)
- Installieren Sie Windows 98 in einem anderen Verzeichnis (wie C: \ Win98).
- Platzieren Sie BootMulti = 1 im Abschnitt [Optionen] von C: \ MSDOS.SYS von Win98 (oder C: \ WinBoot.ini, wenn Sie es in das umbenannt haben)
- Setze auch BootMenu = 1 dort.
- Vielleicht auch BootMenuDelay = 15
- Die Verwendung von BootMenu = 1 ist für die Zuweisung tatsächlich schlecht, da ein sichtbares Menü erstellt wird. Dies ist jedoch hilfreich beim Überprüfen / Testen.
- Später können Sie BootMenuDefault = verwenden und, sobald dies wie gewünscht funktioniert, BootMenu wieder auf 0 setzen.
- Sichern Sie diese Dateien erneut (z. B. unter C: \ SYSBACK \ copy2 \ oder ähnlich).
WinME kann nicht so schön sein. ( Google-Suche: Das automatische Ausführen von Windows MEs GUI% windir% \ system32 \ vmm32.vxd 4DOS kann hilfreich sein?)
Bildungswert
An einem Tag, an dem Windows 10 existiert, frage ich den pädagogischen Wert des Spielens mit Windows ME. Sicher, das Spielen mit verschiedenen Betriebssystemen mag lehrreicher sein als das Spielen des neuesten Videospiels, aber warum sollten nicht auch andere würdigere Konkurrenten wie mehr BSD-Betriebssysteme mit einbezogen werden, die mit zunehmender Technologie von Nutzen sein könnten. Der nostalgische Teil von mir würde gerne Zeit damit verbringen, dies zu tun und anderen beizubringen, wie das geht, da ich diesen Spaß finden würde. Wenn ich jedoch darüber nachdenke, wie dies für die Karriere der Menschen nützlich sein könnte, muss ich mich fragen. Als IT-Ausbilder an einem College konnte ich keine gute Begründung dafür finden, wie es für die Studenten nützlich sein könnte. Obwohl ich nicht an einem Ort, der hauptsächlich Spanisch spricht, zur Professional School of Systems Engineering gehe, stelle ich mir vor, dass Microsoft
Wenn Sie auf Schwierigkeiten stoßen, sollten Sie den Ausbilder um Rat oder um Verhandlungen bitten. Ein erfolgreiches Implementieren eines anderen Features kann einige Punkte wert sein.