Solarisx86-Partition nicht mehr ansprechbar

AntonA

Cadet 1st Year
Registriert
Aug. 2007
Beiträge
9
Hallo liebe Leute,

sorry für den langen Artikel, aber ich habe ein Problem der etwas abgefahrenen Art und brüte schon etwas länger drüber...

Also mein Rechner hat 2 Festplatten eingebaut und es sind folgende Betriebssysteme installiert (Fragt jetzt nicht warum so viele, das ist eher ein "proof-of concept":p)

Code:
Disk /dev/hdc: 122.9 GB, 122942324736 bytes
255 heads, 63 sectors/track, 14946 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System			Anm.
/dev/hdc1   *           1        2550    20482843+   c  W95 FAT32 (LBA)		Windows
/dev/hdc2            2551        5100    20482875   83  Linux			Fedora-Linux
/dev/hdc4            5101       14946    79087995    f  W95 Ext'd (LBA)		erw. Partition
/dev/hdc5            5101       12750    61448593+   7  HPFS/NTFS		NTFS-Datenpartition
/dev/hdc6           12751       12888     1108453+  82  Linux swap / Solaris	Linux-Swap für alle Linux
/dev/hdc7           12889       13526     5124703+  83  Linux			Ubuntu-Linux
/dev/hdc8           13527       14946    11406116   83  Linux			Suse

Disk /dev/hdd: 122.9 GB, 122942324736 bytes
255 heads, 63 sectors/track, 14946 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System			Anm.
/dev/hdd1   *           1        2811    22579326   a5  FreeBSD			FreeBSD
/dev/hdd2            2812        5199    19181610   83  Linux			Debian
/dev/hdd3            5200        7111    15358140   bf  Solaris			Solaris  <===Problem
/dev/hdd4            7112        9660    20474842+   5  Extended		erw. Partition
/dev/hdd5            7112        9660    20474811   83  Linux			OpenSuse

Mein Problem besteht auf der zweiten Festplatte mit der Solaris-Partition:
Bis vor kurzen ging der Bootvorgang mit grub aller Bestriebssysteme ohne Probleme
Seit kurzem wird allerdings die Solaris Partition nicht mehr gefunden.
Ich habe nun die HD schon mit allen möglichen Tools untersucht, bekomme allerdings sehr verwirrende Infos.

Die Analyse mit testdisk 6.7 brachte zuerst folgende Info (Bild1)
Hier verstehe ich schon mal nicht wieso hier die Solaris-Partition 2x auftaucht.

Nach drücken von [proceed] ergab sich folgendes Bild: (Bild2)
Hier wird anscheinend die Solaris-Part als BSD "erkannt" oder wie kann ich die Info verstehen?(Bild3)

Die tiefergehende Analyse ergab dann folgendes Ergebnis (Bild4) und schließlich das (Bild5)

Also hier kann nun etwas nicht mehr stimmen, da die letzte angezeigte "Linx swap" Partition nicht existiert (diese liegt auf der 1. Festplatte)

Ich habe die Vermutung, daß irgendwie die Zuordnung der Partitionsgrenzen der Solaris-Partition nicht mehr zu dem Eintrag im MBR übereinstimmen. Auch wenn ich Solaris von DVD boote wird diese Partition nicht erkannt

Aber wenn ich ehrlich bin traue ich mich nicht mit testdisk den MBR code neu zu schreiben, da die Scan-Ergebnisse nicht so richtig mit meiner Festplattengeometrie überein zu stimmen scheinen.

Bin für Ideen dankbar

Grüsse
/A
 

Anhänge

  • 01.jpg
    01.jpg
    50,6 KB · Aufrufe: 277
  • 02.jpg
    02.jpg
    54,9 KB · Aufrufe: 237
  • 03.jpg
    03.jpg
    42,6 KB · Aufrufe: 258
  • 04.jpg
    04.jpg
    52,4 KB · Aufrufe: 236
  • 05.jpg
    05.jpg
    62,5 KB · Aufrufe: 219
Ohne eine Sicherung würde ich nichts probieren, das Problem ist, dass ich keine Tools für Solaris kenne, ich würde also hergehen und per dd zumindest die Partitionen sichern.

