Содержание
Установка загрузчика GRUB
Основная задача загрузчика - предоставить возможность выбора операционной системы перед загрузкой.
Загрузчик может быть установлен в различные таблицы разделов диска:
- MBR (Master Boot Record) для BIOS
- GPT (GUID Partition Table) для BIOS
- UEFI GPT
Для установки Grub будет использоваться команда grub-install, во всех случаях.
Синтаксис:
$ grub-install опции диск
Параметров достаточно много, но нужны будут только некоторые:
- --compress - сжать файлы загрузчика;
- --install-modules=модули - установить только эти модули;
- --modules - записать эти модули в MBR;
- --boot-directory - использовать другой каталог для файлов Grub;
- --bootloader-id - имя загрузчика в меню EFI;
- --core-compress - сжимать образ, загружаемый в MBR;
- --efi-directory - использовать системный раздел EFI;
- --force - установить несмотря на ошибки;
- --recheck - удалить существующую карту устройств, помогает если возникают ошибки;
- --removable - установка grub на флешку (только EFI);
При описании всех дальнейших действий предполагается что они выполняются из системы, для которой нужно установить загрузчик, или из chroot окружения этой системы.
Установка загрузчика GRUB в MBR для BIOS
Установка Grub на жесткий диск выполняется командой:
sudo grub-install /dev/sda
Или:
sudo grub2-install /dev/sda
Утилиты grub в разных дистрибутивах могут включать двойку, а могут и не включать.
Здесь:
- /dev/sda - ваш жесткий диск.
Теперь генерируем конфигурационный файл, чтобы автоматически определились установленные операционные системы:
sudo grub-mkconfig -o /boot/grub/grub.cfg
Или:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Если вы хотите установить Grub на флешку в MBR, то просто примонтируйте флешку и выполните такую команду:
sudo grub-install --root-directory=/mnt/USB/ /dev/sdb
Здесь:
- /mnt/USB - папка, куда была смотирована ваша флешка,
- /seb/sdb - сама флешка.
Только здесь есть одна проблема, конфигурационный файл придется делать вручную .
Установка загрузчика GRUB в GPT для BIOS
Можно установить Grub так, как описано в предыдущем способе. Но тогда он будет установлен в область совместимости с MBR, что ненадежно.
Поэтому в целях большей надежности рекомендуется установить grub на отдельный раздел.
Нужный раздел можно создать в установщике любого дистрибутива, если вы выполняете установку в графическом интерфейсе или с помощью gparted.
Для установки будет нужен раздел размером 1 Мегабайт без файловой системы и с меткой grub_bios.
Параметры создаваемого раздела:
- Partition name -
grub_bios - File system -
unformatted - Label -
grub_bios
Далее нажимаем на разделе правой кнопкой, выбираем manage flags и добавляем флаг grub_bios.
Раздел готов.
Если доступа к графическому интерфейсу нет, то можно создать такой раздел через терминал.
Утилита fdisk не поддерживает работу с gpt, поэтому будем использовать gfdisk.
Запускаем утилиту:
$ sudo gdisk /dev/sda
Дальнейший порядок действий:
- Чтобы создать новый раздел нажимаем n и выбираем номер раздела.
- Затем выбираем начальный сектор раздела:
по-умолчанию будет предложено использовать первый же свободный сектор, соглашаемся. - Далее выбираем конечный сектор раздела: Нам нужен раздел размером 1 Мб (1048576 байт). Размер одного сектора GPT - 512 байт, поэтому нам нужен раздел размером 2048 секторов.
- Указываем HEX Code - это тот код, который скажет системе, что этот раздел нужно использовать для Grub, нужно установить ef02.
- Далее нажимаем w для записи изменений на диск
Установка grub на жесткий диск дальше выполняется точно так же, как и в предыдущем способе:
$ sudo grub-install /dev/sda
Осталось создать конфигурационный файл grub:
$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Установка GRUB UEFI GPT
Установка Grub UEFI чем-то похожа на установку в GPT, тут тоже будет отдельный раздел, только на этот раз не для загрузчика, а раздел EFI.
Если на компьютер уже установлена Windows, то, скорее всего, он уже существует.
Этот раздел обычно занимает 100 Мб, имеет файловую систему fat32 и флаг ESP.
Если же такого раздела нет, нужно его создать.
Например с помощью gparted.
Для этого создаем раздел с параметрами:
- Размер 100 Мегабайт,
- имя раздела ESP,
- файловая система fat32.
Дальше применяем изменения и установливаем для раздела флаг ESP.
То же самое вы можете сделать с помощью gdisk, только на этот раз нужно устанавливать HEX Code раздела ef00
После того как раздел был создан, подключаем его к файловой системе:
$ sudo mkdir /boot/efi $ sudo mount /dev/sda2 /boot/efi
Здесь /dev/sda2 - это EFI раздел
Далее необходимо установить нужные пакеты, если они еще не установлены.
$ sudo apt install grub-efi efibootmgr
Дальше останется только установка grub efi. Система сама определит нужный раздел и скопирует туда все файлы:
$ grub-install /dev/sda
