Testdisk – Partitionstabelle wiederherstellen

Testdisk – Partitionstabelle wiederherstellen

Ich habe die Partitionstabelle meines Laptops zerstört.

Testdisk meldet Folgendes

Disk laptop.img - 250 GB / 232 GiB - CHS 30402 255 63 (RO)
 Partition               Start        End    Size in sectors
>P MS Data                   435868     456606      20739 [NO NAME]
 P MS Data                 19232600   19235479       2880 [NO NAME]
 D MS Data                 41945087   83890143   41945057
 D MS Data                 57151486  168579069  111427584
 D MS Data                 67637246  141037565   73400320
 D MS Data                151523326  193466365   41943040
 D MS Data                170617328  170618223        896
 D MS Data                170631168  170634047       2880
 D MS Data                171338232  171344405       6174 [Boot]
 D MS Data                172008235  172231918     223684 [NO NAME]
 P MS Data                193466368  214437887   20971520
 D MS Data                217321375  225321678    8000304 [root]
 D MS Data                224923646  308809725   83886080 [media]
 D MS Data                308809728  420237311  111427584
 D MS Data                418910206  481824765   62914560 [vmimages]

Meine Partitionstabelle hatte 3 primäre Partitionen.

 1. WinXP Home
 2. /boot
 3. LVM

Innerhalb von LVM hatte ich 9 oder 10 LVM-Partitionen. Eine davon war mein Home (mit Luks verschlüsselt).

Testdisk kann meine Partitionstabelle oder eine andere Partition nicht wiederherstellen. Partitionen mit [P] enthalten keine nützlichen Daten.

Ich möchte dd verwenden, um die Partitionen zu extrahieren und versuchen, so viele Dateien wie möglich wiederherzustellen. Irgendwelche Ideen, wie ich z. B. die [root]-LVM-Partition aus dem obigen Testdisk-Bericht extrahieren kann?

Ich befürchte, dass meine Festplatte auch beschädigt ist.

Antwort1

ok, hier ist, was ich bis jetzt gemacht habe. Ich hoffe wirklich, dass andere Leute das in stressigen Momenten nie lesen müssen.

Also ich brauche zwei Dinge

a. partition table
b. LVM configuration.

sind in meinem Disk-Image welche enthalten? Suchen Sie in Ihrem Disk-Image nach Zeichenfolgen, um nützliche Informationen zu extrahieren.

# strings -t d laptop.img > laptop.img.str

Denken Sie daran, dass dies eine sehr große Datei sein kann. Bei einer 250 GB-Festplatte ist meine laptop.img.str etwa 60 GB groß!

Wir müssen dies tun, weil … es viel effizienter ist, in einer 60-GB-Datei zu suchen und nicht in einer 250-GB-Disk-Image-Datei.

# head -1 /etc/lvm/backup/VG_file 

gibt etwa Folgendes zurück:

# Generated by LVM2 version 2.02.98(2) (2012-10-15): Mon Nov  5 09:10:16 2012

also ich weiß, dass ich nach "# Generiert von LVM2-Version " in laptop.img.str suchen sollte und das habe ich getan

# grep -E --color '# Generated by LVM2 version ' laptop.img.str > LVM2.extracts

ich habe viel gefunden. Habe mein Datum sortiert und so etwas wie:

24956608512 # Generated by LVM2 version 2.02.97(2) (2012-08-07): Sat Sep 22 16:22:39 2012

war das Ergebnis.

ok, also gibt es etwas Nützliches zur LVM2-Konfiguration.

Nächster Schritt.

Fast jede Festplatte hat einen 512-Byte-Sektor. Berechnen Sie ihn also:

# echo 24956608512/512|bc
48743376

hmmm, hoffen wir, etwas Interessantes zu finden:

# dd if=laptop.img bs=512 skip=48743376 count=1 

und tatsächlich erschien etwas sehr Schönes auf meinem Bildschirm

# Generated by LVM2 version 2.02.97(2) (2012-08-07): Sat Sep 22 16:22:39 2012

contents = "Text Format Volume Group"
version = 1

description = "Created *after* executing 'lvextend -l +100%FREE /dev/vg01/mmoviess'"

creation_host = "mylaptop"  # Linux mylaptop 3.5.3-1-ARCH #1 SMP PREEMPT Sun Aug 26 09:14:51 CEST 2012 x86_64
creation_time = 1348320159  # Sat Sep 22 16:22:39 2012

Ich ändere die Anzahl von 1 auf 4 und habe jetzt meine gesamte LVM2-Konfigurationsdatei. Sichern Sie sie an einem sicheren Ort und fahren Sie mit der Partitionstabelle fort.

Ich weiß, dass ich drei (3) primäre Partitionen habe. sda1 – sda2 – sda3. Also dachte ich, ich suche sie unter laptop.img.str.

Schließlich habe ich mit den oben genannten Schritten Folgendes gefunden:

Disk /dev/sda: 250.1 GB, 250059350016 bytes, 488397168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000b13ab

   Device Boot      Start         End Blocks   Id System
/dev/sda1   *          20    41945087    20972534    7  HPFS/NTFS/exFAT
/dev/sda2        41945088    42469375      262144   83  Linux
/dev/sda3        42469376   488397167   222963896   8e  Linux LVM

Der Testdisk-Bericht hat überhaupt nicht geholfen.

hexdump ist mein neuer bester Freund geworden!

auch nützlich: grep mit -a -b-Parametern und losetup mit Offset-Parameter! Keine zusätzliche Software – keine zusätzlichen Installationen – nichts.

nur grundlegende Befehlszeilenprogramme mit leistungsstarker Nutzung.

verwandte Informationen