Partitionstabelle wiederfinden

Gnurzel

Cadet
Mitglied seit
08.06.2010
Beiträge
22
Renomée
1
Hallo zusammen,

ich habe gestern in wirklich vollständiger geistiger Umnachtung die Partitionierung meiner Festplatte zerstört und danach wirklich alles falsch gemacht, was ich hätte falsch machen können. Fakt ist heute, die Partitionierung ist erst einmal weg, der Rechner neu gebootet und ich habe keine Ahnung wo welche Partition anfängt und aufhört. Auf die Festplatte habe ich seitdem nur lesend zugegriffen.

Ich habe mit gpart schon einmal drei primäre Partitionen wiedergefunden. Leider sind das "nur" eine ex-Windows-Partition und zwei Linux-Root-Partitionen. Die wirklich interessanten fehlen. Ich suche noch nach einer großen externen Partition auf der die wirklichen Nutzdaten liegen. Falls es von Bedeutung ist, hier der Auszug aus gpart:

Code:
gpart -vvfn s -ql /tmp/gpart.log /dev/sda

dev(/dev/sda) mss(512) chs(60801/255/63)(LBA) #s(976768065) size(476937mb)
Primary partition(1)
   type: 131(0x83)(Linux ext2 filesystem) (BOOT)
   size: 47mb #s(96327) s(63-96389)
   chs:  (0/1/1)-(5/254/63)d (0/1/1)-(5/254/63)r
   hex:  80 01 01 00 83 FE 3F 05 3F 00 00 00 47 78 01 00

Primary partition(2)
   type: 131(0x83)(Linux ext2 filesystem)
   size: 19077mb #s(39070080) s(96390-39166469)
   chs:  (6/0/1)-(1023/254/63)d (6/0/1)-(2437/254/63)r
   hex:  00 00 01 06 83 FE FF FF 86 78 01 00 80 29 54 02

Primary partition(3)
   type: 012(0x0C)(DOS or Windows 95 with 32 bit FAT, LBA)
   size: 19069mb #s(39054015) s(39166470-78220484)
   chs:  (1023/254/63)-(1023/254/63)d (2438/0/1)-(4868/254/63)r
   hex:  00 FE FF FF 0C FE FF FF 06 A2 55 02 BF EA 53 02

Primary partition(4)
   type: 000(0x00)(unused)
   size: 0mb #s(0) s(0-0)
   chs:  (0/0/0)-(0/0/0)d (0/0/0)-(0/0/0)r
   hex:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00


Begin scan...
Possible partition(Linux ext2), size(47mb), offset(0mb)
   type: 131(0x83)(Linux ext2 filesystem)
   size: 47mb #s(96320) s(63-96382)
   chs:  (0/1/1)-(5/254/56)d (0/1/1)-(5/254/56)r
   hex:  00 01 01 00 83 FE 38 05 3F 00 00 00 40 78 01 00

Possible partition(Windows NT/W2K FS), size(0mb), offset(10mb)
   type: 007(0x07)(OS/2 HPFS, NTFS, QNX or Advanced UNIX)
   size: 0mb #s(1) s(21772-21772)
   chs:  (1/90/38)-(1/90/38)d (1/90/38)-(1/90/38)r
   hex:  00 5A 26 01 07 5A 26 01 0C 55 00 00 01 00 00 00

Possible partition(Windows NT/W2K FS), size(0mb), offset(10mb)
   type: 007(0x07)(OS/2 HPFS, NTFS, QNX or Advanced UNIX)
   size: 0mb #s(1) s(21783-21783)
   chs:  (1/90/49)-(1/90/49)d (1/90/49)-(1/90/49)r
   hex:  00 5A 31 01 07 5A 31 01 17 55 00 00 01 00 00 00

Possible partition(Linux ext2), size(19075mb), offset(48mb)
   type: 131(0x83)(Linux ext2 filesystem)
   size: 19075mb #s(39065600) s(98304-39163903)
   chs:  (6/30/25)-(1023/254/63)d (6/30/25)-(2437/214/17)r
   hex:  00 1E 19 06 83 FE FF FF 00 80 01 00 00 18 54 02

Possible partition(DOS FAT), size(19069mb), offset(19124mb)
   type: 012(0x0C)(DOS or Windows 95 with 32 bit FAT, LBA)
   size: 19069mb #s(39054014) s(39166470-78220483)
   chs:  (1023/254/63)-(1023/254/63)d (2438/0/1)-(4868/254/62)r
   hex:  00 FE FF FF 0C FE FF FF 06 A2 55 02 BE EA 53 02

