partitionstabelle defekt - wie reparieren?

M

mogliii

Grünschnabel
Hallo,

ich habe einen Laptop mit 30 GB Festplatte. Ich habe WinXP und Kubuntu 5.10 installiert. Die Partitionstabelle sah in etwa folgendermassen aus: (alle bis auf /dev/hda1 habe ich bei der Kubuntu Installation mit dem partitionierer der automatisch gestartet wird, durchgeführt)

/dev/hda1 8,5 GB prim ntfs WinXP
/dev/hda2 5 GB prim ext3 /

/dev/hda4 15 GB extended
/dev/hda5 1 GB logical vfat (fat32)
/dev/hda6 0,5 GB logical swap
/dev/hda7 13,5 GB logical ext3 /home

Dann habe ich mein System verwendet und mir ist aufgefallen, dass Daten, die ich unter Win auf hda5 schreibe, unter linux existieren. Wenn ich allerdings unter Linux schreibe, existieren diese nicht in Windows. Wenn ich dann aber wieder Linux starte, sind sie doch da.

Dann habe ich eben gedacht: stimmt wohl was nicht und habe mit dem WinXP Datenträgerverwaltung die Fat Partition gelöscht. Aber das Resultat war relativ unerwartet. Denn in der extended partition waren
600mb unbenutzt
13,5 Gb /home
240GB unbenutzt
605GB benutzt und bereit, aber kein Laufwerksbuchstabe
(die GB stimmen. Ich habe mich nicht vertippt)

Dann war ich verdutzt und habe mal mit linux gestartet. Und beim start kam folgende Meldung (sorry, habe englisches Linux installiert):
Code:
fsck.ext3: No such file or directory while trying to open /dev/hda7
/dev/hda7:
The superblock could not be read or does not describe a correct ext2 
filesystem. If the device is valid and it really contains an ext2 filesystem 
(and not swap or ufs or something else), then the superblock is corrupted 
and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>

habe ich getan aber es kommt folgende Fehlermeldung:
Code:
e2fsck: Bad magic number in super block while trying to open /dev/hda

Dann habe ich ihn weiterbooten lassen, und es tut alles, er versucht KDE zu laden aber bringt dann eine Fehlermeldung. Jedenfalls kann ich zu einer Konsole wechseln, mich dort einloggen, mit dem Internet verbinden und alles. Aber /home ist leer.

Dann habe ich verschiedene andere Programme versucht:
fdisk - startet nicht
cfdisk - bring Fatal Error
parted - konnte eine Liste von Partitionen bekommen, allerdings habe ich mehrere male (I)gnore drücken müssen. (Ausgabe weiter unten)
sfdisk - konnte ich mit sonderoptionen überreden, mir eine liste auszuspucken. folgt weiter unten

parted output:
Code:
Minor              Start         End           Type         Filesystem           Flags
1       0.031                 8578.828            prim           ntfs      boot
2       8581.597           13750.949          prim           ext3
3       13750.950        28615.781          extend        
5       13750.980        14378.488          log             fat32
6       14378.520        27627.407          log             ext3

sfdisk output:

Disk /dev/hda: 62016 cylinders, 15 heads, 63 sectors/track
Units = sectors of 512 bytes, counting from 0

   Device Boot    Start       End   #sectors  Id  System
/dev/hda1   *        63  17569439   17569377   7  HPFS/NTFS
/dev/hda2      17575110  28161944   10586835  83  Linux
/dev/hda3      28161945  58605119   30443175   5  Extended
/dev/hda4             0         -          0   0  Empty
/dev/hda5      28162008  29447144    1285137   b  W95 FAT32
/dev/hda6      29447208  56580929   27133722  83  Linux

Weitere Informationen:

Ich habe unter Windows IFS Drives installiert (Win ext2/3 Treiber). Damit kann ich problemlos auf die /home partition zugreifen.
================
Lange Rede kurzer Sinn: Wie bekomme ich meine Partitionstabelle wieder auf Vordermann? soll ich mit parted die Tabelle komplett löschen und dann Minor 1,2,3,6 erstellen? Oder was schlagt ihr vor.
 
benutzt du grub?

