boot menu

Basil Chupin blchupin at iinet.net.au
Mon Apr 1 12:39:36 UTC 2013


On 01/04/13 05:29, Robert Holtzman wrote:
> On Sun, Mar 31, 2013 at 05:23:36PM +1100, Basil Chupin wrote:
>> On 31/03/13 16:06, Robert Holtzman wrote:
>>> On Sat, Mar 30, 2013 at 08:02:25PM -0400, Tom H wrote:
>>>> On Sat, Mar 30, 2013 at 7:56 PM, Robert Holtzman <holtzm at cox.net> wrote:
>>>>> Running Ubuntu 12.04 among other distros. I had kernels all the way back
>>>>> to 3.2.0-23 in /boot. Ran "apt-get remove --purge" on all but the
>>>>> current and the previous two kernels. I watched grub.cfg being created
>>>>> and it showed the three correct kernels and the other distros. When I
>>>>> rebooted the menu showed all the kernels I had just removed. Update-grub
>>>>> showed the correct number of kernels.
>>>> Another distro must be controlling grub.
>>> Possibly but if so how come grub.conf was (supposedly) created that
>>> showed the correct info?
>> Sorry, but this is a "no brainer".
>> The grub.cfg (and not grub/conf which you state)
> Sorry. I was typing this from memory late at night.
>
>> was created by the
>> version of the oS you *just* installed.
> This occurred to me when I was in bed last night. I felt like opening a
> vein in embarrassment.

:-)

No need for such a drastic measure.

> But the grub.cfg of the oS which is *in* *control* of the boot menu
> from which you select which oS you want booted has *NOT* been
> changed to take into account the changes you made to the list of
> kernels.
>
> I don't know which oS has the control but what you need to do is to
> go into *that* oS and run (assuming that it is a Linux distro and
> using grub2)-
>
> sudo grub2-mkconfig -o /boot/grub2/grib.cfg
> First thing this morning I booted the controlling OS (Mint)
> and ran sudo update-grub which took care of the problem.
>
> My only question is since update-grub worked, where did your
> grub2-mkconfig command come from? The only time I ran into that was when
> I tried out Fedora 17. Is that peculiar to RPM based distros?

There are 3 issues in this last para of yours. Lets answer the last one 
first - the one about Fedora.

As I understand it Fedora is like Windows: it installs the boot info in 
the MBR (and the necessary files in /boot/grub2/ )and therefore 
overwrites what's there (this is the simplest explanation). When you 
boot the computer Fedora wiIl be the first distro to come on the menu to 
boot into. So, if you install Fedora *after* you have installed other 
Linux distros then Fedora will control all others just like the Ring to 
Rule Them All.

You say, "First thing this morning I booted the controlling OS (Mint) 
and ran sudo update-grub which took care of the problem."

So this shows that Mint is the distro which has control over all the 
other distros you have installed.

To be very honest I don't know much about Mint (except that I did try it 
some 3 or so years ago) and don't know if it uses grub (legacy) or grub2 
but the use of "update-grub" indicates to me that it is using grub 
(legacy) and that grub-update only recreated the grub.cfg in Mint's 
/boot/grub/grub.cfg.

And doing "grub-update" would, naturally, also have picked up that you 
have another/other distros installed and included them in the grub boot 
menu (when you boot your computer).

Re where "grub2-mkconfig" comes in. As far as I am aware the use of 
"grub-update" is no longer used in distros which use *grub2*. 
"grub-update" has been replaced with "grub2-mkconfig -o 
/boot/grub2/grub.cfg" - which is why I mentioned it thinking that you 
were dealing with grub2.

Now, you state that you installed 12.04 - which uses grub2. If you now 
do some changes in 12.04 to, say, the version of the kernel, you will 
need to run in *12.04* "grub2-mkconfig -o /boot/grub2/grub.cfg" to get 
this grub.cfg to reflect the change in 12.04 and *then* boot into Mint 
and run "grub-update" to pick up this change in the 12.04 setup.

To see what I mean, have a look at grub.cfg which is in Mint. This will 
show the kernel which is used to boot 12.04 at the moment. Do the same 
in 12.04 and you will see the same kernel version there (in 
/boot/grub2/grub.cfg). If what is in 12.04 changes but the change is not 
reflected in what is in Mint's grub.cfg then 12.04 will not boot. I 
think you get the picture, right?

> which will then pickup the info in *this*, the controlling oS, and
> also then pickup the info in the altered grub.cfg in 12.04 (which
> now doesn't have all the redundant kernels listed).
> Thanks for the reply.

Not a problem.

I went thru a period of "hell" recently when trying to figure out grub2 
versus grub (legacy) but finally "I can see clearly now, the rain is 
gone." :-) . Grub2 is a piece of cake to use - just a bit different to 
grub (legacy) but it is not an ogre to frighten little children with :-) .

BC

-- 
Using openSUSE 12.3 x86_64 KDE 4.10.1 & kernel 3.8.5-1 on a system with-
AMD FX 8-core 3.6/4.2GHz processor
16GB PC14900/1866MHz Quad Channel Corsair "Vengeance" RAM
Gigabyte AMD3+ m/board; Gigabyte nVidia GTX550Ti 1GB DDR5 GPU






More information about the ubuntu-users mailing list