fdisk-Rechnerei

Christoph 'Mehdorn' Weber christoph.weber at das-mehdorn.de
Mit Mar 1 23:55:03 CET 2006


Hallo!

  Es ist eine Weile her, da habe ich mal ein Platten-Image der
Windows-Kiste  meines Vaters erstellt.  Neulich haben wir dann
festgestellt, daß wir einige der Daten brauchten.

  Gut, dachte ich mir, ist kein großes Thema. Da nimmt man ein
loop-Device,  fdisk und bc  und mountet den Kram irgendwo hin,
schon kann man es bequem kopieren.

  So sieht der Output von 'fdisk -ul p150.img.org' aus:

Disk p150.img.org: 0 MB, 0 bytes
255 heads, 63 sectors/track, 0 cylinders, total 0 sectors
Units = sectors of 1 * 512 = 512 bytes

       Device Boot      Start         End      Blocks   Id  System
p150.img.org1   *          63     3148739     1574338+   6  FAT16
p150.img.org2         3148740     5205059     1028160   17  Hidden HPFS/NTFS
p150.img.org3         5205060    19936664     7365802+   f  W95 Ext'd (LBA)
Partition 3 has different physical/logical endings:
     phys=(1023, 254, 63) logical=(1240, 254, 63)
p150.img.org5         5205123     9381959     2088418+   6  FAT16
p150.img.org6         9382023    13558859     2088418+   6  FAT16
p150.img.org7        13558923    16643339     1542208+   6  FAT16
p150.img.org8        16643403    18683594     1020096    7  HPFS/NTFS
p150.img.org9        19888470    19936664       24097+  83  Linux

  Um an die Primärpartitionen zu kommen, war kein großer Aufwand
nötig.  Den Offset berechnet man einfach aus dem Startsektor und
der Sektorgröße, also:

$ bc -q
63*512
32256
3148740*512
1612154880

  Das kann man dann mounten:

$ mount -o loop,ro,offset=32256 p150.img.org /mnt

  Soweit kein Thema, hat eben für die Primärpartitionen toll geklappt.
Bei der erweiterten Partition scheiterte ich allerdings.

  Die fdisk-Warnung habe ich ignoriert, da sie wohl höchstens die letzte
Partition trifft, auf der sowieso nur Teile des Boot-Loaders herumlagen.

  Aber egal, was ich bisher versuchte, scheiterte an der üblichen mount-
Fehlermeldung, daß dort entweder kein Dateisystem,  kein lesbarer Super-
block etc. wäre:

5205123*512
2665022976

# mount -o loop,ro,offset=2665022976 p150.img.org /mnt

  Huch. Nun hat es funktioniert. Entweder Vorführeffekt, oder das bc auf
dem anderen Rechner rechnet subtil anders.

  Hm. Beide 'bc's rechnen den gleichen Wert für die Multiplikation aus.
Sehr interessant.

  Ok, dann Danke ich mal für die unkonventionelle Problemlösung.
Vielleicht hilft es auch anderen, die derartige Schwierigkeiten
mit Images haben.


  Ganz abgesehen davon:  fdupes ist ein tolles und effizientes Programm
zum Finden von exakten Duplikaten, findimagedupes ein netter Ansatz, um
ähnliche bzw. potentiell gleiche Bilder zu finden.

  Weiß zufällig jemand etwas Vergleichbares für Sound-Dateien? Es sollte
nach Möglichkeit MP3,  Ogg Vorbis und die anderen üblichen Formate lesen
können.

  Und es wäre toll, wenn es halbwegs effizient wäre und nicht jede Datei
mit jeder korreliert oder sowas. Primär suche ich etwas, das Dehnungen/
Stauchungen und Ausschnitte findet.

Christoph