Если вы используете MBR, GRUB может вызвать os-prober
для сканирования всех разделов на предмет наличия загрузочных систем. os-prober
(и его двоюродный брат, linux-boot-prober
, который вызывается os-prober
) будет искать загрузочные диски на всех известных дисках и их разделах. системы. Для систем Linux он будет искать разделы, содержащие ./ vmlinuz *
и ./ initrd *
/ ./ initramfs *
, или разделы, содержащие каталог с именем ] / boot
и прежние файлы.
grub-mkconfig
попытается использовать os-prober
, если сможет его найти, и напечатает grub.cfg
, включая все обнаруженные системы.
Лично я считаю, что это меньше работы, чем использование UEFI, но продолжаю читать.
Для UEFI, в первую очередь, определенно может быть несколько разделов EFI. Тем не менее, не рекомендуется иметь несколько разделов EFI в мультизагрузочной системе. В этом SU-ответе подробно объясняется, почему , в основном потому, что вы можете иметь подкаталоги внутри одного раздела EFI и иметь разные системы в каждом подкаталоге. Вы просто выполняете монтирование с привязкой к другому месту раздела EFI, которое будет каталогом / boot
в каждой системе.
Например, вы можете создать два разных загрузчика, скажем:
\ loader \ entries \ mint.conf
title Mint Linux
linux \mint\vmlinuz
initrd \mint\initrd.img
options root=PARTUUID=14420948-2cea-4de7-b042-40f67c618660 rw
\ loader \ entries \ centos.conf
title CentOS
linux \centos\vmlinuz-linux
initrd \centos\initramfs-linux.img
options root=PARTUUID=14420948-2cea-4de7-b042-40f67c618661 rw
Вам нужен UUID для загрузчика, чтобы узнать, какой корень файловая система для использования. Теперь вы можете поместить ядро и начальные ramf-файлы каждой установки в их собственный каталог в разделе EFI (один в mint
, а другой в centos
).
Затем в каждой системе вы создаете / etc / fstab
с привязкой, чтобы использовать правую часть раздела EFI в качестве каталога / boot
. Например:
/efi vfat defaults 0 0
/efi/EFI/mint /boot none defaults,bind 0 0
и
/efi vfat defaults 0 0
/efi/EFI/centos /boot none defaults,bind 0 0
Каждая система теперь сможет разместить свое ядро в нужном месте при обновлении, а загрузка происходит через UEFI.
Ссылки:
. Самый простой способ - загрузить собственное ядро и отладить его с помощью отладочных символов.
вы переходите в каталог ядра, затем запускаете команду make menuconfig и в разделе
взлом ядра ---> отметьте опцию компиляции ядра с отладочной информацией
, вы также можете найти его в разделе Проверки времени компиляции и компилятор параметры --->
[*] скомпилировать ядро с отладочной информацией
Я объяснил очень подробную настройку, которая работает только на:https://stackoverflow.com/questions/11408041/how-to-debug-the-linux-kernel-with-gdb-and-qemu/33203642#33203642
В основном для конфигурации ядра, которую вы хотите:
CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_KERNEL=y
CONFIG_GDB_SCRIPTS=y