Recovering Files from Broken Amiga OFS Disks

extract-adf is a tool for recovering files from broken Amiga OFS filesystem images. It can reconstruct directory hierarchies even for files that don’t have directory entries.

https://github.com/mist64/extract-adf

I originally developed extract-adf to reconstruct the leftovers on the Amiga Kickstart 1.0 disk. Sigurbjörn B. Lárusson has made it into a general-purpose tool with the following features:

  • support for ADF, ADZ and DMS image files
  • support for DD and HD disks
  • reconstruction of directory hierarchies
  • recreation of time stamps
  • lots of optional debug output

Just passing a disk image file as an argument will write all files and directories to the local filesystem:

$ extract-adf "Amiga Workbench 1.0 (31.334) (Commodore) (1985) [m].adf"  
Autodetected fileformat from extension is ADF  
Startsector is 0  
Endsector is 1760

extract-adf will create a directory matching the disk name with all the contents, and an “Orphaned” directory.

$ ls -l  
total 0  
drwxr-xr-x   2 mist  staff   64 May 12 10:47 Orphaned  
drwxr-xr-x  23 mist  staff  736 Jan 31  2000 Workbench

$ ls -l Workbench/  
total 152  
drwxr-xr-x   9 mist  staff    288 Jan 31  2000 Demos  
-rw-r--r--   1 mist  staff    346 Sep 11  1985 Demos.info  
-rw-r--r--   1 mist  staff    306 Sep 11  1985 Disk.info  
[...]

$ ls -l Orphaned/  
[empty]

The “Orphaned” directory contains all files that are not referenced by directory entries. In this case, it will be empty.

Here is how to recover the contents of the Kickstart 1.0 disk:

$ extract-adf -s 512 "Amiga Kickstart 1.0 (NTSC) (A1000) (Commodore) (1985) (disk).adf"  
Autodetected fileformat from extension is ADF  
Startsector is 512  
Endsector is 1760

1 thought on “Recovering Files from Broken Amiga OFS Disks”

  1. “This program does not support FFS floppies(!), it only supports OFS style Amiga Floppies”

    that’s a shame… most disk images these days would be FFS. Using something like this to list their content would be practical for indexing one’s collection.

Leave a Comment