Пришло время старому ноутбуку отправляться к родителям.
Что бы не усложнять им жизнь — было решено заменить загрузку с Ubuntu на Windows, что бы им не пришлось выбирать систему во время запуска.
Настройки порядка загрузки хранятся в файле /boot/grub/grub.cfg
, в первых же строках которого большими буквами сказано:
#
# DO NOT EDIT THIS FILE
Потому что этот файл создаётся самой системой во время выполнения команды update-grub
на основе файлов:
# ls -1 /etc/grub.d/ 00_header 05_debian_theme 10_linux 20_linux_xen 20_memtest86+ 30_os-prober 30_uefi-firmware 40_custom 41_custom README
И файла /etc/default/grub
, в котором мы и будем менять значение порядка загрузки.
Перед изменениями — делаем резервную копию:
# cp /etc/default/grub /etc/default/grub.bkp
Выглядит файл по-умолчанию так:
# cat /etc/default/grub | grep -v ‘#’
GRUB_DEFAULT=0 GRUB_HIDDEN_TIMEOUT_QUIET=true GRUB_TIMEOUT=10 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" GRUB_CMDLINE_LINUX=""
Строка GRUB_DEFAULT
может иметь значение либо числовое (0
, 1
и т.д.), либо буквенное — saved
.
GRUB_DEFAULT=0
будет загружать первую систему, описанную в файле /boot/grub/grub.cfg
, в блоках menuentry
.
Тут стоит обратить внимание на строку submenu
в файле /boot/grub/grub.cfg
— нам нужны номера, не входящие в неё, поэтому строку submenu
мы учитываем как «индекс 1«.
Проще всего во время загрузки GRUB просто посчитать порядковый номер системы, либо — просмотреть файл /boot/grub/grub.cfg
в текстовом редакторе, в котором будет чётко видно разделение на «главные» пункты меню, и его «подменю».
Давайте посмотрим так:
Индекс «ноль» в меню:
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-d2a29853-1358-4ba6-949a-768bd15af746' { recordfail
Индекс 1
submenu 'Дополнительные параметры для Ubuntu'
Второй:
menuentry 'Memory test (memtest86+)'
Третий:
menuentry 'Memory test (memtest86+, serial console 115200)'
И четвёртый:
menuentry 'Windows 7 (loader)
Тут под номером 0 будет считаться строка menuentry 'Ubuntu, with Linux 3.13.0-24-generic
(первая в подменю), а Windows 7 (loader)
— по счёту будет 4.
Вариант номер за — изменить строку GRUB_DEFAULT=
вручную, прямо в файле, и указать номер системы для загрузки.
Либо, вместо номера, указать полное имя:
GRUB_DEFAULT="'Windows 7 (loader) (на /dev/sda1)"
Другой вариант — изменить GRUB_DEFAULT
на GRUB_DEFAULT=saved
, после чего выполнить:
# grub-set-default 4
Этим мы указываем две вещи:
а) GRUB_DEFAULT=saved
— GRUB будет загружать ту систему, которая была загружена последней;
б) такой системой мы устанавливаем запись №4, т.е. — Windows 7 (loader)
.
При чём второй пункт выполнять необязательно — достаточно будет 1 раз выбрать систему во время загрузки — и она будет сохранена как «система по-умолчанию».
Так же, вместо указания «индекса» системы — можно указать полное её полное «имя»:
# grub-set-default "'Windows 7 (loader) (на /dev/sda1)"
После чего выполнить:
# update-grub Generating grub configuration file ... Найден образ linux: /boot/vmlinuz-3.13.0-24-generic Найден образ initrd: /boot/initrd.img-3.13.0-24-generic Найден образ linux: /boot/vmlinuz-3.5.0-46-generic Найден образ initrd: /boot/initrd.img-3.5.0-46-generic Найден образ linux: /boot/vmlinuz-3.5.0-37-generic Найден образ initrd: /boot/initrd.img-3.5.0-37-generic Найден образ linux: /boot/vmlinuz-3.5.0-26-generic Найден образ initrd: /boot/initrd.img-3.5.0-26-generic Найден образ linux: /boot/vmlinuz-3.5.0-17-generic Найден образ initrd: /boot/initrd.img-3.5.0-17-generic Found memtest86+ image: /boot/memtest86+.elf Found memtest86+ image: /boot/memtest86+.bin Найден Windows 7 (loader) на /dev/sda1 завершено
Ссылки по теме
http://ubuntologia.ru (+ описание различных опций, русс)
https://ru.wikibooks.org (вообще всё про GRUB2, русс)
https://help.ubuntu.com (настройка подменю, eng)