Es scheinen sich Partitionen zu überlappen, bzw. liegen welche unter der von FreeBSD und zwar die vierte und fünfte Zeile im letzten Screen. Ich könnte mir vorstellen, dass Du mit change Type (Taste T) im letzten Screen für die Zeilen 3 und 6 (sie sind jetzt als D für deleted markiert) zum Erfolg kommst, die Zeilen werden mit den Cursor-Tasten angewählt, die dritte zu P für primär und die letzte zu L für logisch geändert.

Ich muß aber noch einmal betonen, ohne irgendeine Form der Sicherung würde ich es nicht machen!
 
hast du eventuell einen spiegel laufen? eventuell spinnt der raid controller. hast ja scheinbar 2 mal 2 gleichgroße patitionenhaste mal geguckt ob vielleicht das filesystem kaputt ist und die eventuell den spiegel zurück spielen kannst ?
 
Zuletzt bearbeitet:
Hm, scheint ja kein triviales Problem zu sein.:confused_alt:

@ riod:
Nein ich habe kein RAID System. Die beiden Festplatten sind so aufgeteilt wie ganz oben in dem fdisk-Auszug und hängen ganz normal an einem IDE-Controller als Master und Slave.

@ Mueli:
Das mit dem Überlappen habe ich mir auch schon überlegt. Wobei ich nicht verstehe, dass dann nur eines der Systeme nicht mehr funktioniert. Eigentlich sollten dann die beiden Partitionen die sich überlappen nicht mehr anzusprechen sein, oder?

Bzgl. Sicherung: Schon klar, ich habe ausser einer Untersuchung noch nichts auf der Festplatte gemacht. Warum die Partitionen auf dem Screen als "D" markiert sind, weiß ich auch nicht. Ich habe das jedenfalls nicht angegeben. Das ist der Screen, der sich nach einem [Search deeper] ergibt.

Eines meiner Hauptprobleme ist eigentlich die Interpretation der Testdisk-Ergebnisse, da sich wie schon gesagt die Ergebnisse dem widersprechen was ich mal auf der Festplatte angelegt habe.

Noch jemand andere Ideen?

Kann man eigentlich zwei Unixe (FreeBSD und Solaris) bzw. Solaris und Linux auf einer Platte installieren ohne das Ärger vorprogrammiert ist?
Irgendwo meine ich gelesen zu haben, das sich die Partitionstypen von Solaris und Linux nicht "vertragen".


Gruß

/A
 
Du kannst mehrere Systeme auf einer Disk installieren, da gibt es keine Beschränkungen.

Der letzte Screen ist schon logisch, wenn Du Dir die CHS-Werte betrachtest:

1.Partition von 0 0 1 bis 2810 254 63
2.Partition von 2811 0 1 bis 5198 254 63
3.Partition von 5199 1 1 bis 14752 254 63
4.Partition von 14753 1 1 bis 14945 254 63

Die Partitionen zwischen 3 und 4 aus Screen 4 liegen 'darunter' und sind offenbar Partitionen einer älteren Aufteilung.

Im MBR befindet sich nur die Partitionstabelle der primären Partitionen, max. 4 Stück, wobei eine erweiterte wie eine primäre behandelt wird, die logischen Laufwerke werden nicht in den MBR eingetragen. Jedes logische Laufwerk hat wieder einen Bootsektor mit einer Partitionstabelle, in der das logische Laufwerk selber eingetragen ist und der Zeiger zum nächsten logischen Laufwerk mit wiederum einem Bootsektor und einer Partitionstabelle usw. usw., wie der MBR enthalten die Bootsektoren auch am Ende den Code AA55 (Magic Number) hinter der Partitionstabelle, bei der tieferen Suche wird sich Testdisk daran orientieren und die Einträge davor als Partitionen auswerfen. Wenn man seine Disk schon mehrfach Partitioniert hat können damit u.U. viele Partitionen ausgeworfen werden, das muß man dann versuchen zu interpretieren.
 
Ah ok, das heisst das Programm findet auch noch eventuelle Spuren einer alten ungültigen Partitionierung. (irgendwie logo, sonst wärs ja kein Rettungstool:D)

