Can script that creates "Description" [other linux] be blocked from installing on grub2 12.04 ?

Asked by Galen Thurber on 2014-11-25

gc version 4.0.6
xubuntu 12.04 current
grub2

problem.
GC creates a grub2 menu item such as
Description Linux Lite ....
that I don't want.

Can that script be blocked / diasbled?

Question information

Language:
English Edit question
Status:
Solved
For:
Grub Customizer Edit question
Assignee:
No assignee Edit question
Solved by:
Daniel Richter
Solved:
2014-12-28
Last query:
2014-12-28
Last reply:
2014-12-28

Grub Customizer shouldn't create anything on its own. When loading the configuration, it should be exactly the same as displayed on the boot menu.

Please show your /boot/grub/grub.cfg

Galen Thurber (godfree2) said : #3

oops grub.cfg from wrong machine
I'll post from proper machine.

Galen Thurber (godfree2) said : #4

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by 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
  set have_grubenv=true
  load_env
fi
set default="5"
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
}

function load_video {
  insmod vbe
  insmod vga
  insmod video_bochs
  insmod video_cirrus
}

insmod part_msdos
insmod ext2
set root='(hd0,msdos5)'
search --no-floppy --fs-uuid --set=root d..c9091-e4aa-4452-9..a-6fb62a0288..
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  insmod part_msdos
  insmod ext2
  set root='(hd0,msdos5)'
  search --no-floppy --fs-uuid --set=root d..c9091-e4aa-4452-9..a-6fb62a0288..
  set locale_dir=($root)/boot/grub/locale
  set lang=en_CA
  insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ] ; then
  set timeout=-1
else
  set timeout=9
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/30_os-prober_proxy ###
### END /etc/grub.d/30_os-prober_proxy ###

### BEGIN /etc/grub.d/31_custom_proxy ###
menuentry "Linux Lite 3.13.0-24-generic (recovery mode)" --class gnu-linux --class gnu --class os {
 savedefault
 insmod part_msdos
 insmod ext2
 set root='(hd0,msdos8)'
 search --no-floppy --fs-uuid --set=root 91b88a55-6d3b-40c0-acb4-6d18c4315b..
 linux /boot/vmlinuz-3.13.0-24-generic root=UUID=91b88a55-6d3b-40c0-acb4-6d18c4315b.. ro recovery nomodeset
 initrd /boot/initrd.img-3.13.0-24-generic
}
menuentry "Memory test (memtest86+)" {
 insmod part_msdos
 insmod ext2
 set root='(hd0,msdos5)'
 search --no-floppy --fs-uuid --set=root d..c9091-e4aa-4452-9..a-6fb62a0288..
 linux16 /boot/memtest86+.bin
}
menuentry "Sparky GNU/Linux (jessie/sid) (on /dev/sda9)" --class gnu-linux --class gnu --class os {
 savedefault
 insmod part_msdos
 insmod ext2
 set root='(hd0,msdos9)'
 search --no-floppy --fs-uuid --set=root 4bd45139-ed..-422c-9ea6-acb660f747b7
 linux /vmlinuz root=/dev/sda9
 initrd /initrd.img
}
### END /etc/grub.d/31_custom_proxy ###

### BEGIN /etc/grub.d/32_os-prober_proxy ###
menuentry "Windows 7 (loader) (on /dev/sda1)" --class windows --class os {
 insmod part_msdos
 insmod ntfs
 set root='(hd0,msdos1)'
 search --no-floppy --fs-uuid --set=root 4C504A0A5049FB6A
 chainloader +1
}
### END /etc/grub.d/32_os-prober_proxy ###

### BEGIN /etc/grub.d/33_custom_proxy ###
menuentry "Xubuntu 3.2.0-70 (main OS)" --class ubuntu --class gnu-linux --class gnu --class os {
 recordfail
 savedefault
 gfxmode $linux_gfx_mode
 insmod gzio
 insmod part_msdos
 insmod ext2
 set root='(hd0,msdos5)'
 search --no-floppy --fs-uuid --set=root d..c9091-e4aa-4452-9..a-6fb62a0288..
 linux /boot/vmlinuz-3.2.0-70-generic root=UUID=d..c9091-e4aa-4452-9..a-6fb62a0288.. ro quiet splash $vt_handoff
 initrd /boot/initrd.img-3.2.0-70-generic
}
menuentry "Description Ubuntu 14.04.1 LTS GNU/Linux' --class description_ --class gnu-linux --class gnu --class os 'gnulinux-simple-91b88a55-6d3b-40c0-acb4-6d18c4315b.. (on /dev/sda8)" --class gnu-linux --class gnu --class os {
 savedefault
 insmod part_msdos
 insmod ext2
 set root='(hd0,msdos8)'
 search --no-floppy --fs-uuid --set=root 91b88a55-6d3b-40c0-acb4-6d18c4315b..
 linux /boot/vmlinuz-3.13.0-24-generic root=UUID=91b88a55-6d3b-40c0-acb4-6d18c4315b.. ro quiet splash $vt_handoff
 initrd /boot/initrd.img-3.13.0-24-generic
}
### END /etc/grub.d/33_custom_proxy ###

### BEGIN /etc/grub.d/34_os-prober_proxy ###
### END /etc/grub.d/34_os-prober_proxy ###

hmm I was able to remove it just by clicking the remove button. Isn't it working for you? Or what did you try?

Galen Thurber (godfree2) said : #6

remove will work but the
"Description Linux" keeps coming back on a refresh
is this caused by os-prober script ?

What's the output of:
sudo /etc/grub.d/proxifiedScripts/os-prober

Galen Thurber (godfree2) said : #8

Found Linux Lite 2.0 (14.04) on /dev/sda6
menuentry "Description Linux Lite 2.0 GNU/Linux' --class description_ --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-ceda1951-6913-4bf7-a54a-4b21ffdfc6f7 (on /dev/sda6)" --class gnu-linux --class gnu --class os {
 insmod part_msdos
 insmod ext2
 set root='(hd0,msdos6)'
 search --no-floppy --fs-uuid --set=root ceda1951-6913-4bf7-a54a-4b21ffdfc6f7
 linux /boot/vmlinuz-3.13.0-40-generic root=UUID=ceda1951-6913-4bf7-a54a-4b21ffdfc6f7 ro quiet splash $vt_handoff
 initrd /boot/initrd.img-3.13.0-40-generic
}
menuentry "Description Linux Lite 2.0 GNU/Linux, with Linux 3.13.0-40-generic' --class description_ --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.13.0-40-generic-advanced-ceda1951-6913-4bf7-a54a-4b21ffdfc6f7 (on /dev/sda6)" --class gnu-linux --class gnu --class os {
 insmod part_msdos
 insmod ext2
 set root='(hd0,msdos6)'
 search --no-floppy --fs-uuid --set=root ceda1951-6913-4bf7-a54a-4b21ffdfc6f7
 linux /boot/vmlinuz-3.13.0-40-generic root=UUID=ceda1951-6913-4bf7-a54a-4b21ffdfc6f7 ro quiet splash $vt_handoff
 initrd /boot/initrd.img-3.13.0-40-generic
}
menuentry "Description Linux Lite 2.0 GNU/Linux, with Linux 3.13.0-40-generic (recovery mode)' --class description_ --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.13.0-40-generic-recovery-ceda1951-6913-4bf7-a54a-4b21ffdfc6f7 (on /dev/sda6)" --class gnu-linux --class gnu --class os {
 insmod part_msdos
 insmod ext2
 set root='(hd0,msdos6)'
 search --no-floppy --fs-uuid --set=root ceda1951-6913-4bf7-a54a-4b21ffdfc6f7
 linux /boot/vmlinuz-3.13.0-40-generic root=UUID=ceda1951-6913-4bf7-a54a-4b21ffdfc6f7 ro recovery nomodeset
 initrd /boot/initrd.img-3.13.0-40-generic
}
menuentry "Description Linux Lite 2.0 GNU/Linux, with Linux 3.13.0-39-generic' --class description_ --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.13.0-39-generic-advanced-ceda1951-6913-4bf7-a54a-4b21ffdfc6f7 (on /dev/sda6)" --class gnu-linux --class gnu --class os {
 insmod part_msdos
 insmod ext2
 set root='(hd0,msdos6)'
 search --no-floppy --fs-uuid --set=root ceda1951-6913-4bf7-a54a-4b21ffdfc6f7
 linux /boot/vmlinuz-3.13.0-39-generic root=UUID=ceda1951-6913-4bf7-a54a-4b21ffdfc6f7 ro quiet splash $vt_handoff
 initrd /boot/initrd.img-3.13.0-39-generic
}
menuentry "Description Linux Lite 2.0 GNU/Linux, with Linux 3.13.0-39-generic (recovery mode)' --class description_ --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.13.0-39-generic-recovery-ceda1951-6913-4bf7-a54a-4b21ffdfc6f7 (on /dev/sda6)" --class gnu-linux --class gnu --class os {
 insmod part_msdos
 insmod ext2
 set root='(hd0,msdos6)'
 search --no-floppy --fs-uuid --set=root ceda1951-6913-4bf7-a54a-4b21ffdfc6f7
 linux /boot/vmlinuz-3.13.0-39-generic root=UUID=ceda1951-6913-4bf7-a54a-4b21ffdfc6f7 ro recovery nomodeset
 initrd /boot/initrd.img-3.13.0-39-generic
}
menuentry "Description Linux Lite 2.0 GNU/Linux, with Linux 3.13.0-37-generic' --class description_ --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.13.0-37-generic-advanced-ceda1951-6913-4bf7-a54a-4b21ffdfc6f7 (on /dev/sda6)" --class gnu-linux --class gnu --class os {
 insmod part_msdos
 insmod ext2
 set root='(hd0,msdos6)'
 search --no-floppy --fs-uuid --set=root ceda1951-6913-4bf7-a54a-4b21ffdfc6f7
 linux /boot/vmlinuz-3.13.0-37-generic root=UUID=ceda1951-6913-4bf7-a54a-4b21ffdfc6f7 ro quiet splash $vt_handoff
 initrd /boot/initrd.img-3.13.0-37-generic
}
menuentry "Description Linux Lite 2.0 GNU/Linux, with Linux 3.13.0-37-generic (recovery mode)' --class description_ --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.13.0-37-generic-recovery-ceda1951-6913-4bf7-a54a-4b21ffdfc6f7 (on /dev/sda6)" --class gnu-linux --class gnu --class os {
 insmod part_msdos
 insmod ext2
 set root='(hd0,msdos6)'
 search --no-floppy --fs-uuid --set=root ceda1951-6913-4bf7-a54a-4b21ffdfc6f7
 linux /boot/vmlinuz-3.13.0-37-generic root=UUID=ceda1951-6913-4bf7-a54a-4b21ffdfc6f7 ro recovery nomodeset
 initrd /boot/initrd.img-3.13.0-37-generic
}
set timeout_style=menu
if [ "${timeout}" = 0 ]; then
  set timeout=10
