Grub2 смена ОС по умолчанию

Выбор операционной системы по умолчанию в загрузчике grub2

Загрузчик grub2 поставляется со многими linux-based операционными системами по умолчанию, именно поэтому важно знать, как с ним работать.
После установки, grub2 автоматически загружает первый пункт меню - linux систему. Но что если нам нужно выбрать систему для автозагрузки отличную от данной?

Как это сделать?

Все настройки загрузчика выполняются с помощью файла grub, расположенного по адресу
/etc/default/grub. Открываем его с помощью любого текстового редактора с правами суперпользователя и видим примерно такую картину:

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR='lsb_release -i -s 2> /dev/null || echo Debian'
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX=""
GRUB_BACKGROUND="https://www.lexone.ru/usr/share/images/grub/BlackWoman.tga"
GRUB_CMDLINE_LINUX_DEFAULT="libata.noacpi=1"

Первые две строчки очень важны. Первая нам говорит, что после любых внесенных изменений следует запустить в терминале команду обновления файла конфигураций grub2, вторая указывает путь к этому файлу.

Изменяем параметр GRUB_DEFAULT

Итак, чтобы изменить пункт загрузки по умолчанию в grub2 нам нужно изменить параметр GRUB_DEFAULT. Сейчас тут прописан 0. Это означает следующее — отдавать приоритет загрузке первому пункту (коим является Linux).

Дальше есть два пути:

Посчитать строки во время загрузки

1. При загрузке компьютера задержаться на окне загрузчика и посчитать строки, какой номер строки соответствует какому пункту загрузки (какой ОС). Нумерация идет с нуля. И заменить 0 на эту цифру. Это удобно, но если мы перенесем ОС на другой раздел или жесткий диск, она не загрузится. Поэтому смотрим второй пункт:

Если предыдущий способ невозможен (удаленное подключение)

2. Открыть существующий файл конфигурации /boot/grub/grub.cfg. Посмотреть все пункты «menuentry». Например menuentry 'Debian GNU/Linux' --class debian --class gnu-linux. В этом файле подробно расписаны пункты загрузки и их конфигурации: menuentry 'имя_ОС' --параметры. Нас интересует имя_ОС — копируем имя пункта той системы, которую хотим загружать по умолчанию. И вставляем в параметр GRUB_DEFAULT после знака равенства в кавычках. Например так:

GRUB_DEFAULT='Windows 7 (на /dev/sdb1)'

После этого в терминале выполняем:

$sudo update-grub
$sudo reboot now

Итог

Параметр загрузки системы по умолчанию успешно изменен. Но имейте ввиду, в файле конфигураций /boot/grub.cfg лучше вручную ничего не редактировать. Можно сломать загрузчик.