Eu instalei o Ubuntu 16.04 inicializando de um USB, escolhendo "Tentar o Ubuntu sem instalar", e depois inserindo outro USB e direcionando o instalador para instalar lá. Eu disse ao instalador para instalar o bootloader em /dev/sdc2
, que é o ESP. Eu sei que o bootloader foi de fato instalado porque eu posso ver os arquivos shim e GRFI EFI naquela partição agora.
No entanto, quando tentei inicializar após a instalação, em vez de fornecer o menu de inicialização, ele apenas inicializou para o prompt de recuperação:
grub rescue>
Descobri então que minha partição ESP é hd0,gpt2
enquanto esperava hd1,gpt2
(usando o esquema de nomeação do grub aqui).
Examinei questões semelhantes, mas infelizmente só encontrei informações sobre os sistemas BIOS e não sobre o EFI, em que /
também contém /boot(/efi)
. Eu estou procurando uma maneira de continuar com /
on hd0,gtp3
e os arquivos grub efi no outro disco. O kernel e o initrd estão localizados dentro do ESP, o problema deve estar em outro ponto.
Como posso corrigir isso?
Saída de ls
:
(hd0) (hd0,gpt5) (hd0,gpt3) (hd0,gpt2) (hd0,gpt1) (hd1) (hd1,gpt8) (hd1,gpt7) (hd1,gpt6) (hd1,gpt5) (hd1,gpt4) (hd1,gpt3) (hd1,gpt2) (hd1,gpt1)
saída de ls (hd0,gpt2)/
:
syslininux/ vmlinuz.efi inird.lz efi/
conteúdo de /media/ubuntu/ba6e9aff-b9b7-4c4f-8441-98db8ec7a08a/boot/grub/grub.cfg
:
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-ba6e9aff-b9b7-4c4f-8441-98db8ec7a08a' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
set root='hd2,gpt3'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd2,gpt3 --hint-efi=hd2,gpt3 --hint-baremetal=ahci2,gpt3 ba6e9aff-b9b7-4c4f-8441-98db8ec7a08a
else
search --no-floppy --fs-uuid --set=root ba6e9aff-b9b7-4c4f-8441-98db8ec7a08a
fi
linux /boot/vmlinuz-4.4.0-28-generic.efi.signed root=UUID=ba6e9aff-b9b7-4c4f-8441-98db8ec7a08a ro quiet splash $vt_handoff
initrd /boot/initrd.img-4.4.0-28-generic }
Atualização:
Eu reinstalei com grub-install /dev/sdb2
grub em / dev / sdb2 mas a maioria dos grubfiles ainda estão em / dev / sdb3, então o grub não pode acessá-lo porque não sabe como carregar o ext2.mod. Parte da saída estava usando x86_64-efi
arch.
Eu baguncei um pouco o console de resgate e fiquei devagar, mas eu posso ter encontrado a causa, por que não posso acessá-lo. O modo de recuperação do grub só aceita apenas os modfiles do i386-pc, mas todos os modfiles instalados são x86_64-efi.