пятница, 25 декабря 2009 г.

Ubuntu Karmic. Настройка Grub

На компьютере установлены Ubuntu Karmic и Windows 7, по умолчанию загружается Ubuntu. Необходимо изменить ОС по умолчанию на семерку, убрав из меню загрузчика лишние пункты.

В файле /etc/default/grub
  • GRUB_TIMEOUT=5 - время показа меню, 5 секунд.
  • раскомментировать GRUB_DISABLE_LINUX_RECOVERY="true" для отключения recovery пунктов меню.
Из файла /etc/grub.d/20_memtest86+ убрать код memtest'а с выводом на консоль.

menuentry "Memory test (memtest86+, serial console 115200)" {
linux16    $MEMTESTPATH console=ttyS0,115200n8
}

Для того, чтобы убрать все пункты memtest, необходимо сбросить с этого файла исполняемый бит.

После этого меню будет иметь вид
  • Ubuntu
  • Memtest
  • Windows 7
Переместим семерку на первое место в списке. Для этого добавим файл /etc/grub.d/08_windows_7. Код в этом файле будет искать на диске Windows 7 и, найдя, добавлять ее в меню загрузчика. Код скопируем из /etc/grub.d/30_os-prober

prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib

. ${libdir}/grub/grub-mkconfig_lib

if [ "x${GRUB_DISABLE_OS_PROBER}" = "xtrue" ]; then
exit 0
fi

if [ -z "`which os-prober 2> /dev/null`" ] ; then
# missing os-prober
exit 0
fi

OSPROBED="`os-prober | tr ' ' '^' | paste -s -d ' '`"
if [ -z "${OSPROBED}" ] ; then
# empty os-prober output, nothing to do
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 [ -z "${LONGNAME}" ] ; then
LONGNAME="${LABEL}"
fi

echo "Found ${LONGNAME} on ${DEVICE}" >&2

if [ "x${LONGNAME}" = "xWindows 7 (loader)" ]; then
cat << EOF
menuentry "Windows 7" {
EOF
save_default_entry | sed -e "s/^/\t/"
prepare_grub_to_access_device ${DEVICE} | sed -e "s/^/\t/"

cat <<EOF
chainloader +1
}
EOF
fi

done

Все подробности можно найти здесь https://help.ubuntu.com/community/Grub2

Комментариев нет:

Отправить комментарий