Como recuperar tabla de particiones?

Resulta que he debido de dañar la tabla de particiones de un disco y ahora no sé como puedo recuperarla sin cagarla más. El caso es que es un disco con 4 particiones, a saber:
[*]1ª primaria en ext2 de 100MB.
[*]2ª primaria en ext4 de unos 7,5GB para Ubuntu.
[*]3ª primaria en NTFS de 2GB para Android-x86.
[*]4ª primaria en NTFS de 20GB para Win7.

Puedo entrar unicamente a Windows 7 actualmente ya que también se modificó el MBR del disco y ya no apunta a grub. Al intentar recuperarlo en el live-usb de Ubuntu no podía montar la partición con el arranque y por eso me dí cuenta de que algo ocurría. Traté de ver el qué con GParted pero no era capaz de detectarme las particiones.

Así que en resumidas cuentas necesito reparar la tabla de particiones para después poder reinstalar Grub.
TestDisk es tu mejor amigo.
Muchísimas gracias a los dos, me ha solucionado el problema. Ahora sólo me queda recuperar el grub. De todas formas quería saber si es posible hacer lo siguiente: en la descripción de mi problema decía que tengo una partición de 100mb, es la última que he creado para utilizarla como boot, y lo que quería saber es si se puede pasar el boot de la partición de ubuntu ha la de 100mb y hacer que cargue grub desde ahí. Por lo que he visto en la app Boot Rescue tiene unas opciones que parece que son para eso, pero no he encontrado documentación clara al respecto y no se si arriesgarme.
3 respuestas