It really depends on how much damage the ext4 format did to begin with. If all ext4 does is write a superblock, then your data is probably all there. Problem is there's no entry point into the NTFS format cmd that I know of that says "just write superblock info and don't touch anything else". So what you have to do is cheat.
- make a dd image of your hard disk and save it somewhere safe. You'll probably need a extra disk to do this because of the sheer space being used.
- format the disk as NTFS
- compare the two disks at the block level, the image you made vs the actual disk using the
cmp
utility.
cmp will tell when the two start to differ. Take that offset and then use dd to use your image as a source and skip ahead N(on the src and dst) where N in the offset cmp gave you and start writing back your data to the freshly formatted NTFS disk.
That's the gist of it. It's of course all about the details being exactly right. I would recommend you get a scratch disk, put a NTFS fs on and some data. Format it as ext4 and use that disks as your "learning disk" to proof your recovery procedure. Once you have that all figured out, do the same thing with your real data.
Alternatively, ship your data off to a data recovery specialist or... call it lost and take to heart the value of a regular backup schedule (carbonite, backblaze etc).
photorec
, which comes along with thetestdisk
package.