Warp 4.52 - Raetselhafte Probleme mit Partitionen

(DE) System, Installation, Konfiguration, Hardware, Treiber, Netzwerk, Virtualisierung, etc.
(EN) System, Installation, Configuration, Hardware, Drivers, Network, Virtualisation, etc.
baer
Posts: 4
Joined: Fri 28. Sep 2018, 05:54

Warp 4.52 - Raetselhafte Probleme mit Partitionen

Post by baer »

Hallo liebe Leute,

Ich brauche mal wieder Hilfe mit meinem Retro-PC. Die letzten 2 Jahre hat sich nichts getan mit der Kiste, ich hatte genug um die Ohren nachdem unser Haus in Chattanooga am Ostersonntag 2020 von einem Tornado zerstört wurde.
Anyway, mein Retro-PC hat's überlebt und wir leben jetzt in Colorado (keine Tornados hier ;) ) und ich habe wieder Zeit, mich dem Hobby zu widmen.

Mein Retro-PC ist ein alter HP Pavilion von 2000, der mittlerweile ein kleiner Frankenstein geworden ist - der originale Celeron wurde durch einen 1 GHz Pentium III ersetzt, RAM wurde auf 512 MByte aufgebohrt (mehr kann das Motherboard nicht) und die Kontrolle im SCSI Bereich hat jetzt ein Adaptec 29160. Die Festplatte ist immer noch die 137GB Maxtor Atlas IV (aka "the tank").

Ich nutze momentan nur die ersten 8 GByte der Festplatte (der 29160 hat extended BIOS translation enabled, also CHS = 1024/255/63). Die Partitionen sind alle "auf Zylindergrenzen gesetzt" und sehen wie folgt aus:
  • #0: Primär, OS/2 - 2 GByte HPFS
  • #1: Primär, Windows 98 - 5,5 GByte FAT32
  • #2: Erweitert, 512 MByte
Partition #2 enthält eine logische 512 MByte FAT16 Partition, die ich zum lokalen Datenaustausch zwischen OS/2 und Windows 98 nutzen möchte. Unter Windows ist das alles kein Problem, die FAT16 Partition wird als Laufwerk D: angezeigt und kann genutzt werden.

Unter OS/2 passieren ein paar seltsame Dinge:
Beim Start von LVM kriege ich eine Fehlermeldung über Probleme mit den Partitionsdaten, aber keine Details was OS/2 nicht mag.
Die erweitere Partition mit der FAT16 Partition wird im LVM überhaupt nicht angezeigt, als wenn sie gar nicht existiert.
Die primäre Windows Partition wird angezeigt, mit FAT32 als Detailinfo, aber trotzdem "unknown". Das verstehe ich, mein OS2DASD ist sicherlich "FAT32 blind".

Nun meine Fragen:
Was muss ich tun, damit ich auf Partition #2 und die darin enthaltene FAT16 Partition zugreifen kann? Es spielt übrigens keine Rolle, die diese Partitionen als "lba" oder "nicht lba" in der Partitionstabelle stehen. Habe beide Varianten ausprobiert.
Meine zweite Frage - wenn ich die erweiterte Partition grösser mache, sodass sie die 1024 Zylinder Grenze überschreitet, dann kann OS/2 nicht mehr booten - selbst wenn ich enthaltene FAT16 Partition lasse wie sie ist und den Rest der erweiterten Partition leer lasse.

Mein OS2DASD ist vom 28.06.2002 und hat 37467 Bytes, LVM.EXE ist vom 16.10.2001 und hat 92878 Bytes.

Ich würde wirklich gerne die logische FAT16 Partition zum lokalen Datenaustausch benutzen. Was den Sprung über die 1024 Cylinder Grenze betrifft, da würde ich mir - wenn es keine andere Lösung gibt - schon was programmieren, um unter Windows 98 die Partitionstabelle zu patchen, damit OS/2 dann booten kann. Aber vielleicht weiß ja jemand, ob es neuere Treiber gibt, die das Problem lösen. Ich brauche wirklich keinen Zugriff auf logische Partitionen jenseits der 1024 Zylinder, wenn OS/2 die Grösse der erweiterten Partition wenigstens akzeptieren würde, dann wäre mir schon geholfen.

