Установка Grub Customizer в Ubuntu
Установить Grub Customizer в Ubuntu не составит труда, в Ubuntu 19.04 это можно сделать с помощью менеджера приложений (в предыдущих версиях Ubuntu возможно потребуется устанавливать PPA репозиторий).
Сначала запускаем менеджер приложений, и для того чтобы найти нужный пакет в поиск, вводим grub сustomizer.
Шаг 2 – Запускаем установку Grub Customizer
Затем щелкаем по найденному пункту. После того как откроется окно с описанием программы, нажимаем «Установить».
Далее потребуется ввести пароль, так как процесс установки программ в Ubuntu требует дополнительных привилегий.
Шаг 3 – Запускаем программу Grub Customizer
Когда появится кнопка «Запустить», установка будет завершена. Мы можем нажать на данную кнопку, чтобы сразу запустить Grub Customizer. Также программу можно запустить и из меню приложений.
Для запуска программы снова потребуется ввести пароль, так как изменение порядка загрузки операционных систем в GRUB также требует дополнительных прав.
После запуска программы у Вас отобразится интерфейс Grub Customizer.
Как отучить GRUB2 запоминать последний выбранный пункт?[править]
Способ 1править
В файле /etc/sysconfig/grub2 изменить значение GRUB_SAVEDEFAULT на false, перегенерировать конфиг grub:
grub-mkconfig -o /boot/grub/grub.cfg
посмотреть имеющийся список вариантов загрузки утилитой grub-entries:
grub-entries
например
0 ALT p8 starter kit 1>0 Advanced options for ALT p8 starter kit>ALT p8 starter kit, vmlinuz 1>1 Advanced options for ALT p8 starter kit>ALT p8 starter kit, vmlinuz (recovery mode) 1>2 Advanced options for ALT p8 starter kit>ALT p8 starter kit, 4.14.97-un-def-alt0.M80P.1 1>3 Advanced options for ALT p8 starter kit>ALT p8 starter kit, 4.9.154-std-def-alt0.M80P.1 2 Memtest86+-5.01
задать нужный вариант загрузки:
grub-set-default "Advanced options for ALT p8 starter kit>ALT p8 starter kit, 4.14.97-un-def-alt0.M80P.1"
или
grub-set-default "1>2"
цифровой вариант лучше не использовать, так как номера строк изменяются при удалении и добавлении ядер, но его вполне можно использовать для указания варианта на следующую перезагрузку утилитой grub-reboot.
Способ 2править
В файле /etc/sysconfig/grub2 изменить строку
GRUB_DEFAULT='saved'
на
GRUB_DEFAULT=n
где n номер пункта меню, либо на
GRUB_DEFAULT='точное название пункта меню'
Вариант с названием предпочтительнее, поскольку после обновления ядра количество пунктов в меню увеличится и нумерация некоторых пунктов изменится
Внимание! Нумерация пунктов начинается с 0.
Список пунктов можно получить по команде
grep menuentry /boot/grub/grub.cfg | nl -v0
Например, пусть мы имеем следующие пункты меню (этот пример не учитывает текущее состояние с подменю; оставлено в качестве примера, удобнее использовать grub-entries, как в первом варианте):
# grep menuentry /boot/grub/grub.cfg | nl -v0 0 menuentry "ALT Linux 6.0.1 KDesktop" --class gnu-linux --class gnu --class os { 1 menuentry "ALT Linux 6.0.1 KDesktop (failsafe mode)" --class gnu-linux --class gnu --class os { 2 menuentry "ALT Linux 6.0.1 KDesktop, 3.0.8-std-def-alt0.M60P.1" --class gnu-linux --class gnu --class os { 3 menuentry "Windows Vista (loader) (on /dev/sda1)" --class windows --class os { 4 menuentry "Memtest86+-4.20" { #
и хотим, чтобы по умолчанию грузился Windows. Тогда в /etc/sysconfig/grub2 пишем
GRUB_DEFAULT='Windows Vista (loader) (on /dev/sda1)'
Потом в терминале от пользователя root:
grub-mkconfig -o /boot/grub/grub.cfg
Перезагрузка. Так как в GRUB_DEFAULT задано конкретное значение, а не ‘saved’, переменная GRUB_SAVEDEFAULT значения не имеет.
Мультисистемная загрузка на персональном компьютере
Поскольку на одном персональном компьютере может быть установлено несколько операционных систем, привычной является ситуация, когда компьютер загружается в мультисистемном режиме (мультизагрузка). Для этого загрузчик должен быть правильно сконфигурирован, чтобы распознать имеющиеся на локальных дисках операционные системы.
В каждом разделе диска может храниться собственный вторичный загрузчик, однако главная загрузочная запись только одна. Поэтому необходимо решить, какой из загрузчиков будет “главным”. Как правило, выбор диктуется особенностями имеющихся операционных систем. Если одной из них является Linux, то лучше всего в качестве главного загрузчика выбрать LILO или GRUB. Заметим, что в данной конкретной ситуации загрузчик GRUB проявляет себя лучше, чем LILO.
Мультисистемное конфигурирование GRUB
Конфигурирование загрузчика GRUB для выполнения мультисистемой загрузки во многом аналогично конфигурированию загрузки только одной операционной системы. Прежде чем вносить изменения в файл необходимо установить необходимые операционные системы.
Записанные в файле параметры конфигурации для загрузки ОС Windows, отличаются от параметров для загрузки UNIX или Linux:
Параметр загружает утилиту начальной загрузки из указанного места (в данном случае из сектора 1 первого раздела первого IDE-диска). Параметр предотвращает попытки загрузчика GRUB выполнить монтирование указанного раздела. Он избавляет загрузчик GRUB от необходимости проверять непонятные для него разделы, такие как разделы NTFS или размещенные вне области, в которой GRUB может выполнять чтение.
Ниже приведен полный текст файла для случая, когда Windows 10 загружается из первого раздела, Linux — из второго, а Fedora — из третьего:
Мультисистемное конфигурирование LILO
Если LILO является главным загрузчиком (например, на компьютере установлены Linux и Windows 10), начните со стандартного процесса конфигурирования LILO, описанного выше. Затем по мере необходимости можно добавлять записи для других операционных систем в файл .
Вот как будет выглядеть запись, предназначенная для загрузки Windows из первого раздела первого IDE-диска:
Ниже приведен полный текст файла для случая, когда Windows загружается из первого раздела, Linux — из второго, а FreeBSD — из третьего:
После модификации файла нужно повторно ввести команду . Не забудьте предварительно выполнить ее в тестовом режиме с флагом .
Поставщики (или добровольцы) часто распространяют пакеты исправления ошибок дистрибутивов Linux. Это же относится и к ядру. Устранение брешей в системе безопасности, исправление ошибок и добавление функций происходит регулярно. Однако, в отличие от других программных пакетов, пакеты исправления ошибок ядра не обновляются, а устанавливаются наряду с существующим ядром. Этот подход позволяет администраторам отменять обновление, если пакет устранения ошибок ядра приводит к разрушению системы. Поэтому постепенно меню начальной загрузки LILO и GRUB заполняются различными версиями ядра. Как правило, можно выполнять загрузку той операционной системы, которая выбрана по умолчанию, но помните о существовании этого простого способа разрешения проблемы в случае невозможности загрузки после установки пакета исправлений.
Настройка Grub через /boot/grub/grub.cfg
Файл /etc/boot/grub/grub.cfg управляет непосредственно работой загрузчика, здесь указаны все его параметры и настройки, а также сформировано меню. Поэтому, изменяя этот файл, мы можем настроить Grub как угодно. Сначала попытаемся разобраться с синтаксисом файла. Он очень напоминает синтаксис bash и состоит из нескольких команд, которые что-то делают, загружают и настраивают.
Команды могут быть объединены в функции или блоки с помощью инструкций if else, синтаксис которых аналогичен bash. Рассмотрим основные из этих команд:
- load_env — загрузить переменные окружения из файла;
- set — установить значение переменной окружения. Используется как set имя_переменной=значение;
- insmod — загрузить модуль из папки с модулями Grub;
- linux — загружает ядро Linux;
- initrd — подготавливает образ initrd для загрузки ядра;
- boot — пытается загрузить систему;
- chainloader — запускает загрузчик из другого раздела;
- search — установить значение переменной выполнив поиск по заданным параметрам, например, может найти диск по его UUID или метке;
- menuentry — позволяет создать пункт меню;
Это все команды, которые вам понадобятся. Но две последние нужно рассмотреть подробнее, так как они будут использоваться чаще всего.
Команда search используется для поиска дисков и имеет такой синтаксис:
$ search опции_поиска —set=имя_переменной —hint приметы_устройства основной_параметр
- Опции поиска задают по какому критерию нужно искать, например, —fs-uuid — искать по UUID, —label — по метке, —no-floppy — не искать в схемных носителях.
- Приметы устройства дают программе дополнительные подсказки для более быстрого поиска;
- Основной параметр — значение, по которому будем выполнять поиск.
Например, команда может выглядеть вот так:
Вторая команда, которая нам очень понадобится, это menuentry. Она используется для создания пунктов меню, с помощью которых будут загружаться операционные системы и дистрибутивы linux. Синтаксис этой команды такой:
menuentry имя_пункта {команды установки переменных окружениязагрузка модулейlinux файл_ядра параметры_ядраinitrd файл_initrd}
Обычно, для нормальной загрузки операционной системы сначала необходимо установить корневой раздел, для этого, возможно, нужно загрузить некоторые модули, дальше нужно запустить ядро с нужными параметрами и добавить образ initrd если это требуется. Самый простой пример пункта меню:
Теперь давайте попробуем собрать всю информацию воедино и создадим самый просто конфигурационный файл для Grub вручную:
# Время показа меню 5 секунд
set timeout=5
# Установим разрешение экрана и укажем что это же разрешение нужно сохранять для ядра:
set gfxmode=»1280×800″
set gfxpayload=keep
# Загрузим необходимые модули для работы видео режима, нужно для использования фоновой картинки
insmod vbe
insmod gfxterm
terminal_output gfxterm
# Установка шрифта с поддержкой Unicode:
font «/boot/grub2/fonts/unicode.pf2»
loadfont unicode
# Загрузим модуль работы с jpeg и зададим фоновый рисунок:
insmod jpeg
background_image «/boot/fon.jpg»
# Установим переменные окружения для настройки цвета меню:
set menu_color_normal=red/black
set menu_color_highlight=yellow/black
set color_normal=yellow/black
menuentry «Ubuntu» {
root=(hd0,1)
linux /casper/vmlinuz boot=casper noeject noprompt splash
initrd /casper/initrd.lz
}
menuentry «OpenSUSE» {
insmod gzio
insmod part_msdos
insmod ext2
set root=’hd0,msdos5′
linux /boot/vmlinuz-4.1.31-30-default root=UUID=c52ca066-e48f-4df2-bc7e-4d885a354090 resume=/dev/sda7 splash=silent quiet showopts
initrd /boot/initrd-4.1.31-30-default
}
Теперь, когда вы знаете как примерно выглядит конфигурационный файл Grub, вы сможете разобраться с файлом, созданным автоматически. Пункты меню выводятся по порядку, поэтому чтобы поменять их местами будет достаточно поменять местами команды в файле
Программа настройки Grub — это хорошо, но также важно понимать как все работает на низком уровне
Install Grub Customizer on Ubuntu 20.04 or Linux Mint
1. Run system update
Before installing anything let’s run the system update command to update the packages installed on it. Also, this will refresh the system.
sudo apt update
2. Install Grub Customizer on Linux mint or Ubuntu 20.04
The packages to install Grub Customizer are there already in the base repository (archive.ubuntu.com) to install on the system we just need to run the below-given command:
sudo apt install grub-customizer
To verify the version of the installed tool you can use the command:
grub-customizer --version
3. Run Grub Customizer
The installation is complete now, let’s launch the same. Go to All Application launcher and search for this installed application. Alternatively, you can also use the command-
As we launch the tool, the system will ask you the root password because it needs that to customize the Grub. Also, the changes saved by the Grub Customizer creates a new file “grub.cfg” with the current settings with the settings made.
Under the List for configuration, you will see all the available bootloader entries. You will get all the entries in order they can be changed, renamed, and deleted. Right-click on the entry and select the “Edit” option to open an editor for the script behind a boot entry, for example, to enter new start parameters for a Linux system in the “Linux” line.
Under General Settings page the user will find some important settings. Such as standard boot entry to select and change the default one, the option to Show boot menu, look for other operating system enteries and a field for the boot waiting time in seconds.
The last settings page “Appearance” controls the appearance of Grub and offers color settings, screen resolution, and the selection of a background image.
If you want to use the custom background as boot image then click on the icon given on the right side of Background Image dropdown-box. And select the Image that must be in PNG format, correspond exactly to the set resolution, and must not have any spaces in the file name. Changes to the menu colors only have an effect if a background image is selected, otherwise, Grub 2 ignores the color information.
Well, you can do many things with Grub Customizer but cannot remove old kernels that are no longer required as part of system maintenance. For this you have to use a package manager.
Uninstall
In case after some time you don’t reqiored it any more then run the following command:
sudo apt remove grub-customizer
So, this was the quick tutorial on the installation and removal of Grub Customizer, if you are facing any problem in setting up this tool then let’s know, the comment section is all yours…
Как переустановить GRUB?[править]
- Загружаемся с rescue-cd, например ALT Linux Rescue
- Если использован ALT Linux Rescue:
mount-system chroot /mnt/system1
Если в используемом LiveCD нет mount-system, делаем самостоятельно (предполагая/зная, что корень на /dev/sda2):
mount /dev/sda2 /mnt mount -o bind /dev /mnt/dev mount -o bind /proc /mnt/proc mount -o bind /run /mnt/run mount -o bind /sys /mnt/sys chroot /mnt/ /bin/bash
Скачиваем предыдущую версию пакета:
Устанавливаем rpm
rpm -Uvh --oldpackage /home/andy/grub2-pc-1.99-alt9.i586.rpm
Переконфигурируем меню grub
grub-mkconfig -o /boot/grub/grub.cfg
После описанного выше, у меня загрузилась операционная система.
Installation
Ubuntu 18.04 et 16.04 : Depuis un PPA
Pour les versions jusqu’à la 18.04, Grub-customizer s’installe à partir d’un PPA :
- Ajouter le PPA ppa:danielrichter2007/grub-customizer dans vos sources de logiciels ;
- ;
- installer le paquet grub-customizer.
Ubuntu 21.04 : compilation
Pour la version 21.04, le ppa ne propose pas de paquet installable. Une compilation des sources est nécessaire pour installer Grub-customizer.
Installation des dépendances
Les dépendances suivantes doivent être présentes :
- cmake
- g++ OR gcc-c++
- libgtkmm-3.0-dev ou gtkmm30-devel
- gettext
- libssl-dev OR openssl-devel
- libarchive-dev OR libarchive-devel
Le développeur indique qu’en cas d’usage de gtk-2 version, installer libgtkmm-2.4-dev ou gtkmm24-devel en lieu et place de libgtkmm-3.0-dev ou gtkmm30-devel. Toutefois comme libgtkmm-3.0-dev est présent dans les dépôts de Hirsute Hippo 21.04, cette information sera probablement pas utile.
On ajoutera aux dépendances le paquet checkinstall pour pouvoir gérer l’application comme un paquet deb. La désinstallation est notamment facilitée par :
dpkg -r grub-customizer
Installation des dépendances :
usr@pc:~/$ sudo apt install cmake g++-10 libgtkmm-3.0-dev gettext libssl-dev libarchive-dev checkinstall
Téléchargement et compilation des sources
usr@pc:~/$ wget https://launchpad.net/grub-customizer/5.1/5.1.0/+download/grub-customizer_5.1.0.tar.gz usr@pc:~/$ curl https://launchpad.net/grub-customizer/5.1/5.1.0/+download/grub-customizer_5.1.0.tar.gz/+md5 > signaturemd5.asc usr@pc:~/$ md5sum -c signaturemd5.asc grub-customizer_5.1.0.tar.gz: Réussi
Il faut ensuite décompresser l’archive dans un répertoire dédié :
usr@pc:~/$ tar zxvf grub-customizer_5.1.0.tar.gz
puis lancer le processus de compilation :
usr@pc:~/$ cd grub-customizer-5.1.0/ usr@pc:~/cd grub-customizer-5.1.0/$ cmake . && make
À ce stade, le développeur conseille d’installer le paquet hwinfo. Aucune information ne permet de savoir si ce paquet pourrait être installé en même temps que les dépendances. Par précaution, respecter ce séquençage.
usr@pc:~/$ sudo apt install hwinfo
Puis finalisation de l’installation :
usr@pc:~/$ make usr@pc:~/$ sudo checkintsall
C’est à cette étape que la commande classique <sudo make install> est remplacée par <make> et <checkinstall>
Les fichiers présents dans le répertoire créé par la compilation et l’archive téléchargée peuvent être désormais supprimés.
Как установить GRUB?[править]
Установить дистрибутив с GRUB либо мигрировать загрузчик вручную.
apt-get install grub grub-install /dev/sda # заменить /dev/sda на то устройство, куда хочется установить GRUB grub-mkconfig -o /boot/grub/grub.cfg
Последний пункт выполняет генерацию конфига GRUB на основе шаблонов/скриптов в /etc/grub.d/. Редактировать полученный конфиг руками не рекомендуется т.к. он будет уничтожен следующей автогенерацией (выполняемой, к примеру, installkernel-ом).
Проверьте содержимое /etc/sysconfig/grub2: если там нет раскомментированной переменной GRUB_AUTOUPDATE_DEVICE (при смене загрузчика вручную не будет, т.к. она добавляется только alterator-grub), добавьте устройство или их список; если root/boot на md raid1, следует задать список дисков, на которых он размещён — например, не ‘/dev/md0 ‘, а ‘/dev/sdb /dev/sda ‘. После этого стоит выполнить grub-autoupdate.
Установка GRUB UEFI GPT
Если же такого раздела нет, мы можем его создать с помощью gparted. Для этого создаем раздел с такими параметрами:
Размер 100 Мегабайт, имя раздела ESP, файловая система fat32. Дальше примените изменения и установите для раздела флаг ESP:
То же самое вы можете сделать в Gdisk, только на этот раз нужно устанавливать HEX Code раздела ef00. После того как раздел был создан, подключаем его к нашей файловой системе:
Здесь /dev/sda2 — это наш EFI раздел. Далее необходимо установить нужные пакеты, если они еще не установлены. В Ubuntu это будет выглядеть вот так:
Дальше останется только установка grub efi. Система сама определит нужный раздел и скопирует туда все файлы:
Установка Grub efi на MBR все выглядит точно так же, только тут есть несколько ограничений. Раздел ESP нужно создавать только в начале диска. В режиме EFI тоже можно установить GRUB на флешку, и это не очень сложно. Для этого используется команда:
Рассмотрим опции: —boot-directory — задает папку с файлами загрузчика на флешке, —efi-directory — папка куда смонтирован раздел efi, —target — архитектура целевой системы и —removable говорит, что это установка на съемный носитель. С UEFI все. После перезагрузки и выбора в меню EFI пункта связанного с Grub, вы получите доступ к привычному меню grub и сможете выбрать нужный параметр.
GRUB Configuration File
Like most Linux apps and even the OS itself, grub, the bootloader, also stores its configurations as editable text files somewhere in the root directory. So to edit grub all you need is a text editor and root permissions. The grub user configuration file is located in the folder.
To open it in a user-friendly text editor with a GUI, you can use the command below.
gksu gedit /etc/default/grub
It will ask for your password and open the file as root in gedit, provided you have it installed. It’s the default text editor on GNOME so if you use the GNOME desktop, you should already have it installed. In case the above command doesn’t work, you can try the one below.
sudo gedit /etc/default/grub
Grub Customizer
Grub Customizer – это программа, позволяющая настраивать различные параметры загрузчика Grub. В том числе и положение и очередность пунктов загрузки. Установить программу можно из официальных репозиториев. Например, в Ubuntu нужно использовать ppa:
sudo add-apt-repository ppa:danielrichter2007/grub-customizer $ sudo apt-get update $ sudo apt-get install grub-customizer
Для запуска программы откройте терминал (Ctrl+Alt+T) и наберите grub-customizer:
Для работы программы необходимы права root, в некоторых системах возможно придется использовать такую команду:
Также программу можно запустить из главного меню. Главное окно выглядит вот так:
Несколько секунд после запуска программа будет сканировать установленные операционные системы, затем в этом же окне мы сможем перенести загрузку Windows на первое место. Для этого кликните на нужном пункте правой кнопкой чтобы открылось контекстное меню:
В меню выберите пункт Переместить вверх. Это действие нужно будет повторить несколько раз, пока Windows не будет первой в списке. Теперь будет выполняться загрузка windows по умолчанию grub.
Если потом вы захотите опустить Windows обратно вниз, есть обратное действие – Переместить вниз.
Для сохранения настроек просто нажмите кнопку Сохранить. Готово. Можете перезагружать компьютер и смотреть что получилось.
Но я хочу затронуть еще пару настроек, которые могут быть полезны. Вместо того чтобы делать загрузку Windows первой в Grub, можно изменить пункт запускаемый по умолчанию. Перейдите на вкладку Основные настройки:
Здесь для выбора пункта по умолчанию используемого по умолчанию есть список Задействовать:
Кроме того, можно загружать по умолчанию последнюю загруженную ОС, для этого есть галочка:
Не забудьте снова нажать кнопку сохранить.