fi

Galen Thurber (godfree2) said : #9

above is from my desktop
I will post from the laptop in question as well

Galen Thurber (godfree2) said : #10

while the customizer screen did not show an active
"description ..." entry
once GC saved to mbr
it showed up in grub.conf

### BEGIN /etc/grub.d/45_os-prober_proxy ###
menuentry "Description Linux Lite 2.0 GNU/Linux, with Linux 3.13.0-40-generic' --class d .....

Galen Thurber (godfree2) said : #11

GC it doing this on other computers I've setup
example
grub.cfg
...
### BEGIN /etc/grub.d/45_os-prober_proxy ###
menuentry "Description Linux Lite 2.0 GNU/Linux, ....

above does not show up in th GC GUI

The problem is: The script 45_os-prober_proxy is not properly generated. There's a variable inside of the original name (which should intentionally be evaluated at boot time). Because the "$" is not escaped, the bash is trying to evaluate it. The Grub Customizer GUI isn't doing this way, so it's hidden there. However it should tell you that your grub.cfg is outdated when closing the application - because it's seeing that this menuentry exists there.

Why just this one menuentry? Because the first one doesn't contain a "$" and from the third they have unique contents. When contents are uniue, menuentries can be addressed by content alternatively. However the send has same contents like first so it's treated as new.

I'll have to fix the problem. However this may take some time. You have two ways to work around:

1) edit /etc/grub.d/*_os-prober_proxy and replace $ by \$ then run `sudo update-grub`. Problem: The file will be overwritten when using grub customizer.
2) run grub customizer. Go to view -> show placeholders -> active this checkbox. Then remove the menuentry "(incoming entries)" *of the script "os-prober"*. This will cause grub customizer to ignore all new menuentries of os-prober. So they appear as removed and wont show up automatically.

Galen Thurber (godfree2) said : #13

thank you for great support