Двойная загрузка и файлы /boot/grub/grub.cfg - какой из них используется?
Скажем, у меня есть 2 системы Linux. Они оба имеют /boot/grub/grub.cfg
, но тот, который используется при загрузке, от одного из них. Нет никаких /boot
раздел. Как определяется, какой /boot/grub/grub.cfg
следует использовать и как это изменить?
У меня есть 1 физический диск, 2 раздела и UEFI/GPT.
2 ответа
Это не совсем понятно из твоего вопроса, но я верю:
Предполагая, что у нас есть два физических диска, это будет зависеть от того, куда смотрит BIOS/UEFI. В противном случае известен как порядок загрузки. Это немного отличается от UEFI, потому что установщик обращается напрямую к системе для установки ее шайбы, но вы можете иметь две системы с двумя установленными шайбами UEFI. Порядок определяется системой при загрузке.
Предполагая два раздела на одном физическом диске с BIOS, это будет зависеть от того, кто записывал в MBR (главную загрузочную запись, начальную часть диска) в последний раз (при установке или с момента запуска
install-grub
). Они могут перезаписать друг друга, если переустановить grub.update-grub
следует только обновить локальную конфигурацию.Предполагая, что два раздела, один физический диск, UEFI, оба должны мирно сосуществовать. Вы получите выбор порядка при загрузке на системном уровне, и каждый загрузчик может знать о другом, но они не конкурируют за одну MBR.
У меня три дистрибутива на одном SSD. Каждый раз, когда устанавливается новый дистрибутив, он берет под контроль grub. Чтобы получить желаемый grub, загрузитесь с этим дистрибутивом и используйте:
$ sudo cat /boot/efi/EFI/ubuntu/grub.cfg
search.fs_uuid b40b3925-70ef-447f-923e-1b05467c00e7 root
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg
$ sudo grub-install
Installing for x86_64-efi platform.
Installation finished. No error reported.
cat
Команда показывает последний установленный дистрибутивUUID
,grub-install
команда переопределит это с загруженными дистрибутивамиUUID
- Отныне загруженные дистрибутивы
update-grub
Команда изменит загрузочное меню grub, а не другие дистрибутивы.