2

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...

Background.

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.

Current Situation.

I can choose from BIOS to boot into any of the 3 drives, or from a LiveCD.

  1. Boot from new 120GB drive. Windows BCP displayed.
  2. Boot from original 320GB Windows - no boot menu, loads directly into Vista
  3. 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

Details

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
1

2 Answers 2

1

Ok I have had progress and am a fair amount of the way there.

I've followed the steps at https://help.ubuntu.com/community/RecoveringUbuntuAfterInstallingWindows

Specifically finding my UUID using mount and then executing the following:

sudo grub-install --boot-directory=/media/<my UUID>/boot /dev/sda

I thought I had already done this, but perhaps not.

Now setting my boot drive in BIOS as the Linux drive displays the boot loader and allows me to boot into Ubuntu 11.04. Next step is to see if Grub also boots Windows successfully, and similarly if I can configure the Windows boot loader to see Ubuntu.

UPDATE

  • Grub doesn't see Windows, so will look at adding that entry.
  • Windows BCP Grub2 auto configured entry still has same error. However the grub1 option after an error then launches grub and I can boot onwards from there
0

Boot from 11.04-Live-CD. Start gparted. Delete all partitions on the non-SSD-disk. Unset the boot-flag for the SSD-Drive. Then install 11.04. Should work, if your disks are rekognized now. You should also check if the physical Master/Slave-pins on your HDDs are set correctly.

1
  • Thanks for your reply - I will look into this. Two questions though: 1. how to unset the boot flag, is this done in gparted? 2. Will unsetting this have any effect on my existing bootup into Win7?
    – Kris C
    May 28, 2011 at 14:59

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .