29

I have two Amiga 1200's in pieces. One of them has a 52mb HDD in it and on it is my dissertation from 1995 and all my essays. I want to retrieve the dissertation because it's the only surviving copy. I use elementary - xenian - ubuntu linux self customised. The HDD is wired to the old Amiga for power and has an IDE socket. Do you think I can just connect it and retrieve the files as text files?

3
  • 14
    Two Amiga 1200's in pieces are a shame - Put them back together, make them work and have fun with them. This is Retrocomputing and we cannot approve of anything else!
    – tofro
    Jan 8, 2018 at 21:36
  • 2
    @tofro Even so, making an image of the drive for safety should be the first priority. May 6, 2020 at 17:16
  • Other option, if you know someone else with a working Amiga, get the drive over to them May 11, 2021 at 15:21

3 Answers 3

34

You should be able to use the Amiga hard drive directly on your Linux computer (provided it still has IDE support).

Linux also understands AFFS (Amiga Fast File systems), at least once AFFS support is compiled into the kernel (from your "self customized" wording I would assume you know how to do that). Apparently, some Linux tools don't seem to understand Amiga partition tables, though, so mount would not be able to properly mount the partition.

parted should be able to understand the disks partition table, so (assumed your Amiga disk shows up as /dev/sdc)

parted /dev/sdc

and the "u", "b", and "p" commands should display the partition start sectors:

Partition Table: amiga
Number Start End Size File system Name Flags
1 <s1> <e1> <sz1> affs1 DH0 boot
2 <s2> <e2> <sz2> affs1 DH1
3 <s3> <e3> <sz3> affs1 DH2

(for a disk with 3 affs partitions, the numbers between "<>" have been replaced by variables here)

You should now be able to mount the Amiga partitions using

sudo mount -t affs -o offset=<s3> /dev/sdc /media/Amiga

I not, some people have reported this to work by putting the raw partition onto a loop device and then mounting the loop such as in

$ sudo losetup -o <s3> /dev/loop1 /dev/sdc
$ sudo mount -t affs /dev/loop1 /media/Amiga

Another possible option could be to use an Amiga emulator that runs on Linux like FS-UAE and point it to the raw device as a hard disk. Although it does not seem to be officially supported, people have reported it to work (scroll down to "Using real Hard Drives"). That has the added benefit that you would be able to use native Amiga programs in order to retrieve your documents. You would then use another (Linux-native) directory mounted to the emulated Amiga top copy your files over.

As proposed by comments: You could also save as much of your HD contents as early as possible with

dd if=/dev/sdc of=~/AmigaDisk 

and work from that image with the same methods as above.

8
  • 13
    Maybe add the ro option to mount so that you don't accidentally overwrite something. You could also dd the whole device over and mount it via loop or emulator — 52 MB is not large these days.
    – scruss
    Jan 8, 2018 at 15:18
  • 33
    I'd dd it immediately just because it's an old drive. Or, in layman's terms, a ticking data bomb. Then worry about making sense of the image.
    – Tommy
    Jan 8, 2018 at 16:01
  • 6
    @Tommy Not just that it's old, but because once you've got a backup copy you can do the rest of your work with that and not have to worry about a destructive error destroying the original. Jan 8, 2018 at 17:37
  • 6
    One additional comment that's not worth a whole answer: consider getting an external USB enclosure for the drive. There's a nontrivial risk of mechanical (bent pins, ...) and electronic (shorts, ESD, etc.) damage every time you install and remove drives internally. Jan 8, 2018 at 18:37
  • 5
    Also: +1 to @R..'s suggestion, particularly as it can be so tempting to run a drive without properly mounting it if you're only planning to use it temporarily. Having destroyed a critical drive's electronics by running it balanced on top of the case (which it then got knocked off and shorted part of the circuit board on the edge of the case lid), I know how expensive it can be to fix such a mistake, and external IDE enclosures are very cheap.
    – Jules
    Jan 8, 2018 at 19:49
4

The other answers discuss mounting the drive directly. However, given the age of the disk and the stated personal value of the contents, I would like to recommend that the drive be imaged first. GNU ddrescue is your friend.

ddrescue will create an image of the drive which you can then mount and work with. This way you only have to connect the drive once but can go back to the image as often as you need or want, especially if you need to experiment with mounting options or filesystem support.

There's a good tutorial at linux.com but here is a sample command:

sudo ddrescue -r3 /dev/sdb amigadisk.img logfile

This will read the entire disk mounted as sdb and write it to amigadisk.img, logging progress to logfile and making 3 attempts to recover bad blocks. This images the original MBR and all partitions in one file.

My preference to access the partitions is to use kpartx (Ubuntu package kpartx). This can be done with kpartx -av amigadisk.img -r which will map the image into virtual partitions. In most cases these can then be mounted with mount -o loop,ro /dev/mapper/loop0p1 /mnt. As has been mentioned, you may need to adjust slightly for the Amiga filesystems.

Note that this mounts the image read-only for safety.

0

I had to add the sizelimit option with the partition size to make it work, so as in your example:

sudo mount -t affs -o offset=,sizelimit= /dev/sdc /media/Amiga

And if you also want user access and not just root add the setuid=,setgid= options as well

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .