Short: Recovery, check and repair for SmartFilesystem Author: Sante Uploader: Sante Type: disk/salv Version: 0.4 Architecture: m68k-amigaos >= 3.0.0 Requires: 68020+, AmigaOS 3.0+ (tested on 3.2 with a 68060) Distribution: free SFSRescue is a recovery tool for SmartFilesystem partitions, in both formats: SFS\0 and SFS\2 (the format for files larger than 4 GB). By default it only READS the partition, even when the filesystem cannot mount it, and copies the files to another volume. Contents -------- C/SFSRescue Shell version Tools/SFSRescueGUI the same with a window (GadTools, fits 640x480) Install-SFSRescue Installer script Read-only functions ------------------- INFO root blocks, transactions, bitmap, free space CHECK bitmap against all structures, node tree (like SFScheck, but it does not stop at the first error), extent chains, orphan extents; names the file owning a wrong block LIST the whole tree SALVAGE copies files to another volume with dates, protection bits, comments and soft links DEEP reads the whole partition and rebuilds the tree from every valid SFS block found: works without root blocks, with destroyed node/extent trees, bitmap or directories. Data of files whose directory entry is lost goes to LostAndFound. UNDELETE best effort recovery of deleted files (with DEEP) DUMP raw image of the partition (bad blocks written as zeros) IMAGE= works on partition images or on whole-disk images with an RDB or an MBR + type 0x76 partition (Emu68 / Amithlon SD cards, also logical partitions), PART= selects the Amiga partition DRIVER= the same on a real disk through its driver, also when its UNIT= partitions are not mounted, e.g. an Emu68 SD card in a USB reader: DRIVER=usbscsi.device UNIT=2 PART=Emu68Boot CHECK The GUI lists these partitions by itself ("not mounted on usbscsi.device 2"): select one like any other partition. Repair (writes only when asked) ------------------------------- REPAIR shows the repair plan, writes nothing REPAIR APPLY UNDO=f saves the original blocks to an undo file on another volume, writes, reads back and checks again RESTORE=f APPLY puts the original blocks back Repairs: orphan object nodes ("ObjectContainer at block ... doesn't contain node ..." in SFScheck), wrong node entries, a damaged root block (from the other copy), the bitmap (only when everything else is intact) and the free block count. The volume is inhibited while writing. REPAIR refuses to run on a volume with an unfinished SFS transaction. History ------- 0.4 DRIVER=/UNIT=: reads a whole disk through its driver, also when its partitions are not mounted (tested with an Emu68 SD card in a USB reader, usbscsi.device). MBR 0x76 partitions also as logical partitions inside an extended one. The GUI lists the SFS partitions of every disk that have no DOS device. 0.3 SFS\2 volumes (48-bit file sizes, 32-bit extents) in every command, also without root blocks (DEEP). The alternative filesystem (L:sfs-handler, SFSAltMount and the "Alt FS" buttons) is no longer part of the package. 0.2 first release Notes ----- - Make a DUMP (or SALVAGE) before repairing a disk that matters. - Version 0.2 was tested with MuForce and MuGuardianAngel: no hits. - SFSRescueGUI: tooltype SIZE=1024x768 for a bigger window. Full documentation in Italian: SFSRescue_ita.readme License ------- SFSRescue and SFSRescueGUI: freeware. USE AT YOUR OWN RISK. Back up your data.