Inicializando o Arch Linux usando UEFI diretamente

0

Eu tentei instalar o Arch Linux no meu laptop HP para que ele inicializasse diretamente do UEFI. Eu fiz isso antes, mas não me lembro do método exato que usei. Eu sigo o wiki de formulário de instruções padrão e tenho /dev/sda1 montado em /mnt/boot e /dev/sda2 montado em /mnt . Depois de executar o chrooting em /mnt , eu uso o pacman para fazer o download do efibootmgr. Então eu uso o comando:

efibootmgr -d /dev/sda -p 1 -c -L "Arch Linux" -l /vmlinuz-linux -u "root=/dev/sda2 rw initrd=/initramfs-linux.img"

seguindo o wiki novamente. Eu sempre me certifico de que a ordem de inicialização está correta, mas depois da reinicialização, o computador não vê nenhum sistema inicializável.

Em seguida, usando o shell UEFI do USB, eu queria tentar

Shell> bcfg boot add N fsV:\vmlinuz-linux "Arch Linux"

mas meu shell apenas lista USB como fs0 e tudo o mais está listado como blk0, blk1 e assim por diante. Eles não são diretórios acessíveis, então não posso usá-los no comando acima.

Eu não sei o que mais eu poderia tentar. Eu queimei USB usando rufus e tentei a maioria das opções. Atualmente eu usei GPT formatado em drive, FAT32 e usei o modo DD com rufus. Eu tenho boot legado e seguro desativado no BIOS. O disco do laptop é formatado como GPT e /dev/sda1 é a partição EFI. Ambas as partições são formatadas como ext4 usando mkfs.ext4 . Eu tentei várias vezes reainstalar o sistema, mas ainda não consigo descobrir onde está o problema.

    
por Convaly 03.07.2017 / 18:17

2 respostas

0

Eu não confio no efibootmgr, então eu gosto de fazer isso manualmente, se eu estiver faltando alguma coisa, por favor, escreva um comentário.

Primeiro, você precisa inicializar a partir da mídia de instalação USB no modo UEFI. Eu tento destacar a parte do processo de instalação do arco UEFI.

A inicialização do UEFI exigiu não apenas efi, mas também uma partição de inicialização.

As duas primeiras partições devem ficar assim: inicialize o tamanho de 1M e comece no primeiro setor. então uma partição de 500 M efi.

fdisk -l
Device       Start       End   Sectors  Size Type
/dev/sda1     2048      4095      2048    1M BIOS boot
/dev/sda2     4096   1028095   1024000  500M EFI System

Eu recomendo o gdisk para criá-los.

Ambos devem ser formatados como FAT:

mkfs.vfat /dev/sda1
mkfs.vfat /dev/sda2

Monte o FS raiz em / mnt como você faria, então crie uma pasta esp na partição / mnt e mount efi da seguinte forma:

mkdir /mnt/esp
mount -o rw,relatime,fmask=0033,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro /dev/sda2 /mnt/esp

Neste ponto, o pacstrap e, em seguida, o genfstab podem ser feitos a partir do ponto UEFI de veiw.

adicione o seguinte ao final do arquivo / mnt / etc / fstab.

/esp/EFI/arch   /boot   none    bind    0 0

Isso é necessário porque o pacman atualiza o / boot enquanto o gerenciador de partida procura os arquivos em / esp / EFI / arch para que o sistema não seja inicializado após uma atualização.

agora você tem que editar o /etc/mkinitcpio.conf HOOKS = seção, deve ficar assim:

HOOKS='base systemd autodetect modconf block sd-lvm2 filesystems keyboard fsck sd-shutdown'

sd-lvm2 só é necessário se você estiver usando partições lvm.

Agora, neste ponto, precisamos fazer o chroot em / mnt

execute estes comandos:

mkinitcpio -p linux
bootctl --path=/esp install # install boot loader
echo -e "# Load vfat at boot\nvfat\n" > /etc/modules-load.d/vfat.conf   # Load vfat module at boot

Crie um arquivo /esp/loader/entries/arch.conf contendo o seguinte:

title   Arch Linux
linux   /EFI/arch/vmlinuz-linux
#initrd  /EFI/arch/intel-ucode.img
initrd  /EFI/arch/initramfs-linux.img
options root=/dev/sda3 rw

initrd /EFI/arch/intel-ucode.img linha deve ser descomentado se você estiver usando intel cpu você também tem que instalar pacman -Sy intel-ucode para intel cpu, root = deve conter a partição raiz do sistema.

o arquivo de configuração procura arquivos em / EFI / arch / então criamos o diretório e copiamos todos os arquivos de / boot e então apagamos / boot / * já que ligaremos o mount / EFI / arch / to / boot quando o sistema for inicializar para cima.

mkdir -p /esp/EFI/arch
cp /boot/* /esp/EFI/arch/
rm /boot/*

Se tudo o mais for feito, você gosta de configurar no chroot, você pode tentar inicializar o novo sistema.

    
por 06.07.2017 / 11:42
0

Se a sua partição do sistema EFI não estiver formatada como FAT32, esse é o problema. Embora teoricamente o UEFI possa suportar qualquer sistema de arquivos, o único fs que tem para suportar é o FAT32. (Talvez alguns CD / DVD fs também.)

O ESP deve ser FAT32.

    
por 06.07.2017 / 13:36