Possible partition(Windows NT/W2K FS), size(13mb), offset(20621mb)
   type: 007(0x07)(OS/2 HPFS, NTFS, QNX or Advanced UNIX)
   size: 13mb #s(28261) s(42232711-42260971)
   chs:  (1023/254/63)-(1023/254/63)d (2628/220/32)-(2630/159/5)r
   hex:  00 FE FF FF 07 FE FF FF 87 6B 84 02 65 6E 00 00

Possible partition(Linux ext2), size(19077mb), offset(38200mb)
   type: 131(0x83)(Linux ext2 filesystem)
   size: 19077mb #s(39070016) s(78234047-117304062)
   chs:  (1023/254/63)-(1023/254/63)d (4869/215/18)-(7301/214/16)r
   hex:  00 FE FF FF 83 FE FF FF BF C1 A9 04 40 29 54 02

Possible partition(Windows NT/W2K FS), size(13mb), offset(55573mb)
   type: 007(0x07)(OS/2 HPFS, NTFS, QNX or Advanced UNIX)
   size: 13mb #s(28261) s(113813926-113842186)
   chs:  (1023/254/63)-(1023/254/63)d (7084/150/17)-(7086/88/53)r
   hex:  00 FE FF FF 07 FE FF FF A6 A9 C8 06 65 6E 00 00

Possible partition(Linux ext2), size(71523mb), offset(57277mb)
   type: 131(0x83)(Linux ext2 filesystem)
   size: 71523mb #s(146480600) s(117304127-263784726)
   chs:  (1023/254/63)-(1023/254/63)d (7301/215/18)-(16419/214/10)r
   hex:  00 FE FF FF 83 FE FF FF 3F EB FD 06 D8 1D BB 08

Possible partition(Windows NT/W2K FS), size(13mb), offset(106401mb)
   type: 007(0x07)(OS/2 HPFS, NTFS, QNX or Advanced UNIX)
   size: 13mb #s(28261) s(217909670-217937930)
   chs:  (1023/254/63)-(1023/254/63)d (13564/63/42)-(13566/2/15)r
   hex:  00 FE FF FF 07 FE FF FF A6 09 FD 0C 65 6E 00 00

Possible partition(DOS FAT), size(10mb), offset(148191mb)
   type: 001(0x01)(Primary DOS with 12 bit FAT)
   size: 10mb #s(20739) s(303495381-303516119)
   chs:  (1023/254/63)-(1023/254/63)d (18891/182/1)-(18893/1/12)r
   hex:  00 FE FF FF 01 FE FF FF D5 F8 16 12 03 51 00 00

Possible extended partition at offset(162179mb)
   Possible partition(Windows NT/W2K FS), size(13mb), offset(205366mb)
      type: 007(0x07)(OS/2 HPFS, NTFS, QNX or Advanced UNIX)
      size: 13mb #s(28261) s(420590510-420618770)
      chs:  (1023/254/63)-(1023/254/63)d (26180/139/54)-(26182/78/27)r
      hex:  00 FE FF FF 07 FE FF FF AE B3 11 19 65 6E 00 00

   Possible partition(Windows NT/W2K FS), size(13mb), offset(208241mb)
      type: 007(0x07)(OS/2 HPFS, NTFS, QNX or Advanced UNIX)
      size: 13mb #s(28261) s(426478510-426506770)
      chs:  (1023/254/63)-(1023/254/63)d (26547/15/11)-(26548/208/47)r
      hex:  00 FE FF FF 07 FE FF FF AE 8B 6B 19 65 6E 00 00

   Possible partition(Windows NT/W2K FS), size(13mb), offset(230766mb)
      type: 007(0x07)(OS/2 HPFS, NTFS, QNX or Advanced UNIX)
      size: 13mb #s(28261) s(472609710-472637970)
      chs:  (1023/254/63)-(1023/254/63)d (29418/151/28)-(29420/90/1)r
      hex:  00 FE FF FF 07 FE FF FF AE 73 2B 1C 65 6E 00 00

   Possible partition(DOS FAT), size(109mb), offset(343592mb)
      type: 006(0x06)(Primary 'big' DOS (> 32MB))
      size: 109mb #s(223684) s(703676547-703900230)
      chs:  (1023/254/63)-(1023/254/63)d (43801/214/1)-(43815/194/34)r
      hex:  00 FE FF FF 06 FE FF FF 83 40 F1 29 C4 69 03 00

   Possible partition(Windows NT/W2K FS), size(13mb), offset(344722mb)
      type: 007(0x07)(OS/2 HPFS, NTFS, QNX or Advanced UNIX)
      size: 13mb #s(28261) s(705991136-706019396)
      chs:  (1023/254/63)-(1023/254/63)d (43945/233/33)-(43947/172/6)r
      hex:  00 FE FF FF 07 FE FF FF E0 91 14 2A 65 6E 00 00

   Possible partition(Linux swap), size(398mb), offset(366796mb)
      type: 130(0x82)(Linux swap or Solaris/x86)
      size: 398mb #s(815104) s(751198212-752013315)
      chs:  (1023/254/63)-(1023/254/63)d (46759/236/10)-(46810/169/19)r
      hex:  00 FE FF FF 82 FE FF FF 04 60 C6 2C 00 70 0C 00

   Possible partition(Windows NT/W2K FS), size(13mb), offset(370602mb)
      type: 007(0x07)(OS/2 HPFS, NTFS, QNX or Advanced UNIX)
      size: 13mb #s(28261) s(758993376-759021636)
      chs:  (1023/254/63)-(1023/254/63)d (47245/38/58)-(47246/232/31)r
      hex:  00 FE FF FF 07 FE FF FF E0 51 3D 2D 65 6E 00 00