Das macht die ganze Sache nicht unbedingt einfacher, da ich nun beim besten Willen nicht mehr weiss, welche Partitionierungs-Schemen ich mal auf der Platte hatte. Ich hab da schon viel rumprobiert.
Aber bei meinem Problem hilft mir das nun auch nicht wirklich weiter.
Wenn ich mir meinen ersten Screen anschaue, sollte das aktuelle Schema eigentlich stimmen, die Grenzen entsprechen sich meiner Meinung nach und trotzdem kann ich auf die Solaris-Partition nicht zugreifen.
Weiß jemand warum diese hier mit identischen Ergebnissen doppelt angezeigt wird?

Ich würde ungern diese Partition löschen und das Solaris-System neu aufsetzen, das ist wirklich sehr viel Arbeit und Zeit bis alles wieder anständig läuft.

Gruß und danke für die bisherigen Antworten

/A
 
Dieses doppelt listen, ein und derselben Partition, findet man häufiger und hat nachdem was ich bisher hier im Forum so gesehen habe keinen Einfluß auf die mögliche Wiederherstellung von Partitionen. Man findet machmal bei mehreren logischen Laufwerken in einer erweiterten Partition auch jeweils eine gleichgroße exteded Patition-Zeile, aber machmal auch nur einen Eintrag für sämtliche logischen Laufwerke. Ich habe da auch keine Erklärung für, vielleicht aber Fiona, die schon länger in dem Thema steckt.

Solche Einträge von älteren Partitionierungen findet man geanauso, wie ältere Daten, in Bereichen die man noch nicht wieder überschrieben hat, das sieht man aber auch nur mit Datenrettungssoftware, wenn man die ganze Disk scanned.

Wie sieht es eigentlich aus, wenn Du Linux bootest und dann mit dmesg Dir das kernel-Log ansiehst, die ganzen Massenspeicher werden ja gescanned und man findet dann Informationen zu den einzelnen Geräten und Device-Files. Mit der Option 'force' kann man ja auch korrupte Filessysteme read only mounten, dann wäre ein Test mit dd oder ddrescue evtl. möglich und dann könnte man falls Du nicht anders herankommst auch diese Images mounten, ist bei mir aber auch schon lange her, dass ich damit 'gespielt' habe.

Wenn Du noch etwas retten willst, würde ich mit einer neuen Disk starten, denn die sind ja nun wirlich nicht mehr so teuer, dann könntest Du später auch noch mal probieren etwas wieder herzustellen, wenn das nötig sein sollte.

Was für ein Filesystem verwendet Solaris überhaupt auf der i386-Plattform, ich kenne es nur von Workstations und dann mit LVM, liegt aber auch schon elendig lange her (ich habe vor vielen Jahren mal Multivendor Support gemacht - inkl. IBMs UNIX-Derivat).

Wenn Du von den Partitionen eine löschen willst, brauchst Du eigentlich eine saubere Partitiontabelle, sonst könntest Du nochmehr kaputt machen (kann Dir ja auch mal mit dem Linux fdisk ansehen), wie z.B. die funktionierenden.
 
Die Solaris-Partition wird in der Partitionstabelle doppelt angezeigt.
Hatte leider noch keinen Fall mit Solaris!
Normal ist es ein Hinweis auf den Bootsektor oder Superblock!
Nach bestätigen wird die Partition als FreeBSD angezeigt.
Dieses könnte unter Umständen falsch sein?
Weiß ich nicht genau.
Schaue im Bezug bei Solaris nach, (Handbuch etc.).
Ansonsten kannst du wenn die Partitionen grün angezeigt werden auch T drücken.
Dann kommst du zur Partitionstype-Auswahlliste.
Wenn du dort bei Proceed einfach mit Enter bestätigst, kannst du den Type Solaris durch Eingabe von bf oder Solaris Boot mit be zuweisen.

Auch einfachere Weg, wäre mal in das Menü Advanced in Testdisk zu gehen.
Wie es aussieht, wird die Partition in der Partitionstabelle richtig als Solaris angezeigt.
Siehst du auch direkt bei dem Screen nach bestätigen von Analyse.

Wähle dann im Menü Advanced deine Solaris-Partition aus und gehe auf Boot.
Setze mir davon mal einen Screen.

