The TL:DR on this is that I had a working dual-boot. I then added a new drive with Win7. Which works fine and serves most of my needs, but I cannot now get to Linux. I'd like to get to Linux without messing with my Win7 MBR (e.g. installing grub on the linux drive and changing the BIOS boot order or using the Windows boot loader to get to grub).
I installed using 11.04 (over the existing 10.04 which may have been a mistake). I can still get into Win7 (so no change in behaviour) but still cannot get into grub / ubuntu.
This may be the wrong place to ask as its a messy problem to unpick and not a simple Question with Answer, but thought I'd try my luck.
For more details, read on...
Originally 2 - harddisks:
- 320GB - Vista (installed first)
- 160GB - Linux (10.04 upgraded over time from 8.04)- including a small swap partition
Which used to boot to Grub to select Windows or Linux.
I added a new drive (SSD) and installed Windows 7 on it. I had some trouble getting the BIOS to recognise the drive to boot from, so swapped some of the SATA cables around, which may have contributed to my later problems.
I could now boot into Windows 7 fine, but Linux was now inaccessible. I first installed EasyBCD to Windows and tried to auto-recognise Linux, this didn't seems to work (can't remember details unfortunately).
Then I used an 11.04 LiveCD and attempted to upgrade the 10.04 installation (which was an option). Towards the end of this I encountered many errors, which seem to relate to the change from grub to grub 2 (as my 10.04 had been upgraded from originally 7 or 8).
I've tried formatting the Linux drive during the install and installing 11.04 in its place, which seems now to succeed, but then still cannot boot into Linux successfully. I have also performed the steps from the Copy GRUB 2 Files from the LiveCD instructions to the point where a reboot is required. However I then arrived at a grub prompt and couldn't see how to perform the "Refresh the GRUB 2 menu with sudo update-grub" step. typing sudo update-grub at this point was not recognised.
I can choose from BIOS to boot into any of the 3 drives, or from a LiveCD.
- Boot from new 120GB drive. Windows BCP displayed.
- Boot from original 320GB Windows - no boot menu, loads directly into Vista
- Boot from Linux 160GB drive. Ends up at Grub rescue prompt (see pic)
I'd rather not change the Windows 7 MBR from the Linux install given that it is my main working environment right now. Instead I'd rather install Grub on the Linux drive and then give it priority in the BIOS boot order. Once I can boot into Linux successfully, then I'd be open to making other changes. Any help to get Grub working on the linux drive (pretending that the new Windows 7 disk does not exist) would be greatly appreciated
Output of fdisk -l
Disk /dev/sda: 160.0 GB, 160041885696 bytes 255 heads, 63 sectors/track, 19457 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x2889808c Device Boot Start End Blocks Id System /dev/sda1 * 1 18662 149902483+ 83 Linux /dev/sda2 18663 19457 6385807 f W95 Ext'd (LBA) /dev/sda5 18663 19457 6385806 82 Linux swap / Solaris Disk /dev/sdb: 320.1 GB, 320072933376 bytes 255 heads, 63 sectors/track, 38913 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xfeffeeaa Device Boot Start End Blocks Id System /dev/sdb1 * 1 38914 312568832 7 HPFS/NTFS Disk /dev/sdc: 120.0 GB, 120034123776 bytes 255 heads, 63 sectors/track, 14593 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x13944bce Device Boot Start End Blocks Id System /dev/sdc1 * 1 13 102400 7 HPFS/NTFS Partition 1 does not end on cylinder boundary. /dev/sdc2 13 14594 117115904 7 HPFS/NTFS