Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Grub has gone completely insane on me. My quad-boot system was working great up until I upgraded Ubuntu to 12.04. Since Ubuntu overwrote the Grub stuff I had to repair it with my Mac OS X and FreeBSD entries. After this, trying to boot Mac OS X gave me the error "couldn't open file" and FreeBSD gave the error "no such partition". Windows and Ubuntu worked fine.

So I tried repairing again because I figured something must've gone wrong in the install process. Then only Ubuntu would boot. Trying to boot Windows would give me the error "no argument specified".

I tried repairing Grub once again, since I seemed to be getting different results each time. This time, Ubuntu no longer appeared in the Grub menu, and the errors for the other OSes were the same.

So I booted into the Ubuntu 12.04 live CD and ran Boot-Repair with recommended settings. Now Grub is completely skipped and Windows boots up.

I have absolutely no idea what is going on or why I get different results every time I reinstall Grub. Here is how my partitions are set up:

  • sda1 - Storage drive,
  • sdb1 - Windows,
  • sdb2 - Mac OS X,
  • sdb3 - FreeBSD,
  • sdb4 - Extended,
  • sdb5 - Ubuntu,
  • sdb6 - Shared storage,
  • sdb7 - Shared Storage,

Here's my grub.cfg file: grub.cfg

share|improve this question

2 Answers 2

Okay, it sounds like your GRUB installation was messed up, and then Boot Repair overwrote it with the Windows MBR.

Boot into the Ubuntu 12.04 LiveCD and reinstall Grub2 from the terminal. I'm presuming you aren't upgrading from some older Ubuntu that came with Grub Legacy. Either way, you want Grub2, which comes with Ubuntu by default.

These are commands you'll want to run, replacing /dev/sdAX with the partition that you have Ubuntu on (which appears to be /dev/sdb5 - you can check with 'sudo fdisk -l'):

sudo su
mkdir /mnt/root

mount -t ext4 /dev/sdAX /mnt/root
mount -t proc none /mnt/root/proc
mount -o bind /dev /mnt/root/dev
mount -o bind /sys /mnt/root/sys

chroot /mnt/root /bin/bash

sudo grub-install /dev/sda
sudo update-grub

Basically, it loads the necessary files from Ubuntu, then uses them to find all your OSes and setup a grub.cfg file.

Some more information on installing Grub2 here.

share|improve this answer

This is how I would set this up:

1: Install PLoP to the MBR. (link at bottom)

2: Configure PLoP and add the 4 bootable partitions:

a: Boot up computer

b: Select "Setup"

c: Select "Profiles"

d: Select the first entry

e: Change the name to Windows or something

f: Set "Show in boot menu" to "yes". Do this for all entries you change!

g: Enter partitions, and when cursor is on "HDB1", press the "B" key on your keyboard

h: Press "ESC" to exit, and press "Y" and "Enter"

i: Do this for the next 3 entries, here is the list of partitions for each entry:

A: HDB1, press "B" (Windows)

B: HDB2, press "B" (Mac OSX)

C: HDB3, press "B" (FreeBSD)

D: HDB4, press "B", and press "L" until "L1" appears (Ubuntu)

j: Your now finished with configuring PLoP. If you want to configure advanced settings, refer to the website.

3: Boot up Ubuntu and FreeBSD if you can, and update-grub. If you can't boot either of those, burn SG2D or similar and install grub onto /dev/sdb3 , and /dev/sdb5

4: You should now have a working Quad-boot system. Congrats! If not, comment the part you had problems with, and I'll try to help.

Links: PLoP: http://www.plop.at/ SG2D: http://www.supergrubdisk.org/super-grub2-disk/

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.