Grub2 and multiple boot different ubuntu versions

Karl Larsen klarsen1 at gmail.com
Thu Mar 25 02:02:46 UTC 2010


On 03/24/2010 07:52 PM, NoOp wrote:
> On 03/24/2010 06:25 PM, Goh Lip wrote:
>    
>> On 03/25/2010 05:25 AM, Colin Law wrote:
>>
>>      
>>> Many thanks to all for the suggestions, I have learned a lot from
>>> working through them.  I hope you will all not be upset if I decide to
>>> wimp out and just live with what I have, editing /etc/default/grub
>>> occasionally as required.  I think possibly the possibility of causing
>>> myself grief outweighs the benefit.
>>>        
>>
>> Very good point. Precisely; it's not much of a hassle just editing
>> grub.cfg (not even /etc/default/grub and update-grub).
>>      
> So how would you advise a standard multiboot user to edit this:
>
>    
>> #
>> # DO NOT EDIT THIS FILE
>> #
>> # It is automatically generated by /usr/sbin/grub-mkconfig using templates
>> # from /etc/grub.d and settings from /etc/default/grub
>> #
>>
>> ### BEGIN /etc/grub.d/00_header ###
>> if [ -s $prefix/grubenv ]; then
>>    load_env
>> fi
>> set default="7"
>> if [ ${prev_saved_entry} ]; then
>>    set saved_entry=${prev_saved_entry}
>>    save_env saved_entry
>>    set prev_saved_entry=
>>    save_env prev_saved_entry
>>    set boot_once=true
>> fi
>>
>> function savedefault {
>>    if [ -z ${boot_once} ]; then
>>      saved_entry=${chosen}
>>      save_env saved_entry
>>    fi
>> }
>>
>> function recordfail {
>>    set recordfail=1
>>    if [ -n ${have_grubenv} ]; then if [ -z ${boot_once} ]; then save_env recordfail; fi; fi
>> }
>> insmod ext2
>> set root='(hd0,8)'
>> search --no-floppy --fs-uuid --set<snipped>
>> if loadfont /usr/share/grub/unicode.pf2 ; then
>>    set gfxmode=640x480
>>    insmod gfxterm
>>    insmod vbe
>>    if terminal_output gfxterm ; then true ; else
>>      # For backward compatibility with versions of terminal.mod that don't
>>      # understand terminal_output
>>      terminal gfxterm
>>    fi
>> fi
>> insmod ext2
>> set root='(hd0,8)'
>> search --no-floppy --fs-uuid --set<snipped>
>> set locale_dir=($root)/boot/grub/locale
>> set lang=en
>> insmod gettext
>> if [ ${recordfail} = 1 ]; then
>>    set timeout=-1
>> else
>>    set timeout=10
>> fi
>> ### END /etc/grub.d/00_header ###
>>
>> ### BEGIN /etc/grub.d/05_debian_theme ###
>> set menu_color_normal=white/black
>> set menu_color_highlight=black/light-gray
>> ### END /etc/grub.d/05_debian_theme ###
>>
>> ### BEGIN /etc/grub.d/10_linux ###
>> menuentry "Ubuntu, with Linux 2.6.32-17-generic" --class ubuntu --class gnu-linux --class gnu --class os {
>> 	recordfail
>> 	insmod ext2
>> 	set root='(hd0,8)'
>> 	search --no-floppy --fs-uuid --set<snipped>
>> 	linux	/boot/vmlinuz-2.6.32-17-generic root=UUID=<snipped>  ro   quiet splash
>> 	initrd	/boot/initrd.img-2.6.32-17-generic
>> }
>> menuentry "Ubuntu, with Linux 2.6.32-17-generic (recovery mode)" --class ubuntu --class gnu-linux --class gnu --class os {
>> 	recordfail
>> 	insmod ext2
>> 	set root='(hd0,8)'
>> 	search --no-floppy --fs-uuid --set<snipped>
>> 	echo	Loading Linux 2.6.32-17-generic ...
>> 	linux	/boot/vmlinuz-2.6.32-17-generic root=UUID=<snipped>  ro single
>> 	echo	Loading initial ramdisk ...
>> 	initrd	/boot/initrd.img-2.6.32-17-generic
>> }
>> menuentry "Ubuntu, with Linux 2.6.32-16-generic" --class ubuntu --class gnu-linux --class gnu --class os {
>> 	recordfail
>> 	insmod ext2
>> 	set root='(hd0,8)'
>> 	search --no-floppy --fs-uuid --set<snipped>
>> 	linux	/boot/vmlinuz-2.6.32-16-generic root=UUID=<snipped>  ro   quiet splash
>> 	initrd	/boot/initrd.img-2.6.32-16-generic
>> }
>> menuentry "Ubuntu, with Linux 2.6.32-16-generic (recovery mode)" --class ubuntu --class gnu-linux --class gnu --class os {
>> 	recordfail
>> 	insmod ext2
>> 	set root='(hd0,8)'
>> 	search --no-floppy --fs-uuid --set<snipped>
>> 	echo	Loading Linux 2.6.32-16-generic ...
>> 	linux	/boot/vmlinuz-2.6.32-16-generic root=UUID=<snipped>  ro single
>> 	echo	Loading initial ramdisk ...
>> 	initrd	/boot/initrd.img-2.6.32-16-generic
>> }
>> ### END /etc/grub.d/10_linux ###
>>
>> ### BEGIN /etc/grub.d/20_memtest86+ ###
>> menuentry "Memory test (memtest86+)" {
>> 	insmod ext2
>> 	set root='(hd0,8)'
>> 	search --no-floppy --fs-uuid --set<snipped>
>> 	linux16	/boot/memtest86+.bin
>> }
>> menuentry "Memory test (memtest86+, serial console 115200)" {
>> 	insmod ext2
>> 	set root='(hd0,8)'
>> 	search --no-floppy --fs-uuid --set<snipped>
>> 	linux16	/boot/memtest86+.bin console=ttyS0,115200n8
>> }
>> ### END /etc/grub.d/20_memtest86+ ###
>>
>> ### BEGIN /etc/grub.d/30_os-prober ###
>> menuentry "Windows 7 (loader) (on /dev/sda1)" {
>> 	insmod ntfs
>> 	set root='(hd0,1)'
>> 	search --no-floppy --fs-uuid --set<snipped>
>> 	chainloader +1
>> }
>> menuentry "Ubuntu, Linux 2.6.31-20-generic (on /dev/sda5)" {
>> 	insmod ext2
>> 	set root='(hd0,5)'
>> 	search --no-floppy --fs-uuid --set<snipped>
>> 	linux /boot/vmlinuz-2.6.31-20-generic root=UUID=<snipped>  ro quiet splash
>> 	initrd /boot/initrd.img-2.6.31-20-generic
>> }
>> menuentry "Ubuntu, Linux 2.6.31-20-generic (recovery mode) (on /dev/sda5)" {
>> 	insmod ext2
>> 	set root='(hd0,5)'
>> 	search --no-floppy --fs-uuid --set<snipped>
>> 	linux /boot/vmlinuz-2.6.31-20-generic root=UUID=<snipped>  ro single
>> 	initrd /boot/initrd.img-2.6.31-20-generic
>> }
>> menuentry "Ubuntu, Linux 2.6.31-19-generic (on /dev/sda5)" {
>> 	insmod ext2
>> 	set root='(hd0,5)'
>> 	search --no-floppy --fs-uuid --set<snipped>
>> 	linux /boot/vmlinuz-2.6.31-19-generic root=UUID=<snipped>  ro quiet splash
>> 	initrd /boot/initrd.img-2.6.31-19-generic
>> }
>> menuentry "Ubuntu, Linux 2.6.31-19-generic (recovery mode) (on /dev/sda5)" {
>> 	insmod ext2
>> 	set root='(hd0,5)'
>> 	search --no-floppy --fs-uuid --set<snipped>
>> 	linux /boot/vmlinuz-2.6.31-19-generic root=UUID=<snipped>e ro single
>> 	initrd /boot/initrd.img-2.6.31-19-generic
>> }
>> menuentry "Ubuntu, linux 2.6.24-27-generic (on /dev/sda7)" {
>> 	insmod ext2
>> 	set root='(hd0,7)'
>> 	search --no-floppy --fs-uuid --set<snipped>
>> 	linux /boot/vmlinuz-2.6.24-27-generic root=UUID=<snipped>  ro quiet splash
>> 	initrd /boot/initrd.img-2.6.24-27-generic
>> }
>> menuentry "Ubuntu, linux 2.6.24-27-generic (single-user mode) (on /dev/sda7)" {
>> 	insmod ext2
>> 	set root='(hd0,7)'
>> 	search --no-floppy --fs-uuid --set<snipped>
>> 	linux /boot/vmlinuz-2.6.24-27-generic root=UUID=<snipped>  ro single
>> 	initrd /boot/initrd.img-2.6.24-27-generic
>> }
>> menuentry "Ubuntu, linux 2.6.24-26-generic (on /dev/sda7)" {
>> 	insmod ext2
>> 	set root='(hd0,7)'
>> 	search --no-floppy --fs-uuid --set<snipped>
>> 	linux /boot/vmlinuz-2.6.24-26-generic root=UUID=<snipped>  ro quiet splash
>> 	initrd /boot/initrd.img-2.6.24-26-generic
>> }
>> menuentry "Ubuntu, linux 2.6.24-26-generic (single-user mode) (on /dev/sda7)" {
>> 	insmod ext2
>> 	set root='(hd0,7)'
>> 	search --no-floppy --fs-uuid --set<snipped>
>> 	linux /boot/vmlinuz-2.6.24-26-generic root=UUID=<snipped>  ro single
>> 	initrd /boot/initrd.img-2.6.24-26-generic
>> }
>> menuentry "Memory test (memtest86+) (on /dev/sda7)" {
>> 	insmod ext2
>> 	set root='(hd0,7)'
>> 	search --no-floppy --fs-uuid --set<snipped>
>> 	linux /boot/memtest86+.bin
>> }
>> ### END /etc/grub.d/30_os-prober ###
>>
>> ### BEGIN /etc/grub.d/40_custom ###
>> # This file provides an easy way to add custom menu entries.  Simply type the
>> # menu entries you want to add after this comment.  Be careful not to change
>> # the 'exec tail' line above.
>> ### END /etc/grub.d/40_custom ###
>>      
> to simply edit out the memtest bits? Would I take the chance of deleting a:
>
>    
>> }
>> menuentry "Memory test (memtest86+) (on /dev/sda7)" {
>> 	insmod ext2
>> 	set root='(hd0,7)'
>> 	search --no-floppy --fs-uuid --set<snipped>
>> 	linux /boot/memtest86+.bin
>> }
>>      
> to see if it works or not?
>    

     NO! When trying to see if it works save a copy of grub.cfg 
unchanged. That way your no worse off than you were, but wiser...

73 Karl

> You see, it will take quite a bit of work to do that, and a single
> mistake could bork grub2 in the process. Plus, how do you keep it updated?
>
> While I very much respect your advise&  opinions, I seriously doubt that
> modifying grub2 is easier than the former menu.lst and/or 'not much of a
> hassle'. Note that Tom H had to provide a method simply to eliminate the
> Win7 bits (thanks Tom H!) for the Win7 recovery entries.
>
>
>
>
>
>    





More information about the ubuntu-users mailing list