wenn ja, starte den und lass den mbr neu schreiben.
welche kommandos du da verwenden musst kann ich dir nicht mehr aus dem stehgreif sagen, aber wofür gibt es man-pages?....:-)

müsste mit jedem anderen boot-manager auch gehen, hab sowas aber bisher nur mit grub gemacht.
 
Hallo
Dein M$ hat auf elegante Weise die Swappartition entfernt.
Typisch, was nicht erkannt wird existiert für M$ nicht.

Wenn du per cfdisk in den freien Bereich (unten rot gekennzeichnet) hinter der fat Partition eine neue Swap erstellst, könnte es wieder klappen.
Erstell also genau in den freien Bereich eine Partition und erzeuge mit mkswap
deine Swap-Partition neu.

Code:
[b]
/dev/hda5      28162008  [color=red]29447144[/color]    1285137   b  W95 FAT32
/dev/hda6      [color=red]29447208[/color]  56580929   27133722  83  Linux
[/b]

Warum das komische M$ Verwaltungsdinsda vor der FAT Platz gelassen hat, vermag ich nicht zu sagen.
Fakt ist, dass durch die fehlende Swap natürlich deine Partitionsaufteilung nicht mehr mit der fstab übereinstimmt.
Grub wird da nicht helfen.

Wenn du auf die Daten der FAT verzichten kannst, dann lösch diese und erstell beide neu. Du solltest allerdings nicht in den Bereich der ext3 geraten!
HTH
Gruß Wolfgang
 
es besteht hoffnung

Hallo,

es ist alles nicht ganz so schlimm, wie es für mich aussah:

Ich habe gerade festgestellt, dass dadurch, dass ich partitionen gelöscht habe, sich die hda* nummern verändert haben. (Die Fat partition, die im ersten Beitrag gelistet ist, habe ich nach dem Auftreten des Fehlers erstellt und entspricht somit nicht der vorherigen partitionstabelle.

d.h. ich habe für den /home mountpunkt die richtige Partition ausgewählt und siehe da, ich kann darauf zugreifen und Linux startet normal ohne Fehler.

Einzige Probleme die bleiben:
1) Ich habe keine /swap Partition
2) fdisk kann die partitionstabelle immer noch nicht lesen und bringt einen Fehler.

Soo, dann habe ich noch etwas mit sfdisk gegraben und bin nun zur folgenden Partitionstabelle gekommen:

Code:
device	    boot	start		end		#sec		system	         MB
/dev/hda1   yes	              63	17569439	17569377	HPFS/NTFS	 8579
/dev/hda2		17575110	28161944	10586835	ext3 (/)	 5170
/dev/hda3		28161945	58605119	30443175	extended	14865
empty			*		*		*				  628
/dev/hda5|6**	        29447208	56580929	27133722	ext3 /home	13249
empty			*		*		*				  988

* genaue werte kann ich nicht sagen, da ja Partitionen immer an neuen cylindern starten müssen?!
** ändert sich wohl je nachdem ob die partition davor existiert oder nicht

Hinweis: Was ich im ersten Post geschrieben habe hat wohl nicht gestimmt. Das war nicht wirklich die Situtation vor dem Fehler.

Vorher muss gewesen sein: Dass vor der /home die /swap war, und nach der /home die Fat32.

=========

Da ich jetzt meine Systeme normal starten kann (Linux tut, ruhezustand nicht da /swap fehlt) pressiert es nicht so enorm. Morgen habe ich Zeit und Zugang zu einer externen HD, und ich werde mit dd Backups von /home und / machen.

Habe nur irgendwo gelesen, dass die festplatte, von der man sichert, nicht gemountet sein darf? Ist schwierig mit / . Oder muss ich mit soetwas wie Knopix booten?

Kann man mit Linux auch die NTFS Partition sichern?

Aber es bleibt immer noch die Frage, wie ich nun intelligent und ohne die WinXP partition zu zerstören, die Partitionstabelle in Odnung bekomme. Jemand eine Idee?
 
Zuletzt bearbeitet:
Nachruf

hmm... wie soll ich sagen...

Ich will hier keine Hilfe, ich will Mitleid :D

Also, was ist passiert: Ich habe mit Knoppix und partimage (dd-backup tool, welches unbenutzten Raum nicht mitsichert und Komprimierung erlaubt) Backups von meiner Windows-Partition, Rootpartition und Homepartition gemacht. D.h. ich dachte, ich bin sicher.