End scan.

Checking partitions...

* Warning: Discarded 5 overlapping partition guesses.

* Partition invalid(too many primary partitions):
   type: 131(0x83)(Linux ext2 filesystem)
   size: 71523mb #s(146480600) s(117304127-263784726)
   chs:  (1023/254/63)-(1023/254/63)d (7301/215/18)-(16419/214/10)r
   hex:  00 FE FF FF 83 FE FF FF 3F EB FD 06 D8 1D BB 08


* Partition invalid(too many primary partitions):
   type: 001(0x01)(Primary DOS with 12 bit FAT)
   size: 10mb #s(20739) s(303495381-303516119)
   chs:  (1023/254/63)-(1023/254/63)d (18891/182/1)-(18893/1/12)r
   hex:  00 FE FF FF 01 FE FF FF D5 F8 16 12 03 51 00 00


* Partition invalid(wrong size, no valid type or (ptbl,link) type mismatch):
   type: 007(0x07)(OS/2 HPFS, NTFS, QNX or Advanced UNIX)
   size: 13mb #s(28261) s(420590510-420618770)
   chs:  (1023/254/63)-(1023/254/63)d (26180/139/54)-(26182/78/27)r
   hex:  00 FE FF FF 07 FE FF FF AE B3 11 19 65 6E 00 00


* Partition invalid(primary partition within extended ptbl link):
   type: 007(0x07)(OS/2 HPFS, NTFS, QNX or Advanced UNIX)
   size: 13mb #s(28261) s(420590510-420618770)
   chs:  (1023/254/63)-(1023/254/63)d (26180/139/54)-(26182/78/27)r
   hex:  00 FE FF FF 07 FE FF FF AE B3 11 19 65 6E 00 00


* Partition invalid(too many primary partitions):
   type: 007(0x07)(OS/2 HPFS, NTFS, QNX or Advanced UNIX)
   size: 13mb #s(28261) s(472609710-472637970)
   chs:  (1023/254/63)-(1023/254/63)d (29418/151/28)-(29420/90/1)r
   hex:  00 FE FF FF 07 FE FF FF AE 73 2B 1C 65 6E 00 00


* Partition invalid(too many primary partitions):
   type: 006(0x06)(Primary 'big' DOS (> 32MB))
   size: 109mb #s(223684) s(703676547-703900230)
   chs:  (1023/254/63)-(1023/254/63)d (43801/214/1)-(43815/194/34)r
   hex:  00 FE FF FF 06 FE FF FF 83 40 F1 29 C4 69 03 00


* Partition invalid(too many primary partitions):
   type: 007(0x07)(OS/2 HPFS, NTFS, QNX or Advanced UNIX)
   size: 13mb #s(28261) s(705991136-706019396)
   chs:  (1023/254/63)-(1023/254/63)d (43945/233/33)-(43947/172/6)r
   hex:  00 FE FF FF 07 FE FF FF E0 91 14 2A 65 6E 00 00


* Partition invalid(too many primary partitions):
   type: 130(0x82)(Linux swap or Solaris/x86)
   size: 398mb #s(815104) s(751198212-752013315)
   chs:  (1023/254/63)-(1023/254/63)d (46759/236/10)-(46810/169/19)r
   hex:  00 FE FF FF 82 FE FF FF 04 60 C6 2C 00 70 0C 00


