ddrescue(1) could be handy.
If you've 2TB drive, to (attempt to) recover that, you'll want at minimum
drive/device/volume that is at least moderately larger than that ...
preferably up to about twice as large or larger in total capacity.
... plus whatever you want to backup additional drive(s).
Once you've got image copy of the disk (or as much as feasible),
can then work ... not directly on that - but a (virtual) copy of
that, as needed/desired, to (attempt to) recover further - as feasible.
You can do read-only operations on the original as feasible to see what
can/can't be read ... but it might not all matter - if it's not used
space, you may not care. Depending on the extent to which it's (partially)
readable, stuff like find and cat can be useful.
Also, ... "virtual" copy - could be a copy-on-write - so rather than
double space yet again, only increase actual space used by what's
written/changed.
As for read-only, don't merely mount ro - that won't fully suffice,
as mount may change things upon mount or attempt thereof - even if ro
is specified on the mount. You can use blockdev(8) to set the devices
themselves (e.g. drive & all its partitions).
> From: "tom r lopes" <
tomr...@gmail.com>
> Subject: Re Request for help Was: BerkeleyLUG (website): Removing
> spambot Users - User action needed ...