Grub bootloader doesn't see ubuntu partition.
See's windows.

Ok... So 2 weeks ago I did the run-of-the-mill update via the icon on the taskbar and BOOM. Next time i booted i was into the land of Grub rescue. No boot loader, no nothing. Panic .

Been 2 weeks of researching and trying workarounds but its not happening.

I run a tripple boot with 2 windows and 1 ubuntu OS's.

I've booted into the live disc and got back the grub bootloader with my windows partitions... and here's where it gets odd..

It's my UBUNTU partiton that is not being recognised!!

Now, running the triple boot I've of course ran into the problems previously where windows is not recognised and I've had to do manual entries...but I've never had it before with a linux one. Linux is normally a solid performer.

So far:
I've grub installed/updated like a boss (countless times). Mounting, chroot-ing etc.I've read many threads on here and elsewhere. There is a lot for windows but again... not a linux partition.

I've ran the boot info script, wasn't too enlightening.
And just now I've gone into the grub.d area and have been messing with etc/grub.d/40_custom to make a manual entry for linux.

I don't like this because it's a bit of a manual contrived way. But I need it working. I added this into 40_custom, but still no luck.

Code:
menuentry "Ubuntu lucid" {
    insmod part_gpt
    insmod ext4
    set root=(hd0,7)
        linux /vmlinuz root=/dev/sda7 ro quiet splash
        initrd /initrd.img
}
Then ubuntu shows in the menu!!! but executing the option I get output:
error: file not found
error: file not found
error: you must load kernel first.


When Im updating grub I have /dev/sda7 (ubuntu) mounted. If i dont i get grub error 21.

I know grub is updating as im toggling the grub beep on and off everytime i mess with it... as a sense check.

On the bootmenu there are no memtest entries (removed them about a year ago) and i remember *possibly* something going wrong with os_prober.

What diagnostics can I run and post up? Any advise appreciated as I'm now lost.