Я пытаюсь поэкспериментировать с Gentoo, поэтому я изменил размер моего раздела ArchLinux, чтобы освободить место.

Я установил Gentoo на следующую схему разделов:

Model: ATA ST3500411SV (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system     Name                 Flags
 1      1049kB  3146kB  2097kB                  BIOS boot partition  bios_grub
 2      3146kB  16.1GB  16.1GB  linux-swap(v1)  Linux swap
 3      16.1GB  453GB   437GB   btrfs           Linux filesystem
 4      453GB   453GB   134MB   ext2            gentoo-boot
 5      453GB   500GB   47.3GB  ext4            gentoo-root

Загрузочный раздел BIOS (# 1) был заполнен grub от ArchLinux.

Для установки Gentoo я следовал инструкциям в официальном руководстве, но пропустил часть о настройке загрузчика, думая, что установка grub из ArchLinux должна справиться с загрузкой Gentoo и Arch.

Может быть, это моя ошибка.

Я добавил следующее в grub-config в Arch-Linux:

Обновленная версия:

menuentry "Gentoo" {
        insmod ext2
        set root=(hd0,gpt5)
        linux /boot/kernel-genkernel-x86_64-4.12.12-gentoo
        initrd /boot/initramfs-genkernel-x86_64-4.12.12-gentoo
}

Это не оригинальная версия, которую я добавил, я изменил несколько настроек, пытаясь сузить проблему.

Когда я загружаюсь, запись Gentoo появляется в списке grub, но когда я пытаюсь ее использовать, я получаю сообщение об ошибке, что файл для ядра не может быть найден.

Моя основная проблема - понять, как мне сказать grub, что корень Gentoo находится в gpt5, а папка /boot - в gpt4.

Я также пытался использовать os-prober, чтобы автоматически генерировать запись, но я получаю тот же результат, файл ядра не может быть найден. Конфигурация grub использует gpt5 в качестве пользователя root, и gpt4 не упоминается в папке /boot.

У кого-нибудь есть опыт решения подобных проблем?

1 ответ1

0

boot и root находятся на разных разделах. boot не монтируется в каталог /boot 5-го раздела. Вы должны изменить корневой параметр set root=(hd0,gpt4) и удалить часть /boot на пути к образам ядра и initramfs:

set root=(hd0,gpt4)
linux /kernel-genkernel-x86_64-4.12.12-gentoo
initrd /initramfs-genkernel-x86_64-4.12.12-gentoo

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .