Я пытаюсь установить ParrotSec Linux на USB-накопитель MBR. Корневая папка монтируется на sdc5, и у меня есть раздел ext2 на sdc3, содержащий конфигурацию grub, vmlinux и initrd. У меня есть другой небольшой раздел на моей флешке на sdc1, отформатированный в fat32, и я пытаюсь установить EFI grub, чтобы я мог загрузить его со своего компьютера.

На данный момент я могу загрузить grub cli с другой USB-флешки, содержащей только grub, а затем использовать grub cli для загрузки linux и initrd и загрузки в систему. Но это включает в себя подключение двух USB-флешек на моем компьютере, один с системой, второй с grub.

Есть ли способ установить grub непосредственно на мою флешку ParrotSec, чтобы я мог загрузить EFI на него? Я не против переустановить всю систему.

2 ответа2

1

По моему опыту, заставить GRUB в режиме BIOS и EFI-режиме сосуществовать на одном носителе может быть непросто, поскольку они могут захотеть использовать один и тот же файл конфигурации, но для этого есть разные потребности. Конечно, его можно заставить работать, но если вы не очень разбираетесь в GRUB, не получите чётких инструкций от кого-то, кто обладает этими знаниями, или вам очень повезло, вы можете получить путаницу. Из твоего собственного ответа, туроператор, я понял, что ты преодолел это препятствие, и это здорово; но....

Моя общая рекомендация для этой задачи - полагаться на два разных загрузчика, таких как GRUB для BIOS-режима и rEFInd (предостережение: я поддерживаю rEFInd) для загрузки в режиме EFI. Они используют разные конфигурационные файлы, так что нет никаких шансов конфликта на этот счет. Сначала нужно настроить его для режима BIOS, но с разделом FAT, выделенным в качестве системного раздела EFI (ESP), это хорошее начало. Затем загрузчик EFI должен быть установлен в ESP с помощью резервного имени файла (EFI/BOOT/bootx64.efi , по крайней мере, для систем x86-64). В случае rEFInd это можно сделать с помощью refind-install :

refind-install --usedefault /dev/sdb1

В этом примере настраивается rEFInd для /dev/sdb1 , который должен быть размонтированным разделом FAT на USB-накопителе - при необходимости измените это значение. Если вы хотите использовать ELILO, gummiboot/systemd-boot или что-то еще, вам нужно обратиться к его документации, чтобы узнать, как установить и настроить его.

Одно предостережение: если вы планируете загружаться в системах, которые поддерживают безопасную загрузку, может быть проще использовать GRUB 2 в качестве загрузчика в режиме EFI, по крайней мере, если дистрибутив поддерживает безопасную загрузку. Затем вы использовали бы что-то еще (SYSLINUX, LILO или GRUB Legacy) для загрузки в режиме BIOS. Причина в том, что большинство дистрибутивов предоставляют полный путь от Shim до GRUB 2 к ядру с поддержкой Secure Boot. Замена GRUB 2 на что-то еще возможно, но это означает, что вам нужно будет добавить хотя бы один ключ в свой список MOK при загрузке. Это не слишком сложная задача на разовой основе, но если вы перенесете установку с одного компьютера на другой или распространите ее широко, это может быть проблемой.

1

Похоже, я сделал это. Я установил grub с помощью grub-install из другого дистрибутива linux на флешку. Это позволило мне загружаться на моем USB-накопителе из BIOS. Затем я скопировал еще одну копию grub в папку EFI, которая позволяет мне загружаться из EFI. У меня на самом деле установлены два личинки, но это работает ...

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