I followed Klanomath's reply above to successfully recover my Macintosh HD. I had tried to resize it from ubuntu (Bootcamp) and completely stopped seeing my Macintosh HD partition. I had tried several posts and tools to write and rewrite partition tables without success and was about to give up.
I followed the steps #5 to #8 from the post.
I did # 5 and assumed that my EFI would've started at 40 and had the same size 409600. The following screenshot from stellar recovery showed advanced volume starting at 40 so it gave me some hope that my EFI at least started at the same sector.
Result from my machine:
diskutil umountDisk /dev/disk4
Unmount of all volumes on disk4 was successful
sudo gpt destroy /dev/disk4
diskutil umountDisk /dev/disk4
Unmount of all volumes on disk4 was successful
sudo gpt create -f /dev/disk4
gpt add -b 40 -i 1 -s 409600 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B disk4
disk4s1 added
For #6, here was the output from my machine:
$ sudo gpt -r show /dev/disk4
Password:
start size index contents
0 1 PMBR
1 1 Pri GPT header
2 32 Pri GPT table
34 6
40 409600 1 GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
409640 976695387
977105027 32 Sec GPT table
977105059 1 Sec GPT header
I had the last block of my hard disk (977105059), now what should be my third (last) partition whose size I should subtract from the end? (I remembered that I used to have a Recovery disk, a ubuntu disk in addition to the Macintosh HD. Also, testdisk had showed me dozens of lost recovery partition, which I guessed based on their sizes, but I couldn't pick between them).
So I referred to the above screenshot again (stellar recovery). At this point I have seen and know that a mac Recovery HD is about 600ish MB so I have a few candidates from above screenshot. According to this post, the starting sector needs to be able to completely dividable by 8, which only worked for 'Lost Volume 6' from the screenshot.
So that gave me the starting sector (975835488) but what about the size? Well, from a few screenshots from a couple days ago of testdisk scan results (which showed me dozens of lost recovery disk partitions) I had noticed that though all of their starting sectors were different, their sizes were the same i.e. 1269536 (see screenshot below). This gave me confidence that this was the right size (in sectors) for a mac Recovery HD.
So I ran the following command (using Starting sector:975835488, Size in sectors:1269536)
gpt add -b 975835488 -i 3 -s 1269536 -t 426F6F74-0000-11AA-AA11-00306543ECAC disk4
disk4s3 added
For #7, to show the most recent status of 'gpt -r show':
$ sudo gpt -r show /dev/disk4
Password:
start size index contents
0 1 PMBR
1 1 Pri GPT header
2 32 Pri GPT table
34 6
40 409600 1 GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
409640 975425848
975835488 1269536 3 GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
977105024 3
977105027 32 Sec GPT table
977105059 1 Sec GPT header
At this point I was like, "Oh okay, so my partition table looks slightly similar to the guy's in the post, but that's obviously not gonna do anything".
It was about 2 AM at that point and I just want to go through all the steps to discard yet another post because 'I tried that too'. So I'm kinda rushing through it still trying to get the numbers right.
So now for #8, from my last screenshot, 975425848 is the size, and 409640 is the starting sector for my partition that's supposed to be in the middle (aka. Macintosh HD). So I go ahead, still without much hope, and execute the following command:
gpt add -b 409640 -i 2 -s UnAlloc -t 53746F72-6167-11AA-AA11-00306543ECAC disk4
usage: gpt add [-b lba] [-i index] [-s lba] [-t uuid] device ...
oops, I actually have to write the size in place of 'UnAlloc'. I missed this from the guy's comments:
with UnAlloc= size of unallocated disk space found above
second try:
gpt add -b 409640 -i 2 -s 975425848 -t 53746F72-6167-11AA-AA11-00306543ECAC disk4
disk4s2 added
This time the command took a couple of seconds to produce an output which got my heart racing. As soon as it produced the result (disk4s2 added) it asked me for a password for my "Macintosh HD" and I am jumping in my seat as I input the password that I can remember and voila, the disk shows up and so does all my data!!
After 4 full days of effort and freakout that I had lost all my work and my photo library, I couldn't believe it worked. Thank you, klanomath. Thank you, God.
p.s. I did all this on another mac with the original mac connected to it via thunderbolt in target disk mode. The Stellar Recovery software was executed on the mac too while test disk results were from a ubuntu live cd on the original mac (though I'm sure I could've ran testdisk on the second mac too albeit slower)