Als nächstes habe ich TestDisk laufen lassen, und siehe da, er hat hda1, hda2, hda3 und die /home partition richtig erkannt. Habe ihn also eine neue partitionstabelle nur mit diesen Paritionen schreiben lassen und neu gebootet. Und siehe da, es ging.

Aber: Ich hatte immer noch kein /swap und keine Fat32 partition

Tabelle sah wie folgt aus
Code:
/dev/hda1    8.5 GB   WinXP
/dev/hda2    5 GB     Linux root
/dev/hda3    15 GB    WIN95 ext (LBA)
free         600 MB   ehemals /swap
/dev/hda5    13 GB    Linux home
free         1 GB     ehemals Fat32

Also habe ich fdisk in Linux verwendet, und habe in den ersten freien Raum eine neue partition erstellt für /swap. Als ich damit fertig war, wurde die neue partition von
Code:
fdisk -l /dev/hda
mit /dev/hda6 hinter der home partition angegeben...

hmm. hat mich gewundert, aber ich dachte das Tool wird schon recht haben. Bei einem M$ tool hätte ich da schon eher bedenken. Also habe ich mal munter
Code:
mkswap /dev/hda6
eingegeben.

War sehr lange beschäftigt, und dann ist es mir schon gekommen, dass er wohl gerade 13 GB swap erstellt...Und dem war auch so. /home war zerstört.

Dann habe ich wieder mit Knoppix gebootet und wollte das image wiederherstellen. Nur als ich partimage gestartet habe, sagt er nicht möglich weil das archiv beschädigt ist!!! Und tatsächlich, auch unter WinRAR zeigt er mir bei dem 6 GB großen archiv, dass es 3 GB entpackt ist, und nach dem entpracken waren es sogar nur 1.3 GB...
-> /home zerstört!

Aber, ich möchte sagen, dass es nicht so schlimm ist. Denn ich war noch nicht mit meinen persönlichen Daten auf Linux umgestiegen. D.h. effektiv habe ich nur meine .KDE einstellungen verloren, ein paar bookmarks, aber ich verwende www.magadoo.de, ein paar kompilierte Programme und sonst nichts wichtiges.

Aber: Wieso hat fdisk die Reihenfolge falsch angezeigt. Und es lag nicht! am fehlenden Neustart. Denn nach einem neustart hat mir fdisk immer noch die /swap nach der /home angezeigt! Ist das ein bekannter bug, dass man die Partitionen nur in Reihenfolge erstellen darf?

Der stand momentan ist jedenfalls, dass ich neu partitioniert habe und eigentlich alles soweit betriebsbereit ist.

Und dann habe ich noch etwas anderes festgestellt: Daten, die unter Linux auf eine Fat32 partition geschrieben wurden sind unter WinXP nur verfügbar, wenn man neu startet! Ich bin aber immer in den Ruhezustand gegangen. Aber wieso?? Und kann man das irgendwo in Win einstellen, dass er den Diskinhalt immer "richtig" ausliest?

Gruß Und danke für die Hilfe bei diesem heiklen Thema
 
Hallo
Der Bug saß wie fast immer 0,5m vor dem Bildschirm! ;)

Logischerweise wird die /dev/hda5 zur hda6, wenn du in dem freien Bereich davor eine Partition erstellst. Die erstellte Partition wird dann nämlich zur hda5.
Mit cfdisk hättest du das sicher gesehen, und bei etwas genauer Überlegung auch richtig gemacht.

Was dein Problem mit WinXP angeht, solltest du besser mal in einem einschlägigen Forum für M$ nachfragen, da es nichts mit Linux zu tun hat.

Gruß Wolfgang
 
Kein Mitleid? :(

Aber eine gute Sache hat das ja... Ich werde den Fehler nicht nochmal machen.

/mogliii schaut verlegen auf den Boden...
 

Ähnliche Themen

SSD auf einen (geringfügig) kleineren USB-Stick wiederherstellen

Bootloader nach update weg

Neue Partition unter openSUSE 12.2 erstellen

USB Festplatte wird nicht erkannt

Grub kann Win7 nicht starten

Zurück
Oben