Grub2 - выбор OS по-умолчаниюВариант 1
Для выбора загрузки необходимой нам ОС правим файл /etc/default/grub
sudo gedit /etc/default/grub
Загружаемая по умолчанию ОС указывается в GRUB_DEFAULT=0, где 0 — первый из перечисленных в /boot/grub/grub.cfg вариантов, 1 — второй и т. д.
«0» меняем на соответствующий номер, под которым находится наша ОС в списке (файл /boot/grub/grub.cfg).
Сохраняемся, после чего обязательно выполняем:
sudo update-grub
Пример для тех, кто ничего не понял или понял, но плохо:
Необходимая часть моего файла /boot/grub/grub.cfg выглядит таким образом:
### BEGIN /etc/grub.d/10_linux ###
menuentry "Ubuntu, Linux 2.6.31-14-generic" {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
set quiet=1
insmod ext2
set root=(hd0,6)
search
linux /boot/vmlinuz-2.6.31-14-generic root=UUID=2771fedf-7bb3-492c-b970-5f5357d4572a ro quiet splash
initrd /boot/initrd.img-2.6.31-14-generic
}
menuentry "Ubuntu, Linux 2.6.31-14-generic (recovery mode)" {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
insmod ext2
set root=(hd0,6)
search
linux /boot/vmlinuz-2.6.31-14-generic root=UUID=2771fedf-7bb3-492c-b970-5f5357d4572a ro single
initrd /boot/initrd.img-2.6.31-14-generic
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###
### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Microsoft Windows XP Professional (on /dev/sda1)" {
insmod ntfs
set root=(hd0,1)
search
drivemap -s (hd0) ${root}
chainloader +1
}
### END /etc/grub.d/30_os-prober ###
Соответственно, для загрузки Windows правим /etc/default/grub таким образом:
GRUB_DEFAULT=4
Вариант 2
Итак, как мы можем узнать из этой статьи, в строке GRUB_DEFAULT
можно указать как номер по порядку, так и точное название ОС, которая
будет загружаться по умолчанию. Посему, для выяснения, какая запись по
счету нам нужна или ее точное название — необходимо запустить такую
команду:
grep menuentry /boot/grub/grub.cfg
Для выяснения текущего значения, вводим команду:
cat /etc/default/grub | grep 'GRUB_DEFAULT='
Следующей командой внесем изменения:
sudo sed 's/GRUB_DEFAULT="текущее значение"/GRUB_DEFAULT="новое значение"/g' -i /etc/default/grub
Важно — необходимо обратить внимание на вывод двух первых команд, а
именно наличие/отсутствие кавычек. Поэтому, лучше всего скопировать
необходимые нам данные или из первой или из второй команды и подставить в
третью.
Не забываем после всего этого запустить:
sudo update-grub
Вариант 3
И, наконец, самый быстрый способ для смены загрузки ОС по умолчанию.
Для этого нам необходимо выставить в строке GRUB_DEFAULT= значение saved (GRUB_DEFAULT=saved).
Параметр saved выбирает пункт, который был загружен в предыдущий раз.
Теперь, для быстрой смены, нам необходимо запускать всего лишь одну
команду — grub-set-default.
Формат команды следующий: sudo grub-set-default X где X строка по счету,
начинающаяся с menuentry файла /boot/grub/grub.cfg или точное название
строки меню GRUB2 из той же, начинающейся с menuentry строки.
Примеры:
sudo grub-set-default 3 — используется 4 строка по счету, начинающаяся с menuentry;
sudo grub-set-default «Ubuntu, Linux 2.6.31-17-generic» — точное название, вписанное в строку, начинающуюся с menuentry.
И в который раз не поленюсь напомнить, обязательно делаем в конце sudo update-grub.
|