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.