Mounting the file as a partition in FreeBSD:
vnconfig -r labels -c vn0 root_fs.img
mount /dev/vn0 /mnt
In FreeBSD, you can use the ffsrecov utility from the ports for recovery.
If fsck doen not find a superblock, you can specify an alternate location:
"fsck_ufs -b [16|32] .." for FreeBSD,
"fsck -b [8193|32768|16384]" - for Linux.
Look at the following ports if the failure occurs in FreeBSD:
/usr/ports/sysutils/ddrescue
/usr/ports/sysutils/ffs2recov
/usr/ports/sysutils/gpart
/usr/ports/sysutils/scan_ffs