![]() |
ubuntu.com - launchpad.net - ubuntu help
|
|
|||||||
|
Tutorials & Tips The place to find Ubuntu related Tips & Tricks. |
|
|
Thread Tools | Display Modes |
|
|
|
|
#1 | |||||
|
Ubuntu addict and loving it
![]() Join Date: Jan 2007
Beans: 6,630
Ubuntu Development Release
|
Grub 2 Title Tweaks Thread
Grub 2 Title Tweaks or the I Don't Want It to Say "Microsoft Windows Vista Home Edition" Thread Purpose This thread offers tweaks to the Grub 2 10_linux and 30_os-prober files in /etc/grub.d. The purpose is to change the way Titles are displayed on the Grub 2 menu. With the exception of the "But First" section, the tweaks in this thread are outside the normal options currently available in Grub 2's /etc/default/grub. As Grub 2 options are incorporated by the developers these scripts will be annotated or removed. Before you get too deep into editing these scripts, remember you can also simply create a custom menu in which you can use your own titles, include or omit boot options, etc. See meierfra's page for creating a custom menu. If you are looking for an introduction on how Grub 2 works, please visit Grub 2 (Ubuntu Community Help doc), Grub 2 Basics or Grub 2 Introduction elsewhere on the Ubuntu Forums. This thread also does not discuss custom configuration files such as /etc/grub.d/40_custom although these tweaks could be incorporated therein. Feel free to post your tweaks but please limit this thread to posts concerning the Grub text you see in the menu. Also suggest improvements to the ones I posted - I'll edit them to keep them udpated. See the end of this post for some suggestions. Hopefully as the capabilities of Grub 2 are expanded or become better understood many of these tweaks will become unnecessary. In the meantime those truly anal among us who can never leave things alone will have a place of refuge. Tweaks This Guide Covers
Background Grub 2 displays, unlike Grub, are not controlled by a single file but rather by the settings in /etc/default/grub and a series of script files located in /etc/grub.d/ . These scripts determine, in part, how the menu options are transferred into /boot/grub/grub.cfg and the menu you see on boot. See Grub 2 Basics for a general overview of Grub 2 and for links to other Grub 2 resources. Before You Start
Remove Older Kernels If you are just seeing too many versions of the Linux kernel (including the associated recovery option), you can reduce the number by physically removing them from your machine. While it's best to keep at least one older kernel as a backup, others can be removed via Synaptic. Search for "linux-image" and select the lower-numbered kernels you no longer use. An example would be "linux-image-2.6.31-9-generic". You could also remove the "linux-header...." for the same kernel number. Once they are removed, run "sudo udpate-grub" and your menu will be less cluttered. Popular "Built-In" Tweaks for the / System Partition
Grub 2 Files The basic configuration settings are made in /etc/default/grub. This thread will not deal with those settings. The two primary files altered by tweaks in this thread are:
1. /etc/grub.d/10_linux - Changing/Limiting Ubuntu/Linux Titles (on default partition)
2. /etc/grub.d/30_os-prober - Changing Windows or Other Detected OS Titles (including Linux)
3. Hiding Windows (Vista) Recovery Partition Entry
4. Hiding A Partition You can hide any partition other than the system partition by editing /etc/grub.d/30_os-prober.
5. Changing Menu Entry Order Two simple ways to change the basic order of entries appearing in the Grub 2 menu:
6. Troubleshooting If the tweaks in this section do not work there are several things to check.
7. CUSTOM MENU TWEAKS! Naming your /etc/grub.d custom folder 06_custom will place the custom menu entries at the top of GRUB 2's menu. Menu items placed in 40_custom will appear the the bottom. If you use a numbered filename less than 30 you may want to check the "DEFAULT=" line in /etc/default/grub after running sudo update-grub to ensure the correct menuentry item is identified.
Thread Recommendations
Last edited by drs305; 2 Days Ago at 08:57 PM.. Reason: Order menu entries added. |
|||||
|
|
|
|
|
#2 |
|
GMO Free Ubuntu French Roast.
![]() Join Date: Sep 2006
Location: France.
My beans are hidden!
Ubuntu 9.10 Karmic Koala
|
Re: Grub 2 Title Tweaks Thread
Moved to karmic
__________________
| Guide to Forum features | Formating text on UF with BB code tags | PUU | PUW | My blog | Linux user #413984 ; Ubuntu user #178 J'aime les fraises. Please do not blindly run commands. |
|
|
|
|
|
#3 |
|
Has an Ubuntu Drip
![]() Join Date: Feb 2006
Location: So.San Francisco
Beans: 713
|
Re: Grub 2 Title Tweaks Thread
Wow, really nice job.....
darco
__________________
Reason: no beans |
|
|
|
|
|
#4 |
|
Just Give Me the Beans!
![]() Join Date: Mar 2009
Location: Australia
Beans: 78
Ubuntu Development Release
|
Re: Grub 2 Title Tweaks Thread
Heaps good.. Very Helpful Thanks
|
|
|
|
|
|
#5 |
|
Skinny Extra Sweet Ubuntu
![]() Join Date: Aug 2008
Location: South East Montana
Beans: 3,204
Ubuntu 8.04 Hardy Heron
|
Re: Grub 2 Title Tweaks Thread
I surely have not read it all yet but I am subscribed and then I had to read a little.
Looks really good.
__________________
Dell 480 XPS 3G ram Quad Core 2.40GHz, Radeon HD 2400 PRO, Audigy1, 3x320G HDD, 320G External, [ubuntu] Grub2 introduction |
|
|
|
|
|
#6 |
|
Just Give Me the Beans!
![]() Join Date: Mar 2009
Location: Australia
Beans: 78
Ubuntu Development Release
|
Re: Grub 2 Title Tweaks Thread
Alright so I have changed the name of the entries so they come up as
Code:
Ubuntu karmic Koala Ubuntu, Linux 2.6.31-13-generic (recovery mode) Ubuntu karmic Koala Ubuntu, Linux 2.6.31-12-generic (recovery mode) Memory test (memtest86+) Memory test (memtest86+, serial console 115200) Windows Vista This is my 30_os-prober Code:
#! /bin/sh -e
# grub-mkconfig helper script.
# Copyright (C) 2006,2007,2008,2009 Free Software Foundation, Inc.
#
# GRUB is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# GRUB is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GRUB. If not, see <http://www.gnu.org/licenses/>.
prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
. ${libdir}/grub/grub-mkconfig_lib
found_other_os=
adjust_timeout () {
if [ "x${found_other_os}" = "x" ] ; then
if [ "x${GRUB_HIDDEN_TIMEOUT}" != "x" ] ; then
if [ "x${GRUB_HIDDEN_TIMEOUT_QUIET}" = "xtrue" ] ; then
verbose=
else
verbose=" --verbose"
fi
if [ "x${GRUB_HIDDEN_TIMEOUT}" = "x0" ] ; then
cat <<EOF
if [ \${timeout} != -1 ]; then
if keystatus; then
if keystatus --shift; then
set timeout=-1
else
set timeout=0
fi
else
if sleep$verbose --interruptible 3 ; then
set timeout=0
fi
fi
fi
EOF
else
cat << EOF
if [ \${timeout} != -1 ]; then
if sleep$verbose --interruptible ${GRUB_HIDDEN_TIMEOUT} ; then
set timeout=0
fi
fi
EOF
fi
fi
fi
}
if [ "x${GRUB_DISABLE_OS_PROBER}" = "xtrue" ]; then
adjust_timeout
exit 0
fi
if [ -z "`which os-prober 2> /dev/null`" -o -z "`which linux-boot-prober 2> /dev/null`" ] ; then
# missing os-prober and/or linux-boot-prober
adjust_timeout
exit 0
fi
OSPROBED="`os-prober | tr ' ' '^' | paste -s -d ' '`"
if [ -z "${OSPROBED}" ] ; then
# empty os-prober output, nothing doing
adjust_timeout
exit 0
fi
for OS in ${OSPROBED} ; do
DEVICE="`echo ${OS} | cut -d ':' -f 1`"
LONGNAME="`echo ${OS} | cut -d ':' -f 2 | tr '^' ' '`"
LABEL="`echo ${OS} | cut -d ':' -f 3 | tr '^' ' '`"
BOOT="`echo ${OS} | cut -d ':' -f 4`"
if [ "${LONGNAME}" = "Windows Vista (loader)" ] ; then
LONGNAME="Windows Vista"
elif [ -z "${LONGNAME}" ] ; then
LONGNAME="${LABEL}"
fi
echo "Found ${LONGNAME} on ${DEVICE}" >&2
found_other_os=1
case ${BOOT} in
chain)
cat << EOF
menuentry "${LONGNAME}" {
EOF
save_default_entry | sed -e "s/^/\t/"
prepare_grub_to_access_device ${DEVICE} | sed -e "s/^/\t/"
case ${LONGNAME} in
Windows\ Vista*|Windows\ 7*)
;;
*)
cat << EOF
drivemap -s (hd0) \${root}
EOF
;;
esac
cat <<EOF
chainloader +1
}
EOF
;;
linux)
LINUXPROBED="`linux-boot-prober ${DEVICE} 2> /dev/null | tr ' ' '^' | paste -s -d ' '`"
for LINUX in ${LINUXPROBED} ; do
LROOT="`echo ${LINUX} | cut -d ':' -f 1`"
LBOOT="`echo ${LINUX} | cut -d ':' -f 2`"
LLABEL="`echo ${LINUX} | cut -d ':' -f 3 | tr '^' ' '`"
LKERNEL="`echo ${LINUX} | cut -d ':' -f 4`"
LINITRD="`echo ${LINUX} | cut -d ':' -f 5`"
LPARAMS="`echo ${LINUX} | cut -d ':' -f 6- | tr '^' ' '`"
# User-added variables
nomemtest="`echo ${LLABEL} | cut -d " " -f 1`"
nosingle="`echo ${LPARAMS} | sed 's/^.* //'`"
hidekernel="`echo ${LKERNEL} | cut -d'-' -f2`"
if [ -z "${LLABEL}" ] ; then
LLABEL="${LONGNAME}"
fi
if [ ${nomemtest} = "Memory" ] || [ ${nosingle} = "single" ]; then
break
fi
cat << EOF
menuentry "${LLABEL}" {
EOF
save_default_entry | sed -e "s/^/\t/"
prepare_grub_to_access_device ${DEVICE} | sed -e "s/^/\t/"
cat << EOF
linux ${LKERNEL} ${LPARAMS}
EOF
if [ -n "${LINITRD}" ] ; then
cat << EOF
initrd ${LINITRD}
EOF
fi
cat << EOF
}
EOF
done
;;
macosx)
OSXUUID="`grub-probe --target=fs_uuid --device ${DEVICE} 2> /dev/null`"
cat << EOF
menuentry "${LONGNAME}" {
EOF
save_default_entry | sed -e "s/^/\t/"
prepare_grub_to_access_device ${DEVICE} | sed -e "s/^/\t/"
cat << EOF
insmod vbe
do_resume=0
if [ /var/vm/sleepimage -nt10 / ]; then
if xnu_resume /var/vm/sleepimage; then
do_resume=1
fi
fi
if [ \$do_resume == 0 ]; then
xnu_uuid ${OSXUUID} uuid
if [ -f /Extra/DSDT.aml ]; then
acpi -e /Extra/DSDT.aml
fi
xnu_kernel /mach_kernel boot-uuid=\${uuid} rd=*uuid
if [ /System/Library/Extensions.mkext -nt /System/Library/Extensions ]; then
xnu_mkext /System/Library/Extensions.mkext
else
xnu_kextdir /System/Library/Extensions
fi
if [ -f /Extra/Extensions.mkext ]; then
xnu_mkext /Extra/Extensions.mkext
fi
if [ -d /Extra/Extensions ]; then
xnu_kextdir /Extra/Extensions
fi
if [ -f /Extra/devtree.txt ]; then
xnu_devtree /Extra/devtree.txt
fi
if [ -f /Extra/splash.jpg ]; then
insmod jpeg
xnu_splash /Extra/splash.jpg
fi
if [ -f /Extra/splash.png ]; then
insmod png
xnu_splash /Extra/splash.png
fi
if [ -f /Extra/splash.tga ]; then
insmod tga
xnu_splash /Extra/splash.tga
fi
fi
}
EOF
;;
hurd|*)
echo " ${LONGNAME} is not yet supported by grub-mkconfig." >&2
;;
esac
done
adjust_timeout
|
|
|
|
| Bookmarks |
| Tags |
| grub 2, grub2, title, tweaks |
| Thread Tools | |
| Display Modes | |
|
|