Viele Grüsse aus Cañon City, Colorado
Baer

User avatar
aschn
Posts: 1363
Joined: Wed 25. Dec 2013, 22:47

Post by aschn »

Wenn man die FAT-Partition mit OS/2 anlegt, dann geht es. DOS/W98 spricht Partitionen anders an.

Ich würd DFSee nehmen um die Partitionsinfo zu ändern und die LVM-Kennung hinzuzufügen.
Andreas Schnellbacher

erdmann
Posts: 502
Joined: Mon 4. Jan 2016, 14:36

Post by erdmann »

Da habe ich so einige Fragen:

1) hat der Retro-PC denn in der Vergangenheit schon mal funktioniert (also ich meine, der Zugriff auf diese diversen Partitionen) ? Wenn ja, was hast du seitdem geändert ?

2) OS2DASD.DMD ist es (in der neuesten Variante, siehe weiter unten) völlig wurscht, welches Dateisystem eine Partition hat. Ob das Dateisystem einer Partition erkannt wird oder nicht hängt lediglich davon ab, ob ein IFS (Dateisystem) Treiber geladen wird, der in der Lage wäre die FAT32 Partition als solche zu erkennen. Das wäre für OS/2 der FAT32.IFS Treiber. Hast du den installiert oder nicht ?

3) Wenn du mit LVM rummachst, heißt das eigentlich auch, dass du die neueste Kombination von OS2LVM.DMD und OS2DASD.DMD einsetzen musst (denn LVM.EXE braucht OS2LVM.DMD unter anderem um beliebige Laufwerksbuchstaben an Partitionen vergeben zu können). Und diese ist im originalen Warp 4 nicht enthalten (du hast womöglich nur den kernel auf Warp 4.52 upgedated). Könntest du also mal das Buildlevel von OS2LVM.DMD und OS2DASD.DMD melden ?
"cd \os2\boot & bldlevel OS2LVM.DMD & bldlevel OS2DASD.DMD"
Die aktuellen Versionen dieser zwei DMD Treiber sind 32-bit bittig (zumindestens weitestgehend).
Das könnte man mit dem "exehdr.exe" Tool aus dem OS/2 Toolkit verifizieren:
"cd \os2\boot & exehdr /V OS2LVM.DMD & exehdr /V OS2DASD.DMD"
Je nachdem, welche memory objects/Segmente von diesem Tool angezeigt werden hast du entweder den 32-bittigen OS2DASD.DMD oder noch den alten 16-bittigen OS2DASD.DMD. Der alte arbeitet ohne OS2LVM.DMD und vergibt Laufwerksbuchstaben nach einer festen Logik, die von der Reihenfolge "primär/erweitert" und dann nach Reihenfolge in der Partitionstabelle abhängt. Das wäre für dein Layout UNTER OS/2:
OS/2 - C:
Windows 98 - D:
Daten Fat16 - E:

Windows 98 wählt stattdessen:
OS/2 - nicht sichtbar, da HPFS
Windows 98 - C:
Daten Fat16 - D:

4) LVM.EXE kann eine Logdatei schreiben. Dazu mal "lvm.exe /help oder lvm.exe /? oder lvm.exe /h" auf einer Kommandozeile eingeben. Da gibt es irgendeinen Parameter mit dem das Logging aktiviert werden kann. Da müsste dann drinstehen, was nicht stimmt. Aber wenn 3) nicht stimmt, dann geht auch 4) eben nicht.