Viele Grüße

Fiona
 
@ Fiona:
Ich hoffe ich habe Dich jetzt richtig verstanden:
Über [advanced] die Partition auswählen und den Typ ändern ?

Ich kann hier sowohl "be" (boot) als auch "bf" auswählen. be erscheint mir allerdings sinnvoller, da auf der Solaris-Partition ein eigener, angepasster grub-Bootmanager liegt, der das BS startet. Der 'normale' grub tuts hier nicht. Und innerhalb der Partition liegen dann nochmal 8 verschiedene slices.

Ich komme dann bis zu dem angehängten screen. [write] traue ich mich ehrlich gesagt noch nicht.

@ mueli: beim Linux-Booten wird die Solaris Partition nicht erkannt und es wird auch kein block-device dafür erzeugt.
Komischerweise ging das mal. Für BSD bringt Linux beim Booten so was ähnliches wie /dev/hdd1 [hdd5 hdd6 hdd7...] was den einzelnen slices zugeordet ist.
Ich konnte vor dem Fehler sowohl die Solaris als auch die BSD Partitionen unter Linux mounten und lesen.
Solaris benutzt unter x86 das ufs- oder ufs2-Filesystem. Bin ich mir auch nicht mehr ganz sicher.

Gruß
/A
 

Anhänge

  • 06.jpg
    06.jpg
    42,9 KB · Aufrufe: 236
Die Nomenklatur für die Zählweise der Partitionen ist hda1, hda2, hda3 und hda4 für primäre Partitionen, hda5, hda6, hda7 .... hda(x) für die logischen Lafwerke in einer erweiterten Partition (wobei mit hda, hdb, hdc usw. bzw, sda, sdb ... sd(x) die Festplatten hochgezählt werden).
Gemäß PIC1 sind die ersten drei Partitionen primär, der vierte Eintrag ist dann eine erweiterte Partition mit einem logischen Laufwerk. Mich würde schon mal ein Auszug, die Festplatte betreffend, aus dem dmesg dump interessieren.
Hast Du denn mal probiert die Filesysteme zu dumpen (dd if=/dev/hdd3 of=/dev/null bs=1024k - für dd alternativ ddrescue falls durch Lesefehler dd abgebrochen wird). Wenn die Device Files nicht angelegt werden muß / kann man es manuell machen, erfordert natürlich Kenntnisse über minor- und major numbers und ist auch nicht mal so eben auf die Schnelle gemacht. Ob das überhaupt was bringt, hängt allerdings auch von den kernel-messages ab, ich weiß da allerdings bei Solaris auch nicht wie das löppt. Wenn Du das von Linux aus machst, könnte es auch u.U. eine Kernel-Kompilation für UFS Unterstützung bedeuten, da ich nicht weiß, ob der Treiber dafür Bestandteil des Kernels ist (würde mich jedenfalls wundern, wenn Linux generell UFS nicht unterstützen würde). Bei UFS müßte ich aber auch erst einmal nachlesen, wie das genau gestrickt ist!
 
Wenn die Device Files nicht angelegt werden muß / kann man es manuell machen, erfordert natürlich Kenntnisse über minor- und major numbers und ist auch nicht mal so eben auf die Schnelle gemacht. Ob das überhaupt was bringt, hängt allerdings auch von den kernel-messages ab, ich weiß da allerdings bei Solaris auch nicht wie das löppt. Wenn Du das von Linux aus machst, könnte es auch u.U. eine Kernel-Kompilation für UFS Unterstützung bedeuten, da ich nicht weiß, ob der Treiber dafür Bestandteil des Kernels ist (würde mich jedenfalls wundern, wenn Linux generell UFS nicht unterstützen würde). Bei UFS müßte ich aber auch erst einmal nachlesen, wie das genau gestrickt ist!

Ja das manuelle Anlegen habe ich probiert, auch mit minor und major. Anlegen unter Linux hat auch funktioniert, aber das device war nicht ansprechbar. Daher kam ich erst auf die Idee, das mit der Part. irgendwas nicht stimmt.

Und nein, Linux unterstützt von Haus aus nicht UFS, es muß je nach Distri erst in den Kernel einkompiliert werden.

