Topic: [SOLVED] move and grow interruption
I have a 1TB external HD. I had a 20 GB NTFS partition and a 910 GB ext4 partition in that order. I was trying to increase the NTFS partition to 40 GB and reduce the ext4 accordingly. When I tried to do this a 1 MB empty space appears between them so I move to the left the ext4 and grow it accordingly. The were 3 operations to be done
1) Move to the right and shrink from 910 to 890 GB the ext4 partition (/dev/sdb2)
2) Grow the ntfs from 20 to 40 GB (/dev/sdb1)
3) Move the ext4 to the left and grow it to use all the unallocated space (/dev/sdb2)
While doing step 3 gparted was interrupted and now I cannot access the ext4 partition. I created an image of the disk and tried to fix the ext4 partition using e2fsck and I could recover only 3 folders but I couldn't recover the rest of my important information. I know I should have made a back up but now it's too late. I was studying a little bit about ext filesystem and playing with lde and now I can understand it better, I can even change some things just by hex editing the partition manually. What I need to know is how gparted do the moving and growing process. I need to know the exact steps describing what happens with the inodes, the inodes table, the block size, the superblocks, etc so I can try to figure out how to recover my info, if the inode information was deleted or if it is still there somewhere. Does gparted uses internally resize2fs to move and grow a partition? Should I ask this in a resize2fs forum if so?
Any gparted developer or anyone how may have the answer to my question?
I was thinking that maybe the inodes have all the information but there are pointing to incorrect blocks but I don't know enough about what gparted or resizefs does during the moving and resizing operation so I don't have any clue.