* Partition invalid(too many primary partitions):
   type: 007(0x07)(OS/2 HPFS, NTFS, QNX or Advanced UNIX)
   size: 13mb #s(28261) s(758993376-759021636)
   chs:  (1023/254/63)-(1023/254/63)d (47245/38/58)-(47246/232/31)r
   hex:  00 FE FF FF 07 FE FF FF E0 51 3D 2D 65 6E 00 00


* Warning: more than 3 primary partitions: 11.
Partition(Linux ext2 filesystem): primary 
   type: 131(0x83)(Linux ext2 filesystem)
   size: 47mb #s(96320) s(63-96382)
   chs:  (0/1/1)-(5/254/56)d (0/1/1)-(5/254/56)r
   hex:  00 01 01 00 83 FE 38 05 3F 00 00 00 40 78 01 00

Partition(Linux ext2 filesystem): primary 
   type: 131(0x83)(Linux ext2 filesystem)
   size: 19075mb #s(39065600) s(98304-39163903)
   chs:  (6/30/25)-(1023/254/63)d (6/30/25)-(2437/214/17)r
   hex:  00 1E 19 06 83 FE FF FF 00 80 01 00 00 18 54 02

Partition(DOS or Windows 95 with 32 bit FAT, LBA): primary 
   type: 012(0x0C)(DOS or Windows 95 with 32 bit FAT, LBA)
   size: 19069mb #s(39054014) s(39166470-78220483)
   chs:  (1023/254/63)-(1023/254/63)d (2438/0/1)-(4868/254/62)r
   hex:  00 FE FF FF 0C FE FF FF 06 A2 55 02 BE EA 53 02

Partition(Linux ext2 filesystem): primary 
   type: 131(0x83)(Linux ext2 filesystem)
   size: 19077mb #s(39070016) s(78234047-117304062)
   chs:  (1023/254/63)-(1023/254/63)d (4869/215/18)-(7301/214/16)r
   hex:  00 FE FF FF 83 FE FF FF BF C1 A9 04 40 29 54 02

Partition(Linux ext2 filesystem): invalid primary 
   type: 131(0x83)(Linux ext2 filesystem)
   size: 71523mb #s(146480600) s(117304127-263784726)
   chs:  (1023/254/63)-(1023/254/63)d (7301/215/18)-(16419/214/10)r
   hex:  00 FE FF FF 83 FE FF FF 3F EB FD 06 D8 1D BB 08

Partition(Primary DOS with 12 bit FAT): invalid primary 
   type: 001(0x01)(Primary DOS with 12 bit FAT)
   size: 10mb #s(20739) s(303495381-303516119)
   chs:  (1023/254/63)-(1023/254/63)d (18891/182/1)-(18893/1/12)r
   hex:  00 FE FF FF 01 FE FF FF D5 F8 16 12 03 51 00 00

   Partition(OS/2 HPFS, NTFS, QNX or Advanced UNIX): invalid logical 
      type: 007(0x07)(OS/2 HPFS, NTFS, QNX or Advanced UNIX)
      size: 13mb #s(28261) s(420590510-420618770)
      chs:  (1023/254/63)-(1023/254/63)d (26180/139/54)-(26182/78/27)r
      hex:  00 FE FF FF 07 FE FF FF AE B3 11 19 65 6E 00 00

Partition(OS/2 HPFS, NTFS, QNX or Advanced UNIX): invalid 
   type: 007(0x07)(OS/2 HPFS, NTFS, QNX or Advanced UNIX)
   size: 13mb #s(28261) s(426478510-426506770)
   chs:  (1023/254/63)-(1023/254/63)d (26547/15/11)-(26548/208/47)r
   hex:  00 FE FF FF 07 FE FF FF AE 8B 6B 19 65 6E 00 00

Partition(OS/2 HPFS, NTFS, QNX or Advanced UNIX): invalid primary 
   type: 007(0x07)(OS/2 HPFS, NTFS, QNX or Advanced UNIX)
   size: 13mb #s(28261) s(472609710-472637970)
   chs:  (1023/254/63)-(1023/254/63)d (29418/151/28)-(29420/90/1)r
   hex:  00 FE FF FF 07 FE FF FF AE 73 2B 1C 65 6E 00 00

Partition(Primary 'big' DOS (> 32MB)): invalid primary 
   type: 006(0x06)(Primary 'big' DOS (> 32MB))
   size: 109mb #s(223684) s(703676547-703900230)
   chs:  (1023/254/63)-(1023/254/63)d (43801/214/1)-(43815/194/34)r
   hex:  00 FE FF FF 06 FE FF FF 83 40 F1 29 C4 69 03 00