5) Was bedeutet das, dass Partitionen als "lba" oder "nicht lba" in der Partitionstabelle stehen ? In der Partitionstabelle ist solche Info gar nicht vorhanden. Oder meinst du damit die verschiedenen Partitionstypen von "FÁT16" (also 0x04, 0x06, 0x0E) ? Die haben aber nicht direkt etwas mit "lba" zu tun sondern eher damit, wie groß die Partition ist. Es ist in jedem Fall nie falsch den FAT16 Partitionstyp zu wählen, der die größte Partitionsgröße bedienen kann (also 0x0E). Der kann auch mit Partitionen umgehen für die noch 0x06 oder auch 0x04 reichen würde.

Mein ggw. Bauchgefühl ist, dass du gar nicht OS2LVM.DMD und (den neuesten) OS2DASD.DMD installiert hast und deshalb LVM.EXE auch gar nicht richtig funktionieren kann.

baer
Posts: 4
Joined: Fri 28. Sep 2018, 05:54

Post by baer »

aschn wrote:
Mon 25. Jul 2022, 11:08
Wenn man die FAT-Partition mit OS/2 anlegt, dann geht es. DOS/W98 spricht Partitionen anders an.
Ich würd DFSee nehmen um die Partitionsinfo zu ändern und die LVM-Kennung hinzuzufügen.
Ja klar, das hab' ich doch glatt vergessen! :oops: Ich hatte die erweiterte Partition und die darin enthaltenen logischen Laufwerke mit GParted (live CD) angelegt und so hatten die logischerweise keine LVM Kennung. Alles gelöscht und unter LVM neu angelegt und schon funzt es! LVM hat mit der Plattengröße von 137 GB offensichtlich kein Problem, lediglich eine erweiterte Partition (die man unter LVM für sich selbst gar nicht anlegen kann weil sie automatisch angelegt / geändert wird wenn logische Partitionen angelegt / geändert werden) ohne LVM Info bringt LVM zur Verzweiflung. Herzlichen Dank!


erdmann wrote:
Mon 25. Jul 2022, 17:18
Da habe ich so einige Fragen:

1) hat der Retro-PC denn in der Vergangenheit schon mal funktioniert (also ich meine, der Zugriff auf diese diversen Partitionen) ? Wenn ja, was hast du seitdem geändert ?
Bisher nur die zwei ersten primären Partitionen, OS/2 und Windows 98. Der Rest der Festplatte war unbenutzt. Neu ist jetzt die erweiterte Partition mit logischen Partitionen - FAT16, Linux SWAP und Linux ext4).
erdmann wrote:
Mon 25. Jul 2022, 17:18
2) OS2DASD.DMD ist es (in der neuesten Variante, siehe weiter unten) völlig wurscht, welches Dateisystem eine Partition hat. Ob das Dateisystem einer Partition erkannt wird oder nicht hängt lediglich davon ab, ob ein IFS (Dateisystem) Treiber geladen wird, der in der Lage wäre die FAT32 Partition als solche zu erkennen. Das wäre für OS/2 der FAT32.IFS Treiber. Hast du den installiert oder nicht ?
Nein, will ich auch nicht, ich versuche immer tunlichst zu vermeiden, dass ein Betriebssystem auf der Systempartition eines anderen Systems rumbastelt.
erdmann wrote:
Mon 25. Jul 2022, 17:18
3) Wenn du mit LVM rummachst, heißt das eigentlich auch, dass du die neueste Kombination von OS2LVM.DMD und OS2DASD.DMD einsetzen musst (denn LVM.EXE braucht OS2LVM.DMD unter anderem um beliebige Laufwerksbuchstaben an Partitionen vergeben zu können). Und diese ist im originalen Warp 4 nicht enthalten (du hast womöglich nur den kernel auf Warp 4.52 upgedated). Könntest du also mal das Buildlevel von OS2LVM.DMD und OS2DASD.DMD melden ?
"cd \os2\boot & bldlevel OS2LVM.DMD & bldlevel OS2DASD.DMD"
Die aktuellen Versionen dieser zwei DMD Treiber sind 32-bit bittig (zumindestens weitestgehend).
Das könnte man mit dem "exehdr.exe" Tool aus dem OS/2 Toolkit verifizieren:
"cd \os2\boot & exehdr /V OS2LVM.DMD & exehdr /V OS2DASD.DMD"
Je nachdem, welche memory objects/Segmente von diesem Tool angezeigt werden hast du entweder den 32-bittigen OS2DASD.DMD oder noch den alten 16-bittigen OS2DASD.DMD. Der alte arbeitet ohne OS2LVM.DMD und vergibt Laufwerksbuchstaben nach einer festen Logik, die von der Reihenfolge "primär/erweitert" und dann nach Reihenfolge in der Partitionstabelle abhängt. Das wäre für dein Layout UNTER OS/2:
OS/2 - C:
Windows 98 - D:
Daten Fat16 - E:

Windows 98 wählt stattdessen:
OS/2 - nicht sichtbar, da HPFS
Windows 98 - C:
Daten Fat16 - D:
Siehe oben, mein Kardinalfehler war dass ich die Partitionen eben nicht mit LVM (oder DFsee) angelegt hatte und daher die LVM Informationen fehlten. LVM scheint wohl aktuell zu sein, ist aber schnell beleidigt, wenn logische Partitionen ohne LVM Kennungen vorhanden sind.
erdmann wrote:
Mon 25. Jul 2022, 17:18
4) LVM.EXE kann eine Logdatei schreiben. Dazu mal "lvm.exe /help oder lvm.exe /? oder lvm.exe /h" auf einer Kommandozeile eingeben. Da gibt es irgendeinen Parameter mit dem das Logging aktiviert werden kann. Da müsste dann drinstehen, was nicht stimmt. Aber wenn 3) nicht stimmt, dann geht auch 4) eben nicht.

5) Was bedeutet das, dass Partitionen als "lba" oder "nicht lba" in der Partitionstabelle stehen ? In der Partitionstabelle ist solche Info gar nicht vorhanden. Oder meinst du damit die verschiedenen Partitionstypen von "FÁT16" (also 0x04, 0x06, 0x0E) ? Die haben aber nicht direkt etwas mit "lba" zu tun sondern eher damit, wie groß die Partition ist. Es ist in jedem Fall nie falsch den FAT16 Partitionstyp zu wählen, der die größte Partitionsgröße bedienen kann (also 0x0E). Der kann auch mit Partitionen umgehen für die noch 0x06 oder auch 0x04 reichen würde.

Mein ggw. Bauchgefühl ist, dass du gar nicht OS2LVM.DMD und (den neuesten) OS2DASD.DMD installiert hast und deshalb LVM.EXE auch gar nicht richtig funktionieren kann.
Ebenfalls siehe oben, aber herzlichen Dank für Deine ausführliche Beschreibung.

Nachdem ich nun soweit bin, dass ich Partitionen anlegen und nutzen kann und Linux auf die Kiste mit drauf soll (als Plattform für diverse "andere" Emulatoren, z.Bsp. Atari 800), habe ich mir in den Kopf gesetzt, den Linux grub Bootloader in den MBR der Festplatte zu installieren und dabei die LVM Kennungen der primären Partitionen zu erhalten, damit OS/2 beim Booten nicht die Krise kriegt. Ich denke, dass ich einer Lösung sehr nahe bin. Wir werden sehen. LVM und grub zerschiessen sich gegenseitig weil sie immer den kompletten ersten Track der Festplatte schreiben anstatt nur das zu schreiben, was sie schreiben sollten.

Auf alle Fälle erstmal herzlichen Dank!

Baer

User avatar
aschn
Posts: 1363
Joined: Wed 25. Dec 2013, 22:47

Post by aschn »

baer wrote:
Tue 26. Jul 2022, 07:29
den Linux grub Bootloader in den MBR der Festplatte zu installieren
Meine Erfahrung ist, dass das nicht funktioniert. Grub muss in die Partition installiert werden. Es gab Linux-Versionen, mit denen das nicht mehr möglich war. Also viel lesen.
Andreas Schnellbacher