Zeitreise
PCs mit Bochs emulieren
Massenspeicher
Bochs liest sowohl physisch gemountete CDs und Floppys als auch entsprechenden Images. Wollen Sie im im laufenden Betrieb eine Wechselmedium tauschen, nutzen Sie dazu entweder reale Medien oder wenden einen kleinen Trick an: In der Hardware-Definition tragen Sie nicht den Pfad direkt zum Image ein, sondern einen symbolischen Link, der auf das Image zeigt. Für den Medienwechsel geben Sie dann zunächst den Datenträger im Gastbetriebssystem frei, anschließend über das Icon oben links zusätzlich im Bochs-GUI. Jetzt legen Sie den Symlink einfach auf das neue Image um, machen Bochs über die GUI wieder mit dem Datenträger bekannt und greifen letztlich im Gastbetriebssystem darauf zu.
Ähnlich wie andere Emulatoren beziehungsweise Virtualisierer bildet Bochs IDE-Festplatten über große Dateien nach. Dabei unterstützt es eine reiche Auswahl an Formaten inklusive jener von Vmware. Unter Unix unterstützt Bochs auch rohe Partitionen, das Benutzerhandbuch rät davon aber explizit ab. Sie erzeugen die "Festplatte" entweder über das altbekannte Kommando dd oder mit dem Bochs-Programm bximage. Als großer Vorteil von Bximage erweisen sich die zahlreichen unterstützten Festplattenformate (siehe Tabelle "Bximage: Festplattenformate").
Das einmal erstellte, noch leere Festplattenabbild gilt es dann nach dem Booten des Gastbetriebssystem normal zu partitionieren und formatieren. Eine mögliche Alternative beschreibt der Abschnitt über die Bochs-Tools weiter unten.
Bximage: Festplattenformate
| Name | Eigenschaften |
|---|---|
flat
|
eine große Datei, LBA-Layout |
concat
|
mehrere Dateien (logisch konkateniert) |
external
|
für Entwickler |
dll
|
für Entwickler (nur Windows-Port) |
sparse
|
platzsparend, mehrere "stapelbare" Container, unterstützt Rollback und Commit |
vmware3
|
Vmware-Festplattenformat (Version 3) |
vmware4
|
Vmware-Festplattenformat (Version 4) |
undoable
|
analog zu flat, aber mit Rollback und Commit
|
growing
|
Datei wächst mit den belegten Blöcken |
volatile
|
analog zu undoable, aber mit automatischem Rollback
|
vvfat
|
reicht ein externes VFAT-Verzeichnis durch |
Der erste Start
Nach der Einrichtung der virtuellen Hardware geht es an den ersten Start des Emulators. Das Kommando bochs -q ("quiet") startet Bochs und überspringt dabei den initialen Auswahldialog. Dieses meist überflüssige textbasiertes Konfigurationsmenü bietet unter anderem Auswahlmöglichkeiten für die Hardware sowie die Gelegenheit, eine angehaltene Bochs-Session wieder zu starten (Abbildung 3).
Falls die Hardware richtig konfiguriert haben und auch sonst keine Probleme auftauchen, bootet das Gastbetriebssystem. Während des Startens und auch im Betrieb sollten Sie auf die Zahl links unten im Bochs-GUI achten: Hier steht der gemessene Wert für die instructions per second (IPS). Er bestimmt unter anderem, wie schnell die interne Uhr des Gastbetriebssystems tickt.
Fehlerhafte Werte in der Hardware-Konfiguration führen hier zu eigenartigen Effekten, da die Uhr des Gastes nicht synchron zu jener des Wirts läuft – daran ändert dann auch der Parameter sync in der clock-Definition in .bochsrc (Listing 1) nichts. Es kann dann vorkommen, dass beispielsweise jeder Anmeldeversuch am Gastsystem scheitert, weil Sie nach Eingabe des Benutzernamens nicht schnell genug das Passwort liefern können: Der Gast meint, seit Eingabe des Benutzernamens seien schon 60 Sekunden verstrichen und bricht mit einem Timeout ab, obwohl in Realzeit nur drei Sekunden vergangen sind. Oft funktionieren auch Doppelklicks nicht, da aus Sicht des Gastsystems die einzelnen Klicks zu lange auseinander liegen.
Unangenehmerweise kann Bochs obendrein keine konstante IPS-Rate synthetisieren. Dadurch läuft die Uhr des Gastes stets schneller, wenn er sich im Idle-Modus befindet. Schon beim Booten geben deshalb Linux-Kernel den Hinweis aus, dass die Uhr des Rechners keine zuverlässigen Werte liefert.
Um die Maus im Gastbetriebssystem zu nutzen, klicken Sie auf das Maus-Icon oben links in der Bochs-GUI. Durch Betätigen der mittleren Maustaste bei gedrücktem [Strg] kommt die Maus bei Bedarf wieder frei. Bei Tastaturkommandos kann es hie und da etwas klemmen. Darin unterscheidet sich Bochs nicht von anderen Virtualisierern: Tastenkombinationen, die der Wirt abfängt (etwa [Alt]+[F2] für eine Kommandozeile in KDE) kommen nie in der Bochs-GUI an. Während unseres Tests verlor Bochs einige Male den Kontakt zur Tastatur, wenn wir sie zwischendurch für andere Zwecke einsetzten.
Die restlichen Icons der Bochs-GUI fallen selbsterklärend aus. So erzeugt das Snapshot-Icon beispielsweise einen Screenshot als BMP-Datei. Als besonders nützlich erweist sich die sogenannte Suspend-Funktion: Hier speichert Bochs seinen Zustand in ein Verzeichnis. Beim nächsten Start können Sie dann den Bootvorgang überspringen und sofort an der Stelle weitermachen, an der Sie die Session vorher angehalten haben.



