Beim herumexperimentieren mit
QEmuManager ist mir eine Funktion aufgefallen, die Q nicht bietet. Es ist möglich physikalische Festplatten anstatt eines Festplatten-Images zu verwenden. Wenn dass möglich ist, kann man dann ein OS/2 unter
QEmuManager auf einer Festplatte installieren und diese dann in einen
reellen PC einbauen, der dann das installierte System bootet?
Als ersten Versuch habe ich darum eine IDE-Festplatte über ein externes USB 2.0 IDE- Festplattengehäuse mit dem PC verbunden, unter
QEmuManager einen virtuellen PC mit physikalischer Festplatte erzeugt und DOS installiert. Die physikalische USB Festplatte lässt sich im entsprechenden Auswahlmenü auswählen, sobald sie mit dem PC verbunden wurde. DOS wurde nun von einem Disketten-Image gebootet und ich konnte mit
FDISK eine Partition auf der Festplatte anlegen. Nach dem notwendigen
reboot von DOS kann man dann diese Festplatte mit FORMAT C:/S formatieren und
bootfähig machen. Ein Booten von dieser Festplatte ist dann
anschließend unter
QEmuManager ohne Probleme möglich.
Anschließend habe ich die IDE-Festplatte aus dem externen USB-Gehäuse entnommen und über den IDE-Anschluss an meinen alten Pentium 200 PC angeschlossen. Dieser erkannte die Festplatte sofort, wollte das installierte DOS aber nicht booten. Was war falsch gelaufen?
Das Problem ist, dass unterschiedliche IDE-Controller die Festplatte mit unterschiedlicher Geometrie ansprechen. Moderne Betriebssystem arbeiten bei Festplatten mit
LBA der
Large Block
Allocation. Hierbei bekommt jeder 512KB-Block der Festplatte eine eindeutige Nummer zugewiesen. Die Geometrie der Festplatte spielt bei älteren Betriebssystem (wie DOS und OS/2) eine wichtige Rolle. Hier wird ein Datenblock auf der Festplatte durch
Cylinder,
Head und
Sector (
CHS) adressiert. Die Anzahl der Zylinder, Köpfen und Sektoren legt aber der IDE-Controller beim erkennen der Festplatte fest. Solange der IDE-Controller nicht gewechselt wird, ist dies nicht weiter tragisch.
Schließt man aber die Festplatte an einen anderen IDE-Controller an der der eine andere
CHS Geometrie verwendet, kann das Betriebssystem von dieser Platte nicht mehr richtig booten.
Die Lösung zu diesem Problem ist, die Festplatte auf dem Ziel-System zu partitionieren und zu formatieren.
Schließt man die Festplatte nun über einen USB-IDE-Controller an einen PC an, erkennt der Controller bzw. das
Host-Betriebsystem (
Windows XP, Linux,
MacOS X), dass sich schon eine gültige
Partitionstabelle auf der Festplatte befindet und verwendet die dort angegebene Geometrie. Das gleiche Problem hat man
übrigens auch bei der Verwendung von
Compact-
Flash Karten als Festplattenersatz. Auch hier sollte man die CF-Karte auf dem Zielsystem partitionieren.