I need to recover data from an old filesystem, which was located on two small (by today's standards) drives -- using a concatenated disk driver (known as ccd in FreeBSD).

I have the drives online (no disk errors) and have already dumped their images.

My problem is, I do not remember the interleave factor I used 10 years ago... How would I recover that? The scan_ffs finds some old superblocks on each image, but those aren't usable until I properly interleave them together again.

Are there any tell-tale signs of ccd, that would help me detect the interleave value I used?

Update: Using some tools I was able "recover" some files from one of the drives -- including MPEG-files, which, predictably, have regular holes in them -- ffplay is doing its best to play them, but complains about lots of errors and the streams constantly stutter.

I think, by measuring the sizes of the holes, I'll be able to figure out the interleave. Can they be measured, though?

  • 2
    Have you try to dump the ccd config ccdconfig -g? – Romeo Ninov Jan 5 '20 at 8:40
  • Thanks, @RomeoNinov, I just tried that option -- no, it does not help. It simply reports the currently-used configuration, which is no indication of the validity of the filesystem(s) on top of it... – Mikhail T. Jan 5 '20 at 18:59
  • Have you looked at geom(8)? That should provide quite a bit of detail on what you're looking for. – somebody Mar 2 '20 at 18:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.