dd probiert ich nachher mal.
Gruß
/A
 
Über [advanced] die Partition auswählen und den Typ ändern ?
Nein da brauchst du nichts machen.
Die Partition wird nur nach der Analyse als FreeBSD angezeigt oder erkannt.

Deine Solaris-Partition steht richtig in der Partitionstabelle.
Daher nur mal auf das Menü Advanced gehen, die Partition markieren und auf Boot oder Superblock gehen.
Davon mal einen Screen.
Hierbei gibt es Infos vom Bootsektor oder Superblock.

Viele Grüße

Fiona
 
Daher nur mal auf das Menü Advanced gehen, die Partition markieren und auf Boot oder Superblock gehen.

Das Menü bietet mir für die Solaris-Partition diese Option nicht an. Nur [type] oder [quit]. S. Screen. Gleiches bei der BSD-Partition. Bei den Linux-PArtitionen gibt es diese Option.
Anbei nochmal die screens für die superblock der beiden Linux-Partitionen.


---------------

@ mueli:
dd der partition auf dev/null funktioniert
Code:
14998+1 records in
14998+1 records out
15726735360 bytes(16GB) copied 382s 411Mb/s

Anbei auch noch die relevanten Auszüge aus dmesg | dump

Code:
Probing IDE interface ide1...
hdc: Maxtor 6Y120L0, ATA DISK drive
hdd: Maxtor 6Y120L0, ATA DISK drive
ide1 at 0x170-0x177,0x376 on irq 15
hdc: max request size: 128KiB
hdc: 240121728 sectors (122942 MB) w/2048KiB Cache, CHS=65535/16/63, UDMA(133)
hdc: cache flushes supported
 hdc: hdc1 hdc2 hdc4 < hdc5 hdc6 hdc7 hdc8 >
hdd: max request size: 128KiB
hdd: 240121728 sectors (122942 MB) w/2048KiB Cache, CHS=65535/16/63, UDMA(133)
hdd: cache flushes supported
 hdd: hdd1 hdd2 hdd3 hdd4 < hdd5 >
 hdd1: <bsd: hdd6 hdd7 hdd8 hdd9 hdd10 hdd11 >
.
.
kjournald starting.  Commit interval 5 seconds
EXT3 FS on hdc2, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting.  Commit interval 5 seconds
EXT3-fs warning: maximal mount count reached, running e2fsck is recommended
EXT3 FS on hdc7, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
NTFS driver 2.1.27 [Flags: R/W MODULE].
NTFS-fs warning (device hdc5): parse_options(): Option iocharset is deprecated. Please use option nls=<charsetname> in the future.
NTFS volume version 3.1.
kjournald starting.  Commit interval 5 seconds
EXT3 FS on hdd2, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting.  Commit interval 5 seconds
EXT3 FS on hdc8, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
ufs_read_super: bad magic number

und kernel.log

Code:
Checking file systems...
fsck 1.39 (29-May-2006)
donedone
Mounting local file systems...
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
debugfs on /sys/kernel/debug type debugfs (rw)
udev on /dev type tmpfs (rw)
devpts on /dev/pts type devpts (rw,mode=0620,gid=5)
/dev/hdc2 on /mnt/fedora type ext3 (rw,noexec,nosuid,nodev)
/dev/hdc7 on /mnt/ubuntu type ext3 (rw,noexec,nosuid,nodev)
/dev/hdc1 on /mnt/winc type vfat (rw,umask=0)
/dev/hdc5 on /mnt/wind type ntfs (ro,noexec,nosuid,nodev,iocharset=iso8859-15,umask=0)
/dev/hdd2 on /mnt/debian type ext3 (rw,noexec,nosuid,nodev)
/dev/hdc8 on /mnt/suse93 type ext3 (rw,noexec,nosuid,nodev)
/dev/hdd1 on /mnt/freebsd type ufs (ro,ufstype=ufs2)
mount: wrong fs type, bad option, bad superblock on /dev/hdd3,
       missing codepage or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so


Grüsse
/A
 

Anhänge

  • 07.jpg
    07.jpg
    42,9 KB · Aufrufe: 240
  • blocksize debian.jpg
    blocksize debian.jpg
    43,5 KB · Aufrufe: 222
  • blocksize opensuse.jpg
    blocksize opensuse.jpg
    43,3 KB · Aufrufe: 224
DD kopiert nur 16GB die PICs weiter oben im Fred zeigen jedoch eine größere Partition (etwa 76GB) an, damit wird man die Partitionen schon mal nicht auf Disk sichern können. das kopierte (Blocks out) passt überhaupt nicht zu den Testdisk Screens?!.
Ist es ein dd von hdd3?

Über
hdd: hdd1 hdd2 hdd3 hdd4 < hdd5 >
hdd1: <bsd: hdd6 hdd7 hdd8 hdd9 hdd10 hdd11 >
muß ich erst einmal nachdenken, die erste Zeile ist das, was ich erwartet hätte, mit der zweiten Zeile kann ich im Moment nichts anfagen.
 
Ja, das war ein dd von hdd3. 16 GB passt allerdings auch nur eingermaßen, da die Part eigentlich 14.6 Gb hat. Eigentlich ein bisschen viel Abweichung für einen Rundungsfehler
Die 76 GB sind wohl die gesamte erweiterte Partition.
Über
hdd: hdd1 hdd2 hdd3 hdd4 < hdd5 >
hdd1: <bsd: hdd6 hdd7 hdd8 hdd9 hdd10 hdd11 >
muß ich erst einmal nachdenken, die erste Zeile ist das, was ich erwartet hätte, mit der zweiten Zeile kann ich im Moment nichts anfagen.

Na da kann ich Dir weiterhelfen: Das ist das UFS-Filesystem, hdd6 - hdd11 sind die einzelnen slices der FreeBSD Partition, /home, /swap, /var etc.
Linux weist hier eigene Block-Devices zu. Lesen kann man unter Linux aber nur hdd1.
Dies Meldung ist sollte eigentlich nach der Aktivierung des ufs-supports des Kernel so ok sein.

Wenn die Solaris-Partition i.O. wäre, würde die Meldung analog lauten:
hdd3: <solaris: hdd 12 ... etc > mit 8 slices
Gruß
A/
 
Das passt aber alles irgendwie nicht zusammen, die Partitionen hdd1, hdd2 und hdd3 sind gemäß Testdisk primäre Partitionen hdd4 ist eine erweiterte mit hdd5 als logischem Laufwerk.
Gemäß Kernel-Log befinden sich hdd6, hdd7, hdd8, hdd9, hdd10 und hdd11 in hdd1 wobei es nur 6 Partitionen wären, evtl. kommt Testdisk auch nicht damit zurecht, aber da könnte wohl Fiona nur etwas zu sagen, denn sie kenn das Tool weitaus besser als meine Wenigkeit.
 
Das passt aber alles irgendwie nicht zusammen,
Wieso passt das nicht zusammen?
die Partitionen hdd1, hdd2 und hdd3 sind gemäß Testdisk primäre Partitionen hdd4 ist eine erweiterte mit hdd5 als logischem Laufwerk.

Genau so soll es auch sein

Gemäß Kernel-Log befinden sich hdd6, hdd7, hdd8, hdd9, hdd10 und hdd11 in hdd1 wobei es nur 6 Partitionen wären, evtl. kommt Testdisk auch nicht damit zurecht, aber da könnte wohl Fiona nur etwas zu sagen, denn sie kenn das Tool weitaus besser als meine Wenigkeit.

Auch das passt, FreeBSD hat bei mir nur die 6 Slices.
Das Problem ist die hdd3, die nicht angesprochen wird.
/A
 
In Post #15 hast Du von 8 Slices in Partition hdd3 geschrieben!

Wenn lediglich das Dateisystem korrupt ist, müßte man es mit /f für forced mounten können, das sollte auch mit dem Image der Partition (nach dd) gehen.
 
In Post #15 hast Du von 8 Slices in Partition hdd3 geschrieben!
Korrekt. hdd3 ist Solaris mit 8 Slices
hdd1 ist FreeBSD mit 6 Slices.
Das Problem besteht nicht für hdd1, sondern für hdd3.
/A
 
Zurück
Oben