My advice? Don't do it this way. I really don't think it's wise to play with a file system at a low enough level for this to work. This method also has problems in that you can only reliably recover the first 12 blocks of each file. So if you have any long files to recover, you'll normally have to use the other method anyway. (Although see section Will this get easier in future? for additional information.)
If you feel you must do it this way, my advice is to copy the raw partition data to an image on a different partition, and then mount this using loopback:
# cp /dev/hda5 /root/working # mount -t ext2 -o loop /root/working /mnt
(Note that obsolete versions of
mount may have problems with this. If your
mount doesn't work, I strongly suggest you get the latest version, or at least version 2.7, as some very old versions have severe security bugs.)
Using loopback means that if and when you completely destroy the file system, all you have to do is copy the raw partition back and start over.