My partition setup is:
[Win7] [Ubuntu] [extended [logical partition]] (in that exact order)
The bootloader installed in the MBR is a non-standard one that allows you to chainload a secondary bootloader on another partition. I use the this option alternatively boot Ubuntu via GRUB installed on /dev/sda1. This setup has always worked for me, but after upgrading my hard drive, I can't seem to restore GRUB to a working state. I upgraded by restoring recent backup images to the drive (this has worked for me in the past)
But, this time, I just get:
Error: no such partition. Grub rescue>
I can boot the Ubuntu installation with this at the rescue prompt:
set root=(hd0,1) set prefix=(hd0,1)/boot/grub insmod normal normal
But it's pretty silly to type that in every time.
This is my disk layout according to
Disk /dev/sda: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Device Boot Start End Blocks Id System /dev/sda1 122896725 146336084 11719680 83 Linux /dev/sda2 178053120 976773119 399360000 5 Extended /dev/sda3 * 929 122881184 61440128 7 HPFS/NTFS/exFAT /dev/sda5 178055168 976773119 399358976 7 HPFS/NTFS/exFAT Partition table entries are not in disk order
boot-repair (which doesn't work because it only offers the option to install to MBR), none have worked.
I have a USB thumbdrive with GRUB installed (which works when I use it to boot to the Ubuntu installation on the laptop at /dev/sda1) and its grub.cfg file is identical to the one on /dev/sda1.
If I had to guess, does the fact that the order of the partitions listed in
fdisk -l doesn't match the order they're arranged on the disk have effect on this?
When I type
set at the grub prompt I get