Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

When I run either sudo update-grub or sudo grub-mkconfig -o /boot/grub/grub.cfg, it proceeds as normal, but when I check /boot/grub/grub.cfg, the file is the same as before even though I have installed new OSes!

I ran sudo grub-mkconfig -o /home/gabriel/Desktop/test.txt, and examined the file. It says that the owner is root, and only has read permissions. Furthermore, it's the old version of my GRUB setup, and doesn't reflect my recent install of Windows 8.

Are there any permissions that are incorrectly set or something? This is very vexing.

os-prober output:

/dev/sda1:Windows 8 (loader):Windows:chain
/dev/sda12:unknown Linux distribution:Linux:linux
/dev/sda5:Windows Recovery Environment (loader):Windows1:chain
/dev/sda6:Windows 7 (loader):Windows2:chain
/dev/sda8:Fedora release 17 (Beefy Miracle):Fedora:linux

Note: "unknown Linux distribution" is ChromiumOS.

This is the output of bootinfoscript.

share|improve this question
    
Did you have an existing version of Windows prior to installing Windows 8? Windows combines it's boot partitions normally. Add some more info e.g. output of sudo os-prober and maybe the bootinfoscript. –  bcbc Dec 20 '12 at 23:33
    
@bcbc Pretty sure that in the past when I dual-booted 8 and 7 that there was a bootloader on each partition (I don't have a "System Reserved" partitions, so each Windows partition has its own bootloader). Thank you for your interest! –  WindowsEscapist Dec 21 '12 at 2:14
1  
Windows's bootloader selects the partition with the boot flag set. So with a standard windows multiboot, there is always one Windows Boot Manager in control. You seem to have the boot flag set on two partitions (/dev/sda1 and /dev/sda2). –  bcbc Dec 21 '12 at 12:18
    
Missed that, will fix and see what happens. However, I still can't change my grub.cfg, which is the problem. –  WindowsEscapist Dec 22 '12 at 18:59
1  
There's a bug with grub not picking up certain OSes when the partition is not mounted. Try this: sudo mv /boot/grub/grub.cfg /boot/grub/grub.cfg.bu. Then run sudo update-grub. Then diff the two files: diff /boot/grub/grub.cfg.bu /boot/grub/grub.cfg. Just because it's marked read-only doesn't mean grub won't regenerate it. It's just to stop people editing it, because their changes will be lost. (And you can get around that if you must, but not recommended). –  bcbc Dec 22 '12 at 20:25

1 Answer 1

up vote 0 down vote accepted

Problem solved, will vote for this to be closed. (Thank you for your time, bcbc.) This was my fault.

It looks like my Windows boot configuration data got screwed up by Windows' Startup Repair - my recovery partition (at the beginning of the disk) in particular. It had gotten the Windows 8 bootloader installed on top of it :( and there was no bootloader installed on the new 8 partition. I thought that it was giving me an old configuration because it in effect wasn't showing any changes. Since this is a new install, I've just wiped that 8 install and started again, but I suspect that this would be much harder on an established install.

Lesson learned: instead of lazily running Startup Repair, fix things from Command Prompt yourself! Startup repair becomes unreliable with many Windows installs!

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.