Das Extents Overflow File sichernDas Extents Overflow File wird beim Wiederherstellen von stark fragmentierten Dateien benötigt. Bei einem gültigen Volume Header wird das Extents Overflow File automatisch in einer Datei abgespeichert wenn man '-s3' oder '--one-file' verwendet. Mit '--extract-eof' kann man das Extents Overflow File jederzeit als Datei speichern. hfsprescue --extract-eof <device node|image file> [ [--start-block <number>] < [--last-block <number>] | [--num-blocks <number>] > ] [--eof-file <output file>] [--vh-file <file name>] Der Standarddateiname ist './restored/ExtentsOverflowFile'. Mit '--eof-file <output file>' kann man auch einen anderen Namen wählen. Hinweis: Wenn die Partition formatiert wurde, dann ist das Extents Overflow File in den meisten Fällen nicht mehr brauchbar. Gültiger Volume HeaderWenn der Volume Header in Ordnung ist, dann benötigt man für '--extract-eof' keine extra Parameter um das Extents Overflow File in eine Datei zu speichern. Beispiel: 'hfsprescue --extract-eof /dev/sdb1' Signature: 0x2b48, H+ LastMountedVersion: H+Lx, last mount by Linux. FileCount: 4362 DirCount: 144 BlockSize: 4096 TotalBlocks: 244190208 AllocationFile StartBlock: 1 ExtentsOverflowFile StartBlock: 7454 CatalogFile StartBlock: 10270 Total size: 931 GB Extracting the ExtentsOverflowFile to 'restored/ExtentsOverflowFile'. Size: 11534336 bytes, 11.00 MB Clump Size: 11534336 bytes Total Blocks: 2816 Extent 0: Start 7454, Num 2816 Extent 1: Start 0, Num 0 Extent 2: Start 0, Num 0 Extent 3: Start 0, Num 0 Extent 4: Start 0, Num 0 Extent 5: Start 0, Num 0 Extent 6: Start 0, Num 0 Extent 7: Start 0, Num 0 File created. Bei Volume Header ProblemenWenn der Volume Header nicht in Ordnung ist, dann kann man '--find-eof' verwenden um mögliche Positionen des Extents Overflow File zu finden. Mit diesen möglichen Positionen kann man das Extents Overflow File in eine Datei speichern. Wenn mit '--start-block' und '--last-block' / '--num-blocks' gearbeitet wird, dann wird nur der angegebene Bereich in die Datei gespeichert. Sollte das Extents Overflow File selbst auch fragmentiert sein, dann ist es nicht möglich ohne Volume Header das komplette Extents Overflow File zu speichern. Man kann '--vh-file <file name>' verwenden, wenn man den gültigen Volume Header in einer Datei gespeichert hat. Ein einfaches Beispiel: • Zuerst werden mögliche Positionen gesucht. hfsprescue --find-eof /dev/sdb -b 4096 *** Force block size: 4096 Signature: 0x00, (Unknown) LastMountedVersion: , last mount was not done by Mac OS X. FileCount: 0 DirCount: 0 BlockSize: 4096 TotalBlocks: 0 AllocationFile StartBlock: 0 ExtentsOverflowFile StartBlock: 0 CatalogFile StartBlock: 0 Total size: 931 GB Searching block positions of the Extents Overflow File... 1. Possible block: 7710 | File position: 0x1e1e000 2. Possible block: 10526 | File position: 0x291e000 maybe ExtentsOverflowFile or CatalogFile • Dann wird das Extents Overflow File in eine Datei gespeichert. Hier wird der erste Eintrag als Start Block verwendet und der zweite Eintrag als Last Block -1. hfsprescue --extract-eof /dev/sdb -b 4096 --start-block 7710 --last-block 10525 *** Force block size: 4096 Signature: 0x00, (Unknown) LastMountedVersion: , last mount was not done by Mac OS X. FileCount: 0 DirCount: 0 BlockSize: 4096 TotalBlocks: 0 AllocationFile StartBlock: 0 ExtentsOverflowFile StartBlock: 0 CatalogFile StartBlock: 0 Total size: 931 GB Extracting the ExtentsOverflowFile to 'restored/ExtentsOverflowFile'. *** Warning. No extents of the ExtentsOverflowFile will be restored. Extracting blocks from 7710 to 10525. 2816 blocks. File created. Nun sollte das Extents Overflow File getestet werden.
Verwenden Sie 'hfsprescue --list | grep _F_EOF_' um eine betroffene Datei zu finden. Wenn mehrere mögliche Positionen gefunden werden, dann muß man durchprobieren und testen bis man den richtigen Start und Ende des Extents Overflow File findet.
© 2024 by
Elmar Hanlhofer |