Como faço para o GRUB2 iniciar corretamente no UEFI?

1

Instalei o GRUB na minha instalação do Arch Linux em /dev/sdb1 . /dev/sdb é o meu segundo disco rígido interno no qual eu instalei o Arch Linux, /dev/sda é meu primeiro disco rígido interno e tem o Windows 10 instalado nele. /dev/sda2 é minha partição do EFS para UEFI. Então eu corri (isso eu baseei no artigo ArchWiki na subseção UEFI do GRUB )

mount /dev/sda2 /boot
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub

de dentro do arch-chroot que gerou quando instalei o Arch Linux nessa partição. Então eu reiniciei e quando entrei no GRUB do menu de inicialização do UEFI, eu tinha a interface mínima do GRUB (ou seja, aquela que diz "Edição de linha semelhante a BASH mínima é suportada ...") apenas, e eu não sabia o que façam. Eu tenho sido capaz de instalar e inicializar o Arch Linux sem problemas em um PC antigo rodando BIOS, então estou um pouco perplexo. Aqui está a saída de parted /dev/sda print :

Model: ATA WDC WD10JPVX-60J (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name                          Flags
 1      1049kB  420MB   419MB   ntfs         Basic data partition          hidden, diag
 2      420MB   693MB   273MB   fat32        EFI system partition          boot, esp
 3      693MB   827MB   134MB                Microsoft reserved partition  msftres
 4      827MB   974GB   974GB   ntfs         Basic data partition          msftdata
 5      974GB   975GB   955MB   ntfs                                       hidden, diag
 6      975GB   1000GB  24.8GB  ntfs         Basic data partition          hidden, msftdata
    
por Brenton Horne 15.03.2016 / 17:39

2 respostas

1

Eu encontrei uma solução alternativa. Eu usei systemd-boot em vez do GRUB2. Se você tiver uma solução real para o problema, ficarei feliz em aceitá-la, pois prefiro usar o GRUB2 em vez de systemd-boot . Até então, no entanto, vou usar essa solução alternativa. Mas isso não era uma correção automática, tive que trabalhar nisso. Eu estou compartilhando, no caso de alguém em uma posição semelhante encontrar esta solução alternativa útil. O que fiz foi montar minha partição /dev/sda2 em /boot/efi e copiei vmlinuz-linux e initramfs*.img de /boot em /boot/efi . Então eu corri os comandos bootctl mencionados no ArchWiki . Então, em resumo, eu corri:

mount /dev/sda2 /boot/efi
cp /boot/initramfs*.img /boot/efi
cp /boot/vmlinuz-linux /boot/efi
bootctl --path=/boot/efi install

Em seguida, criei o arquivo /boot/efi/loader/loader.conf necessário:

#timeout 3
default arch
timeout 4
editor  0

criei o seguinte arquivo /boot/efi/loader/entries/arch.conf :

title    Arch Linux
linux    /vmlinuz-linux
initrd   /initramfs-linux.img
options  root=UUID=d26c3e60-0cfb-4118-9dec-1f1819439790 rw

em que d26c3e60-0cfb-4118-9dec-1f1819439790 é o UUID (determinado pela execução de ls -ld /dev/disk/by-uuid/* ) de /dev/sdb1 .

    
por 16.03.2016 / 06:44
-2

Você gerou seu fstab? Arch Wiki #fstab

como assim

# genfstab -U /mnt >> /mnt/etc/fstab

    
por 15.03.2016 / 23:11