GRUB 2 - Dual boot Ubuntu и Debian
Что такое dual boot или multi boot
Multi boot (множественная загрузка) — это когда вы можете на одном компьютере загружать разные операционные системы. Чаще всего это Windows и различные Linux системы. Dual boot (двойная загрузка) — это вариант Multi boot, если используется всего 2 системы.
Причины использования dual boot:
- Вы работаете на Windows, но хотите попробовать Linux.
- Для одних операция вы используете Linux, а для других Windows, например - для работы Linux, для игр Windows.
- У вас дома один компьютер. Вы предпочитаете работать в Linux, а другие члены вашей семьи используют Windows.
Минусы двойной загрузки:
- Место на диске. Каждая система занимает место на жёстком диске.
- Сложность доступа к файлам. Из Windows вы не сможете получить доступ к файлам расположенным на Linux. А вот из Linux к Windows файлам доступ может быть.
- Вероятность потери данных. Windows может предлагать отформатировать разделы на которых расположена Linux, главное не согласиться.
- Сложность настройки. Две системы усложняют весь процесс настройки.
Принципы работы
Причины использовать Dual boot могут быть разные. Но нужно знать некоторые базовые вещи для использования такой загрузки.
- Каждая система устанавливается либо на разные разделы одного диска, либо на разные диски.
- Компьютер может работать под управлением BIOS и искать загрузчик на загрузочном диске в MBR. А может работать под управлением UEFI и искать ESP или EFI раздел для запуска загрузчика от туда.
- Различные операционные системы используют различные установщики.
- Например Windows при установки затрет GRUB 2 своим загрузчиком, который не умеет загружать Linux системы. Тогда нужно будет восстанавливать GRUB 2. А вот GRUB 2 умеет загружать и Linux и Windows.
- Ubuntu также устанавливает свой GRUB 2 не спрашивая и затирает установленный ранее загрузчик от другой системы.
- А вот Debian при установки спрашивает, нужно ли устанавливать GRUB 2 или нет. И если у вас уже используется другой загрузчик, от другой системы, то вы можете и отказаться от установки GRUB 2.
- При двойной загрузки вам понадобится специальный загрузчик, который может запускать различные системы. Например - GRUB 2, есть и другие загрузчики, но я их не рассматриваю.
Самый распространённый вариант использования Dual Boot это Windows + Linux. В этой статье я покажу как установить Ubuntu 22.04 рядом с Debian 11. А установку Ubuntu рядом с Windows тоже планирую описать, но в отдельной статье.
Устанавливаем вначале Ubuntu а затем Debian
Установка Ubuntu
Во-первых как обычно устанавливаем Ubuntu и доходим до разметки диска (Guided storage configuration). Здесь вам нужно поставить галочку на Custom storage layout и нажать Готово:

В этой статье я уже показывал как создавать разделы при установке Ubuntu, если забыли ещё раз посмотрите. Собственно говоря вам нужно создать 1 раздел на половине диска и на этот раздел установить систему.

После того, как вы создадите раздел, у вас получится такая разбивка диска:

Главное оставить свободное место (free space) для второй системы. После проделанного нажмите Готово, и согласитесь с предупреждением.
А затем продолжайте установку системы как обычно. После того, как система будет установлена, выньте установочный диск и перезагрузитесь. Для того, чтобы убедиться что система работает, можете загрузиться в неё.
Установка Debian
Пришло время заменить установочный диск и начать установку Debian. Вначале устанавливаете как обычно и доходите до разметки диска. Там выберите пункт Вручную и нажмите Enter.

Как создаются разделы при установке Debian я писал в этой статье . Вам просто нужно на свободном месте создать раздел для корневой файловой системы. А после создания раздела нажмите Закончить разметку и записать изменения на диск:

Система нас предупредит, о том что мы забыли создать раздел подкачки. Я думаю пока он нам не нужен, поэтому откажемся от него:

И согласимся записать изменения на диск:
Дальше устанавливаем систему как обычно и доходим до установки GRUB 2 в MBR. Здесь вы должны отказаться от установки GRUB 2, так как будем использовать GRUB от Ubuntu - он новее. Кстати, если обратили внимание, Ubuntu не предлагала устанавливать GRUB 2, она его установила автоматически без спроса пользователя.