Partition(OS/2 HPFS, NTFS, QNX or Advanced UNIX): invalid primary 
   type: 007(0x07)(OS/2 HPFS, NTFS, QNX or Advanced UNIX)
   size: 13mb #s(28261) s(705991136-706019396)
   chs:  (1023/254/63)-(1023/254/63)d (43945/233/33)-(43947/172/6)r
   hex:  00 FE FF FF 07 FE FF FF E0 91 14 2A 65 6E 00 00

Partition(Linux swap or Solaris/x86): invalid primary 
   type: 130(0x82)(Linux swap or Solaris/x86)
   size: 398mb #s(815104) s(751198212-752013315)
   chs:  (1023/254/63)-(1023/254/63)d (46759/236/10)-(46810/169/19)r
   hex:  00 FE FF FF 82 FE FF FF 04 60 C6 2C 00 70 0C 00

Partition(OS/2 HPFS, NTFS, QNX or Advanced UNIX): invalid primary 
   type: 007(0x07)(OS/2 HPFS, NTFS, QNX or Advanced UNIX)
   size: 13mb #s(28261) s(758993376-759021636)
   chs:  (1023/254/63)-(1023/254/63)d (47245/38/58)-(47246/232/31)r
   hex:  00 FE FF FF 07 FE FF FF E0 51 3D 2D 65 6E 00 00

Ok.

Guessed primary partition table:
Primary partition(1)
   type: 131(0x83)(Linux ext2 filesystem)
   size: 47mb #s(96320) s(63-96382)
   chs:  (0/1/1)-(5/254/56)d (0/1/1)-(5/254/56)r
   hex:  00 01 01 00 83 FE 38 05 3F 00 00 00 40 78 01 00

Primary partition(2)
   type: 131(0x83)(Linux ext2 filesystem)
   size: 19075mb #s(39065600) s(98304-39163903)
   chs:  (6/30/25)-(1023/254/63)d (6/30/25)-(2437/214/17)r
   hex:  00 1E 19 06 83 FE FF FF 00 80 01 00 00 18 54 02

Primary partition(3)
   type: 012(0x0C)(DOS or Windows 95 with 32 bit FAT, LBA)
   size: 19069mb #s(39054014) s(39166470-78220483)
   chs:  (1023/254/63)-(1023/254/63)d (2438/0/1)-(4868/254/62)r
   hex:  00 FE FF FF 0C FE FF FF 06 A2 55 02 BE EA 53 02

Primary partition(4)
   type: 131(0x83)(Linux ext2 filesystem)
   size: 19077mb #s(39070016) s(78234047-117304062)
   chs:  (1023/254/63)-(1023/254/63)d (4869/215/18)-(7301/214/16)r
   hex:  00 FE FF FF 83 FE FF FF BF C1 A9 04 40 29 54 02

Die "Guessed primary partition table:" ist so schlecht schon einmal nicht - auf jeden Fall gab oder diese Partitionen schon mal. Zumindest die ersten zwei dürften korrekt sein (boot und root).

Bei der "Possible extended partition at offset(162179mb)" bin ich mir nicht sicher... Im Laufe Ihres Lebens hatte ich die Platte durchaus auch mal umpartitioniert wie man unschwer erkennt und ich kann nicht sagen, was wie wo gelegen haben müsste.

Gibt es noch irgendwelche Tricks, wie ich die logischen Partitionen wiederfinden kann, vllt. durch irgendein anderes Programm oder gibt es log-Einträge aus dem letzten Bootvorgang, in denen das stehen könnte? Oder muss ich mich von den Daten verabschieden (wäre nicht die ganz große Katastrophe aber halt sehr sehr ärgerlich - da Backup alt und unvollständig)?

Freue mich auf jeden Tipp, den ich bekommen kann.
 
Wie wär's, wenn du TestDisk ranlässt?

MfG Dalai
 
Hi,

sorry - ich habe oben nicht ganz vollständig aufgeschrieben, was ich alles gemacht habe - TestDisk hat leider selber nichts brauchbares gefunden (mir aber extrem dabei geholfen, das gpart-Ergebnis zu prüfen). Hier daher kurz was bisher geschehen ist:

1) Testdisk QuickSearch: kein Treffer
Code:
[FONT="Courier New"]Disk /dev/sda - 500 GB / 465 GiB - CHS 60801 255 63
     Partition               Start        End    Size in sectors
  Linux                    0   1  1     5 254 56      96320
  Linux                    6   0  1  2437 254 63   39070080
  FAT32 LBA             2438   0  1  4868 254 62   39054014
  Linux                11768   1  1 20885 254 56  146480600[/FONT]
2) Testdisk Deeper Search: kein Treffer
Code:
[FONT="Courier New"]Disk /dev/sda - 500 GB / 465 GiB - CHS 60801 255 63
     Partition               Start        End    Size in sectors
* Linux                    0   1  1     5 254 63      96327
P Linux                    6   0  1  2437 254 63   39070080
P FAT32 LBA             2438   0  1  4868 254 63   39054015
D Linux                11768   1  1 20885 254 63  146480607
D Linux                20675   1  1 20675 254 63      16002[/FONT]
3) gpart (gpart /dev/sda): Hat nichts wirklich sinnvolles ergeben. Müsste ich noch einmal durchlaufen lassen, falls das genaue Ergebnis wichtig ist.
4) gpart -vvfn s -ql /tmp/gpart.log /dev/sda: Ergebnis siehe erste Post

Ich habe habe bei der Beurteilung, ob die angezeigte Partition richtig oder falsch ist einfach einmal die Annahme getroffen, dass TestDisk mir den Inhalt der Partition anzeigen würde, statt sich mit einem Speicherabbild zu beenden.

Aktuell läuft noch ein TestDisk Deeper Search, mit den Optionen:
Code:
Expert mode : Yes
Cylinder boundary : No
Allow partial last cylinder : Yes
Dump : No
[ Ok ]

Ich denke, das ist die maximal mögliche Analysetiefe, oder?

Gibt es da evtl. brauchbare Windows-Tools? Im Thread "Gelöschte Festplatte mit Linux wiederherstellen" werden z.B. Recuva und PC File Recovery genannt - aber können die auch auf einem unpartitionierten Festplattenbereich und ext4 arbeiten (ich habe hier gerade kein Windows und auf den Herstellerseiten finde ich nix).

Ansonsten noch der Vollständigkeit halber: Auf dem Rechner war ein Gentoo Linux installiert, neben einem verwaisten Windows.
 
Ich habe habe bei der Beurteilung, ob die angezeigte Partition richtig oder falsch ist einfach einmal die Annahme getroffen, dass TestDisk mir den Inhalt der Partition anzeigen würde, statt sich mit einem Speicherabbild zu beenden.
Den Inhalt nicht, das wäre ja das jeweilige Dateisystem. Die Grenzen der geschätzten Partitionen sollte es dir ausspucken, mit der Option, die in die Partitionstabelle zu schreiben.
Und was meinst du mit Speicherabbild? Das klingt jetzt eher nach einem Crash des Programms.
 
1) Testdisk QuickSearch: kein Treffer
[...]
2) Testdisk Deeper Search: kein Treffer
Dann sehe ich schwarz, weil meiner Vermutung nach die wichtigen Teile der Platte beschrieben wurden.

MfG Dalai
 
[...]Und was meinst du mit Speicherabbild? Das klingt jetzt eher nach einem Crash des Programms.
TestDisk zeigt nach dem Scannen der Platte eine Liste der (möglichen) Partitionen an. Pber die Taste "P" kann es die Dateien und Ordner dieser Partition anzeigen und ermöglicht es dann auch einzelne Dateien dort herauszukopieren. Das scheint z.B. für die Root-Partition zu funktionieren. Das hatte ich daher erst einmal als Indikator dafür genommen, ob die potenzielle Partition wahrscheinlich auch eine ist (frei nach dem Motto: Wenn das Tool den Bereich nicht lesen kann, kann es keine saubere Partition sein und es muss sich um irgendwelche Artefakte handeln).

Dann sehe ich schwarz, weil meiner Vermutung nach die wichtigen Teile der Platte beschrieben wurden.
Ich befürchte, dass Du Recht behalten wirst... Auch wenn ich nicht blicke, wie da etwas überschrieben worden sein soll - der entsprechende Bereich kann meinem Verständnis nach halt nach meiner schusseligen Aktion kein Bestandteil einer anderen Partition oder eines Dateisystems gewesen sein. Da ich aber auch nicht weiß, was da detailliert in der Platte passiert, kann ich es auch nicht beurteilen.

Fakt ist momentan jedenfalls, dass scheinbar weder TestDisk noch gpart die gesuchte Partition finden. Ich kann mir noch vorstellen, dass gpart evtl. einen richtigen Startbereich einer erweiterten Partition gefunden hat, den Dateisystem-Typ und das Ende dieser Partition aber falsch ermittelt. Kann ich das irgendwie gefahrlos ausprobieren? Momentan habe ich mangels entsprechend großer Platte (noch) kein Image der jetzigen Festplatte gezogen, auf dem ich wild "herumprobieren" könnte.

