grub2-install: error: / boot / efi не похож на EFI-раздел при новой установке Gentoo

мне нужна машина Gentoo 13 для тестирования программного обеспечения на платформе. Я не в Gentoo, и поэтому я страдаю процедуры установки. Я в
Настройка загрузчика / установка GRUB2
, и он потерпел неудачу с:

# grub2-install --target=x86_64-efi --efi-directory=/boot
Installing for x86_64-efi platform.
grub2-install: error: /boot doesn't look like an EFI partition.

Я вернулся к подготовка дисков | Default: использование parted для разбиения диска, и, кажется, у меня все настройки как указано:

(chroot) Gentoo-2012 / # parted
GNU Parted 3.2
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) unit mb                                                          
(parted) print                                                            
Model: ATA VMware Virtual I (scsi)
Disk /dev/sda: 21475MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End      Size     File system     Name    Flags
 1      1.05MB  3.15MB   2.10MB                   grub    bios_grub
 2      3.15MB  131MB    128MB    ext2            boot    boot, esp
 3      131MB   2572MB   2441MB   linux-swap(v1)  swap    msftdata
 4      2572MB  21474MB  18902MB  ext4            rootfs  msftdata

результаты вышеуказанные от такой же главы руководство, разделы применение файловой системы к разделу и активировать раздел подкачки.

Я тоже следовал комментарию каталог EFI не должен быть /boot но /boot/efi С загрузчика проблемы и вопросы на форумах Gentoo, но это привело к той же ошибке:

(chroot) Gentoo-2012 / # mkdir /boot/efi
(chroot) Gentoo-2012 / # grub2-install --target=x86_64-efi --boot-directory=/boot --efi-directory=/boot/efi
Installing for x86_64-efi platform.
grub2-install: error: /boot/efi doesn't look like an EFI partition.

в чем проблема и как ее решить?


вот соответствующий fdisk просмотр информации, представленной gparted выше.

(chroot) Gentoo-2012 / # fdisk -l
Disk /dev/loop0: 3.3 GiB, 3567640576 bytes, 6968048 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes    

Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 52F5571A-808B-XXXX-XXXX-XXXXXXXX

Device       Start      End  Sectors  Size Type
/dev/sda1     2048     6143     4096    2M BIOS boot
/dev/sda2     6144   255999   249856  122M EFI System
/dev/sda3   256000  5023743  4767744  2.3G Microsoft basic data
/dev/sda4  5023744 41940991 36917248 17.6G Microsoft basic data

Я также проверил пакет sys-boot/grub поддерживает EFI:

(chroot) Gentoo-2012 / # cat /etc/portage/make.conf | grep GRUB
GRUB_PLATFORMS="emu efi-32 efi-64 pc"

затем я выполнил emerge --ask --newuse sys-boot/grub,emerge -pv sys-boot/grub, а затем перестроен grub.

8
задан jww
18.05.2023 11:10 Количество просмотров материала 2880
Распечатать страницу

2 ответа

ответ прост. Системный раздел EFI (ESP) должен быть FAT32 (FAT16 или даже FAT12 также подходит для большинства UEFI; они в основном показаны как vfat в Linux) вместо ext2:

mkfs.fat -F32 /dev/sda2

FWIW, если вы не собираетесь устанавливать grub i386-pc (для загрузки BIOS/CSM), вам не нужен раздел "BIOS boot". Это требуется только grub i386-pc (но не grub x86_64-efi или i386-efi) на GPT.

неважно, используете ли вы в ESP для /boot. Если вы это сделаете, вы должны запустить:

grub2-install --efi-directory /boot

если вы установите его на /boot/efi вместо этого вы должны запустить:

grub2-install --efi-directory /boot/efi

--boot-directory /boot подразумевается (т. е. по умолчанию); не имеет значения,/boot это ESP, другой отдельный раздел или каталог на / файловой системы.

вы, возможно, даже не нужно chroot снова выполнить grub2-install; например, вы установили sda4 ваш раздел /, on /mnt; а потом, монтируется sda2, ваш ESP, на /mnt/boot/efi, тогда вы можете просто запустить:

grub2-install --boot-directory /mnt/boot --efi-directory /mnt/boot/efi

хотя grub2-mkconfig необходимо запустить в chroot AFAIK. Но если вы планируете писать простой и чистый!--20 -- > себя вместо (который является единственным изящным способом использовать grub2), то это будет из вашей заботы.

3
отвечен Tom Yan 2023-05-19 18:58

проблема, казалось, смешивания и сопоставления BIOS, EFI, MBR и GPT. Я попытался следовать руководствам и использовать GPT, но были некоторые зависимости, которые я не мог решить, потому что я слишком неопытен. Мне даже не понятно, было ли ядро собрано с поддержкой GPT (через config option CONFIG_EFI_PARTITION).

когда я сбросил GPT и EFI и переключился на чисто BIOS и MBR, я смог загрузить получившуюся машину. BIOS и GPT должны быть допустимой комбинацией, но я интересно, работает ли это на практике (см., например, Загрузчика Варианты).

вот конфигурация, с которой я смог запустить машину:

$ parted
GNU Parted 3.2
Using /dev/sda
(parted) print                                                            
Model: ATA VMware Virtual I (scsi)
Disk /dev/sda: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system     Flags
 1      1049kB  135MB   134MB   primary  ext2            boot
 2      135MB   19.5GB  19.3GB  primary  ext4
 3      19.5GB  21.5GB  2012MB  primary  linux-swap(v1)

Раздел 1 /boot, Раздел 2 /, а раздел 3 swap.

0
отвечен jww 2023-05-19 21:15

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх