Auf Arbeit kam mir eine Festplatte unter, worauf relativ wichtige Daten sind. Diese hat allerdings eine defekte Partitionstabelle, was irgendwie das billige USB Dock verursacht haben muss. Jedenfalls war ich da erstmal etwas ratlos wie ich an die Daten kommen sollte, da zeigte mir mein Kollege Dennis wie es in wenigen Schritten möglich ist.
Als erstes muss man raus finden mit welchen HEX Wert der NTFS Bootsektor beginnt. Dies hatten wir hier erstmal in Erfahrung gebracht. Eine NTFS Partition fängt also immer mit „EB 52 90“ an und so konnte man dann auf der Platte mit hexdump danach suchen:
head -n 1000 /dev/sdb | hexdump -C | egrep "eb 52 90"
was, in unserem Fall, folgende Ausgabe ergab:
00006000 eb 52 90 4e 54 46 53 20 20 20 20 00 10 01 00 00 |.R.NTFS .....| 08005000 eb 52 90 4e 54 46 53 20 20 20 20 00 10 01 00 00 |.R.NTFS .....| 08100000 eb 52 90 4e 54 46 53 20 20 20 20 00 10 01 00 00 |.R.NTFS .....|
Es sind also 3 NTFS Partitionen auf der Platte. In dem Fall interessiert uns nur die letzte, denn die erste ist leer und die zweite kaputt. Es scheint sich hier um alte Partitionen zu handeln. Nun muss der HEX String noch in Byte umgewandelt werden:
python -c 'print int("8100000", 16)'
Ausgabe:
135266304
Mit diesem Wert als offset konnte nun die Partition wie folgt gemountet werden:
mount /dev/sdb /mnt -o ro,loop,offset=135266304
Wir haben sie jetzt mal read-only gemountet, nur um sicher zu gehen.
dakira
Hey. Toller Tip, danke. Das kommt auf jeden Fall in mein Snippit Büchlein! ;)
Sebastian
Aber gern doch :)
Anonymous
[…] […]