Двойная загрузка и файлы /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, а не другие дистрибутивы.
Другие вопросы по тегам