Вопрос или проблема
Я загружаю четыре операционные системы: Windows 7, Ubuntu, Kali Linux и Linux Mint. Они были установлены в этом порядке, причем Linux Mint установлен последним, а Windows 7 первым. Я могу редактировать файл /etc/default/grub и обновлять grub с помощью sudo update-grub
, но используются только конфигурации, сохраненные в конфигурационном файле для Linux Mint. Есть ли способ указать, какой конфигурационный файл использует grub или способ установить настройку по умолчанию?
Да, вы можете добавить некоторые пользовательские записи меню в /etc/grub.d/40_custom
Это простой пример, который я сейчас использую. Можно добавить и другие.
menuentry "NetBSD on sda1" {
insmod ufs2
set root=(hd0,msdos1)
knetbsd /netbsd --root=wd0a
}
Чтобы установить запись меню по умолчанию для вашей настройки, вы можете просто изменить строку GRUB_DEFAULT=
/etc/default/grub
Выберите, что вы хотите использовать по умолчанию.
GRUB_DEFAULT=0 (Windows)
GRUB_DEFAULT=1 (Ubuntu)
GRUB_DEFAULT=2 (Kali)
GRUB_DEFAULT=3 (Linux Mint)
Да. Когда grub-install подготавливает бинарный файл GRUB (независимо от того, MBR или EFI), он встраивает ссылку (предположительно UUID, но я не уверен) на файловую систему, которая содержит grub.cfg
. По умолчанию это может быть корень текущей системы или /boot в случае отдельного загрузочного раздела. Настройку по умолчанию можно переопределить с помощью --boot-partition
или --root-partition
команды grub-install. Это означает, что по умолчанию последняя система, которая выполнила grub-install, “выигрывает” авторитет над конфигурационным файлом.
Вы можете иметь только один загрузчик в MBR (Master Boot Record) одновременно.
Так как Linux Mint был установлен недавно, если вы выбрали установку GRUB во время установки, он был установлен на вашем диске и перезаписал предыдущий. Если вы хотите использовать конфигурационный файл другой дистрибуции, вам нужно будет переустановить GRUB через эту дистрибуцию на основном диске.
В Ubuntu, например, вы можете сделать это с помощью grub-install
.
Ответ или решение
Чтобы установить файл конфигурации GRUB по умолчанию в системе с четырьмя операционными системами (Windows 7, Ubuntu, Kali Linux и Linux Mint), необходимо учитывать несколько ключевых моментов, связанных с управлением загрузчиком и его настройками.
Теория
GRUB (Grand Unified Bootloader) — это популярный загрузчик, который позволяет пользователям выбирать из нескольких операционных систем при загрузке компьютера. Когда на одной машине установлено несколько дистрибутивов Linux, последний установленный дистрибутив обычно "переписывает" конфигурацию GRUB, принимая на себя управление загрузкой всех систем. Это происходит из-за того, что в процессе установки GRUB заменяет собой предыдущую версию в MBR (Master Boot Record) или EFI-разделе, в зависимости от типа загрузки.
Пример
Если при установке Linux Mint вы выбрали установку GRUB, то он стал текущим загрузчиком, и файлы конфигурации GRUB, используемые системой, теперь находятся под управлением Linux Mint. Это объясняет, почему изменения, которые вы вносите в /etc/default/grub
через другую систему, могут не влиять на загрузку, так как фактический конфигурационный файл, определяющий поведение загрузчика, хранится в файле grub.cfg
, созданном и используемом Mint.
Применение
-
Изменение конфигурации по умолчанию:
- Чтобы изменить операционную систему по умолчанию в текущем GRUB, отредактируйте файл
/etc/default/grub
в Linux Mint (поскольку он является управляющим загрузчиком) и установите нужное значение в параметреGRUB_DEFAULT
. - Например:
GRUB_DEFAULT=0 # Это обозначает, что первой в списке станет Windows.
- После изменения файла выполните команду
sudo update-grub
, чтобы обновить конфигурационный файлgrub.cfg
.
- Чтобы изменить операционную систему по умолчанию в текущем GRUB, отредактируйте файл
-
Изменение управляющей системы GRUB:
- Если необходимо, чтобы другой дистрибутив (например, Ubuntu) управлял загрузкой, понадобится переустановить GRUB из этой системы. Это можно сделать, загрузившись в Ubuntu и выполнив команду
sudo grub-install /dev/sdX
, где/dev/sdX
— это ваш диск. - Таким образом, конфигурационные изменения нужно будет вносить уже в Ubuntu.
- Если необходимо, чтобы другой дистрибутив (например, Ubuntu) управлял загрузкой, понадобится переустановить GRUB из этой системы. Это можно сделать, загрузившись в Ubuntu и выполнив команду
-
Кастомные меню:
- Вы можете добавлять собственные пункты меню в
/etc/grub.d/40_custom
, тем самым предоставляя себе больше контроля над загрузкой различных операционных систем.
- Вы можете добавлять собственные пункты меню в
Вывод: Чтобы управлять загрузкой операционных систем согласно вашим предпочтениям, важно, чтобы GRUB-меню управлялось наиболее удобным для вас дистрибутивом. Убедитесь, что вы обновляете правильный конфигурационный файл grub.cfg
, соответствующий текущему управляющему дистрибутиву.