Grub2 - выбор OS по-умолчанию Вариант 1 Для выбора загрузки необходимой нам ОС правим файл /etc/default/grub
sudo kate /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 --no-floppy --fs-uuid --set 2771fedf-7bb3-492c-b970-5f5357d4572a 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 --no-floppy --fs-uuid --set 2771fedf-7bb3-492c-b970-5f5357d4572a 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 --no-floppy --fs-uuid --set 3d022807e65a1de8 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.