Wenn ich jetzt einmal eine professionelle Datenrettung außen vorlasse (bei der ich stark nachdenken müsste, ob ich das will), kann ich überhaupt noch etwas machen?
 
Sodala, danke für eure Hilfe. Leider konte ich aber dennoch nichts wiederfinden. Ich hatte noch folgende Dinge ausgetestet:


  1. Prüfung der Festplatte auf defekte Sektoren: kein Fehler, alles gut, auch lt. SMART alles unproblematisch
  2. Suche nach Partitionen mit dem Windows-Tool "Linux Partition Recovery": Das Programm findet x-hundert Bad-Blocks bzw. Bad Sectors. Dann bleibt es bei 75% stehen und es rührte sich auch nach ca. 16h nicht. Es zeigt aber die bis gefundenen Sektoren der möglichen Partitionen an. Das meiste davon findet sich auch in gpart wieder, es wirft aber auch einen weiteren Sektor aus, der bei ca. 15% der Platte gefunden wird. Mein Platte hat 500GB, die 15% entsprechen also ca. dem Offset 75GB, was so ganz grob die Stelle sein könnte, an der die gesuchte Partition beginnt (muss zwischen 70GB und 140GB liegen). Leider gibt mir das Tool aber einen Sektor aus, der um das 3,5-Fache größer ist, als die Anzahl Sektoren der Platte.
  3. Ich habe das TestDisk-Log wiedergefunden, mit dem ich die Partition ursprünglich gegrillt hatte. Theoretisch sollte das eine "Current Partition Structure" enthalten, über das ich alles bequemst wiederherstellen kann. Leider stehen in der Mitte der Datei nur Sonderzeichen so dass der aussagekräftige Teil fehlt.
  4. Wiederherstellen der von gpart gefunden "guessed extended partition": Ich die mögliche Partition auf den Sektor genau identifizieren und per Hex-Editor im Master Boot Record als extended Partition eintragen können. Da ich die genaue Größe dieser Parition nicht kenne, habe ich die Anzahl der Sektoren mal vorsichtig auf ca. 50MB gesetzt (=> Wert von einer anderen Partition kopiert). Ergebnis: Es hat eine logische Partition gefunden! Juhu! Leider war das ein cryptsetup-Experiment, bei dem ich ehrlich gesagt dachte, dass die Partition schon lange gelöscht war.

Das ist doch alles zum... Mäuse melken. Momentan ist die guessed extended partition immer noch der der Ansaz, den ich ein wenig weiter verfolge, aber so langsam gehen mir die Ideen auch da aus. Soweit ich verstanden habe, steht der Beginn der erweiterten Partition im MBR. Diese erweiterte Partition hat dann wieder eine Art BootRecord, in dem sowohl die logische als auch ggf. auf eine weitere erweiterte Partition verwiesen wird. Dadurch entsteht eine Kette.

Bei meinem Datencrash habe ich glaube ich nur primäre Partitionen überschrieben (also MBR). Ich bin daher davon ausgegangen, dass die ganze Kette der logischen Partitionen wieder hergestellt sein sollte, sobald die erste mal identifiziert und dort eingetragen ist. Das hat aber wie gesagt nicht geklappt, weshalb ich entweder das Konzept noch falsch verstanden habe oder ich einen falschen Startpunkt habe oder aber ich den entsprechenden Startsektor überschrieben habe (was ich aber nicht glaube). Weiß da jmd. etwas zu dem Thema? Wie sieht denn der Verweis in der erweiterten Partitionen auf die Folgepartitionen technisch genau aus? Tante Google hat mir viel zum MBR ausgespuckt. Aber wie genau(!) die erweiterten Partitionen aufgebaut sind, habe ich noch nicht gefunden.

MfG Gnurzel.
 
Hallo von mir,

ein kurzes Update: Die verloren gegangene Partition ist wieder da :) momentan kopiere ich die fehlenden Daten über TESTDISK aus dem Image der "zerstörten" Festplatte heraus. Was soll ich sagen? Ich freue mich einfach gerade tierisch und mir ist ein unendlich großer Stein vom Herzen gefallen.

Falls es für irgendwen interessant ist, hier mein Weg dahin:

Ich habe mir ein kleines, Programm zusammengepfuscht, das eine Datei Byte für Byte durchforstet und somit nach einer möglichen erweiterten Partition hin untersucht. Das Programm hat in etwa folgenden Algorithmus:

1) Lese das nächste 1 GB Daten ein
2) Durchforste byte für byte, suche eine Stelle x an der folgendes gilt (x ist der Beginn eines möglichen Extended Boot Records (EBR)):
2.1) x+450 = 83 (<== 1. Partition ist Linux-Partition)
2.2) x+466 = 05 (<== 2. Partition ist erweiterte Partition) oder 00 (<== keine Folge-Partition)
2.3) x+510 bis x+511= 55 aa (<== End-Signatur einer X86-Partition)

Der Algorithmus hat ein paar Hundert Treffer ausgespruckt. Zum Glück können nur die Treffer wirklich eine Partition sein, am Anfang eines Sektors liegen. In meinem Fall konnte ich also alle Einträge löschen, die nicht glatt durch 512 teilbar sein (bei neuen Platten wären das wohl 4096). Damit blieben zumindest bei mir nur noch eine Hand voll Treffer übrig. Aus dem so errechneten Sektor konnte ich die "Cylinder / Sect./Track / Head" ausrechenen und dieses manuell als Partition in Testdisk anlegen. Da ich die Partition nicht wiederherstellen will sondern nur die Daten dort herauskopieren will, habe ich als Ende der Partition das Ende der Festplatte angegeben. Das war's auch schon.

WICHTIGER HINWEIS: Würde man die Partition wiederherstellen und das Ende der Partition falsch angeben, droht weiterer Datenverlust. Im EBR steht aber auch die Länge der Partition. Über diese Länge sollte man dann den Endpunkt berechnen können. Generell sollte man meiner Meinung nach alle Aktionen auf einer Kopie des Datenträgers ausführen und sicher stellen, dass man immer wieder an den ursprünglichen Zustand der Daten kommen kann.

Und noch etwas, ich fand insbesondere folgende Seiten hilfreich:
httx://en.wikipedia.org/wiki/Extended_boot_record
httx://en.wikipedia.org/wiki/Master_boot_record
httx://thestarman.pcministry.com/asm/mbr/

MfG
Gnurzel
 
Für die, die das gleiche Problem haben wie du, könntest du auch dein Programm zur Verfügung stellen. Da wären sicher einige Programmierlaien dankbar dafür. Hätte auch den Vorteil, dass es etwas "nachreifen" könnte.
Ich würde es im Forum hochladen, da geht es wenigstens nicht so schnell verloren.
 
Hallo hoschi_tux,

Du hast es so gewollt, ein wahres Sahnestück der objektorientierten Programmierung ;D

Code:
import java.io.File;
import java.io.FileInputStream;

public class Main {

  /**
   * @param args
   */
  public static void main(String[] args) {
    // specific values
    String file = "/var/sda.img"; // Path to image
    int heads = 255; // CHS: Heads
    int sects_track = 63; // CHS: Sectors per Head
    int sectorsize = 512;

    // general values
    int batch_size = 1024 * 1024; // size of each batch: 100MB
    byte[] data = new byte[batch_size]; // data to analyze
    byte ebr_sig1 = 85; // EBR-Signature is 55aa
    byte ebr_sig2 = -86; // EBR-Signature is 55aa
    byte pt_linux = -125; // Partition Type Linux is 83
    byte pt_extended = 5; // Partition Type Extended is 05
    byte pt_none = 0; // No Partition
    long batch_run = 0; // number of batch run

    try {
      FileInputStream fs = new FileInputStream(new File(file));
      System.out.println("Sector;Cylinder;Head;Sect/Track"); // heading

      // get next batch
      while (fs.read(data, 0, batch_size) > 0) {
        // test the beginning of every sector
        for (int k = 0; k < data.length - 61; k = k + sectorsize) {

          // test this sector
          if (data[k + 510] == ebr_sig1
              && data[k + 511] == ebr_sig2
              && data[k + 450] == pt_linux
              && (data[k + 466] == pt_extended || data[k + 466] == pt_none)) {

            // calculate absolute sector
            long abs_sector = (batch_run * batch_size + k)
                / sectorsize;

            // calculate Cylinder, Head and Sector/Track
            long chs_cyl = Math.round(abs_sector / heads
                / sects_track - 0.5);
            long chs_rest = abs_sector - chs_cyl * heads
                * sects_track;
            long chs_head = Math
                .round(chs_rest / sects_track - 0.5) + 1;
            long chs_sect_track = chs_rest - (chs_head - 1)
                * sects_track + 1;

            System.out.print(abs_sector + ";");
            System.out.print(chs_cyl + ";");
            System.out.print(chs_head + ";");
            System.out.println(chs_sect_track);

          }
        }
        batch_run++;
      }
      System.out.println("finished");
    } catch (Exception e) {
      System.out.println(e);
    }
  }
}

MfG
Gnurzel
 
nur das daran genau nichts objektorientiert ist. ;)
 
Zurück
Oben Unten