Übersicht
Stichwortsuche
History
Versionen
Kategorien
Alle Artikel
Wenn ein neu installiertes Linux mit einem vorhandenen OS/2 koexistieren
soll, müssen die neuen Linux-Partitionen - vor allem die logischen -
zunächst mit OS/2 fdisk
angelegt und danach erst mit Linux
fdisk
in Linux-Partitionen (Typ 0x83) umgewandelt werden.
Andernfalls erkennt OS/2 diese neuen Partitionen u. U. nicht und sieht die Partitionierung als fehlerhaft an :-(
fdisk
begnügt sich bei der Buchführung über die vorhandenen Partitionen (in den
MBRs der Festplatten und den Partitionssektoren der erweiterten und
logischen Partitionen) nicht mit den konventionellen, allgemein
verständlichen Einträgen, sondern nutzt freien Platz in diesen Sektoren zum
Speichern von Zusatzinformationen. Sind diese inkonsistent, so sieht OS/2
fdisk
die Partitionstabelle als fehlerhaft an und verweigert
auch Bootmanager-Dienste. Die fdisk
-Programme anderer
Betriebssysteme pflegen diese Zusatzinformationen natürlich nicht...
Konflikte sind vorprogrammiert.
Dabei sind die Partitionstabellen-Einträge Zeiger mit folgender Bedeutung:
Partitionstabelle in ... | verweist auf ... --------------------------+---------------------------------- erweiterter Partition | Nutzbereich 1. log. Partition | Anfang 2. logische Partition | 2. log. Partition | Nutzbereich 2. log. Partition | Anfang 3. logische Partition | ...... | ...... | letzte log. Partition | Nutzbereich letzte log. Partition
fdisk
nicht direkt
angelegt oder verändert werden; die Anpassung geschieht automatisch beim
Definieren der logischen Partitionen. Die erweiterte Partition geht stets
von der ersten bis zur letzten logischen Partition, ohne freien Platz am
Anfang oder Ende. (Mittendrin können allerdings "Löcher" durch Löschen
von logischen Partitionen erzeugt werden.)
fdisk
eigens
zu definieren. Veränderungen bei logischen Partitionen beeinflussen ihre
Lokation und Größe nicht. (Natürlich können logische Partitionen nur
innerhalb von zusammenhängendem freien Platz in der erweiterten
Partition angelegt werden.)
Die hier beschriebenen Informationen wurden durch "Nachschauen und Deuten", ohne Zuhilfenahme offizieller Dokumentation, gewonnen. Sie sind nach bestem Wissen hier wiedergegeben; irgendwelche Gewährleistung kann jedoch nicht gegeben werden.
Der erste Sektor einer mit OS/2 angelegten erweiterten oder logischen Partition (dabei betreffen die Daten zu Beginn der erweiterten Partition die erste logische P.) enthält über die Partitionstabelle hinaus etwas mehr:
BM-Menu-Bit | 0x180: 00 00 00 00 00 00 00 00-00 00 01 4F 53 32 4D 61 ...........OS2Ma 0x190: 69 6E 74 00 30 30 30 63-31 36 65 30 00 00 00 00 int.000c16e0.... 0x1A0: 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 0x1B0: 00 00 00 00 00 00 00 00-00 00 00 00 00 00 80 01 Partitionstab. ab 0x1BE 0x1C0: 41 16 06 0F FF 11 3F 00-00 00 01 D0 07 00 00 00 (diese log. P.) 0x1D0: C1 12 05 0F FF FF 10 CC-0B 00 80 A0 0F 00 00 00 (nächste log.P.) 0x1E0: 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 0x1F0: 00 00 00 00 00 00 00 00-00 00 00 00 00 00 55 AA(zu sehen mit einem Disk-Editor oder, einfacher, mit Linux
fdisk
, Expert Command x d
).
Deutung:
Offset | Bedeutung ------------------+---------------------------------------------- 0x18A | 01, falls im Bootmanager-Menu ("startbar"), | 00 sonst. | 0x18B bis 0x192 | Name dieser Partition im Bootmanager-Menu: | hier: OS2Maint | 0x194 bis 0x19B | Logische Sektornummer des Anfangssektors | der nächsten logischen Partition | (durchgezählt vom Beginn der Platte ab 0), | und zwar als ASCII-Text(!!) Gibt es keine | nächste, so 00000000.Wenn das oben also etwa der Anfang von
hda6
wäre, hieße das,
dass hda7
bei Sektor 0x000C16E0
der Festplatte beginnt.
Natürlich läßt sich das auch aus den Partitionstabellen selbst
errechnen, aber OS/2 will es eben nochmal extra haben. Warum?
Wir wissen es nicht ...
Linux fdisk
läßt den Bereich vor 0x1BE
natürlich unberührt, und das stört OS/2, wenn ab 0x18A
noch irgendwelcher veraltete Datenmüll steht.
OS/2
Es geht streng nach der physikalischen Anordnung auf der Disk: jede logische Partition zeigt auf ihren "physikalischen Nachfolger", der mit der niedrigsten Zylindernummer hinter ihrem Ende anfängt. Diese Anordnung wird erhalten, auch wenn logische Laufwerke nachträglich erzeugt oder gelöscht werden.
Beispiel:
Zylinder | 300-599 800-1099 1100-1512 Partition | hda5 --> hda6 --> hda7Nach Neuanlegen von 600-799:
Zylinder | 300-599 600-799 800-1099 1100-1512 Partition | hda5 --> hda6 --> hda7 --> hda8Nach Löschen von 800-1099:
Zylinder | 300-599 600-799 1100-1512 Partition | hda5 --> hda6 --> hda7
LINUX
verfährt beim Löschen genauso, aber beim Neuanlegen wird die "Neue" hinten angehängt:
Zylinder | 300-599 800-1099 1100-1512 600-799 Partition | hda5 --> hda6 --> hda7 --> hda8
Nebenwirkung hier im letzten Beispiel: ist hda8
eine Partition
vom DOS-Typ, so wirkt sich die berüchtigte
1024-Zylinder-Grenze (1024_Zylinder.html)
dahingehend aus, daß MS-DOS die hda8
nicht sehen kann,
obwohl sie vollständig unter dieser Grenze liegt. Denn der "Weg" zu
hda8
führt eben durch die Partitionstabelle in hda7
,
und die ist off limits ...
Und eine letzte Anmerkung zum OS/2 Bootmanager:
er belegt viel zu viel Platz auf der Platte!!
Der eigentliche Code ist unter 20kB lang, und dennoch belegt er auf
einer Standardplatte mit 16 heads und 63 Sektoren/Spur ganze
3 Zylinder zu 504 kB!
Nun, einen Zylinder muss er als selbständige Partition wohl bekommen, aber den Rest kann man ihm, etwa mit Linux fdisk, ohne jeden Schaden wegnehmen und anderweitig verbraten! (mehrfach ausprobiert :-) Am besten gibt man ihm den Zylinder 0, denn der ist - wegen der MBR-Spur - um eine Spur kürzer!
Siehe auch:
Stichwörter: OS/2, OS2, BOOTEN, LILO, PARTITIONEN, PARTITIONIEREN
Kategorien:
Andere Betriebssysteme
Feedback willkommen: Send Mail to kgw@suse.de (Geben Sie bitte folgendes Stichwort an: SDB-kgw_os2.partitionen
)
Übersicht
Stichwortsuche
History
Versionen
Kategorien
Alle Artikel