You can try to boot from grub command line, assuming your file system is intact. You need to give 4 key parameters to boot:
- $root: the partition where the root system is located
- $prefix: the path where the grub system is located
- $linux$: the path/filename of the linux kernel
- $initrd: the path/filename of the init image
By ubuntu default, the command lines should like this:
GRUB> set root=(hdx,y)
GRUB> set prefix=(hdx,y)/boot/grub
GRUB> linux /vmlinuz root=/dev/sdax ro
GRUB> initrd /initrd.img
where x,y is the device id and partition id. You can first list all the partitions and check the the files to find out which is which, for example:
GRUB> ls
GRUB> ls (hdx,y)/
GRUB> ls (hdx,y)/boot/
GRUB> ls (hdx,y)/boot/grub/
If there is a separate /boot partation, remember to replace $prefix with "(hdx,y')/boot/grub" where y' is the /boot partition, and replace $vmlinuz and $initrd with "/boot/vmlinuz" and "/boot/initrd.img".
In some cases the device id and partition id start with different letters. Use the same name as listed by the GRUB> ls
command.
If the grub commands fail to bring the system up, you have to further check if the file system is intact, especially if the key files of vmlinuz, initrd and the grub files are still there.