Дальше выбираем Указать устройство вручную:
И дальше ничего не заполняя нажимаем Продолжить:

После установки выньте установочный диск и перезагрузитесь.
Обновление GRUB 2
После перезагрузки у вас загрузится Ubuntu, потому что загрузчик от Ubuntu ничего про Debian не знал. Чтобы GRUB 2 обнаружил систему Debian выполните команду sudo update-grub2:
$ sudo update-grub2
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.15.0-30-generic
Found initrd image: /boot/initrd.img-5.15.0-30-generic
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
done
И здесь вы увидите что параметр GRUB_DISABLE_OS_PROBER мешает обнаружить другие операционные системы. Исправим это, а также поправим некоторые другие параметры:
$ sudo nano /etc/default/grub
GRUB_DEFAULT=0
#GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX=""
GRUB_DISABLE_OS_PROBER=false
Вам нужно закомментировать строку GRUB_TIMEOUT_STYLE=hidden, чтобы меню не скрывалось. А также установить какой-нибудь таймаут, я указал 5 секунд (GRUB_TIMEOUT=5). И отменим опцию, которая отключает поиск других операционных систем (GRUB_DISABLE_OS_PROBER=false).
После проделанного повторим обновление grub:
$ sudo update-grub2
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.15.0-30-generic
Found initrd image: /boot/initrd.img-5.15.0-30-generic
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
Found Debian GNU/Linux 11 (bullseye) on /dev/sda3
done
Как видите, теперь наш Debian GNU/Linux 11 нашёлся. После чего можем перезагрузить сервер:
$ sudo reboot
И увидим вот такое меню:

Теперь вы сможете загрузиться как в Ubuntu так и в Debian!
Устанавливаем вначале Debian а затем Ubuntu
Вообще если вам нужно установить Debian и Ubuntu на один диск, то лучше всегда вначале устанавливать Ubuntu, так как установщик Ubuntu не сможет создать раздел на оставшемся свободном месте. Возможно это ошибка установщика, но я покажу вам обходной маневр.
Вначале вы устанавливаете как обычно систему Debian. При разбивке диска, разбиваете его вручную и оставляете свободное место для второй системы.
А затем запускаете установку Ubuntu и доходите до разбивки диска. Там выбираете уже знакомый пункт Custom storage layout. И нажав на ваш диск вы увидите что создать раздел нельзя, и вообще нет свободного пространства (free space):

Что-же делать спросите вы! А вот что, просто нажмите комбинацию клавиш «Alt+F2» и вы попадете в консоль Ubuntu. Там с помощь следующих команд вы можете создать новый раздел:
$ sudo fdisk /dev/sda
: n
: p
: (ничего не вводим, оставляем номер раздела по умолчанию)
: (ничего не вводим, оставляем начало раздела по умолчанию)
: (ничего не вводим, оставляем конец раздела по умолчанию)
: w
Вот скриншот того, как я создавал раздел на своей машине:

Теперь возвратимся к установке, нажав комбинацию клавиш Alt+F1. И видим созданный раздел:

Нажимаем на сам диск (не на раздел) и делаем диск загрузочным:

Нажимаем на только что созданный раздел и редактируем его:

А дальше как обычно, указываем тип файловой системы (ext4) и точку монтирования (/), затем нажимаем на кнопку Сохранить. Видим что раздел добавлен. Нажимаем кнопку Готово:

И затем соглашается с тем что все данные с этого раздела будут уничтожены (нажимаем кнопку Продолжить). Дальше устанавливаем систему как обычно!
Ubuntu не спрашивая разрешения устанавливает загрузчик GRUB 2 и тем самым затирает уже установленный загрузчик от Debian. Также при установки выполняется команда update-grub. Поэтому мы сразу видим следующее меню при перезагрузки:

Так как GRUB 2 у Ubuntu более свежий я в обоих случаях добиваюсь использования загрузчика именно от Ubuntu.
Если понравилась статья, подпишись на мой канал в VK или Telegram .