Se o seu sistema tem suporte UEFI e você deseja inicializar o LFS
          com UEFI, [então] você deveria pular as instruções nesta página,
          mas ainda assim aprender a sintaxe do grub.cfg e o método para especificar uma partição
          no arquivo a partir desta página e configurar o GRUB com suporte
          UEFI usando as instruções fornecidas na 
          página BLFS.
        
          Configurar o GRUB incorretamente pode tornar seu sistema inoperável sem um dispositivo alternativo de inicialização, como um CD-ROM ou unidade USB inicializável. Esta seção não é exigida para inicializar seu sistema LFS. Você possivelmente apenas queira modificar seu carregador de inicialização atual, por exemplo, Grub-Legacy, GRUB2 ou LILO.
          Certifique-se de que um disco de inicialização de emergência esteja
          pronto para “resgatar” o computador se o computador se
          tornar inutilizável (não inicializável). Se você ainda não tiver um
          dispositivo de inicialização, [então] você pode criar um. Para a
          finalidade de que o procedimento abaixo funcione, você precisa
          saltar para a frente para o BLFS e instalar xorriso oriundo do pacote
          
          libisoburn.
        
cd /tmp grub-mkrescue --output=grub-img.iso xorriso -as cdrecord -v dev=/dev/cdrw blank=as_needed grub-img.iso
          O GRUB usa estrutura de nomenclatura própria dele para unidades e
          partições na forma de (hdn,m), onde n é o número da unidade rígida e
          m é o número da partição. Os
          números da unidade rígida começam do zero, porém os números da
          partição começam do um para partições normais (do cinco para
          partições estendidas). Observe que isso é diferente de versões
          anteriores, onde ambos os números começavam do zero. Por exemplo, a
          partição sda1 é (hd0,1) para o GRUB e sdb3 é (hd1,3). Em contraste com o Linux, GRUB
          não considera unidades de CD-ROM como unidades rígidas. Por
          exemplo, se usar um CD em hdb e uma
          segunda unidade rígida em hdc,
          [então] aquela segunda unidade rígida ainda seria (hd1).
        
O GRUB funciona escrevendo dados na a primeira trilha física do disco rígido. Essa área não é parte de nenhum sistema de arquivos. Os aplicativos lá acessam módulos do GRUB na partição de inicialização. O local padrão é /boot/grub/.
          O local da partição de inicialização é uma escolha do(a) usuário(a)
          que afeta a configuração. Uma recomendação é ter uma partição
          pequena (tamanho sugerido é 200 MB) separada somente para
          informação de inicialização. Dessa forma, cada construção, seja LFS
          ou alguma distribuição comercial, consegue acessar os mesmos
          arquivos de inicialização e o acesso pode ser feito a partir de
          qualquer sistema inicializado. Se você escolher fazer isso, [então]
          você precisará montar a partição separada, mover todos os arquivos
          no diretório /boot atual (por
          exemplo, o núcleo Linux que você recém construiu na seção anterior)
          para a nova partição. Você então precisará desmontar a partição e
          remontá-la como /boot. Se você fizer
          isso, [então] tenha certeza de atualizar /etc/fstab.
        
          Deixar /boot na partição LFS atual
          também funcionará, porém a configuração para múltiplos sistemas é
          mais complicada.
        
          Usando a informação acima, determine o designador apropriado para a
          partição raiz (ou partição de inicialização, se uma separada for
          usada). Para o exemplo seguinte, é assumido que a partição raiz (ou
          inicialização separada) é sda2.
        
          Instale os arquivos do GRUB em /boot/grub e configure a trilha de inicialização:
        
          O seguinte comando sobrescreverá o carregador de inicialização atual. Não execute o comando de isso não for desejado, por exemplo, se usar um gerenciador de inicialização de terceiro para gerenciar o Master Boot Record (MBR).
grub-install /dev/sda
          
            Se o sistema tiver sido inicializado usando UEFI, [então] o
            grub-install
            tentará instalar arquivos para o alvo x86_64-efi, porém aqueles arquivos não
            foram instalados no Capítulo 8.
            Se esse for o caso, [então] adicione --target i386-pc ao comando acima.
          
          Gere o /boot/grub/grub.cfg:
        
cat > /boot/grub/grub.cfg << "EOF"
# Begin /boot/grub/grub.cfg
set default=0
set timeout=5
insmod part_gpt
insmod ext2
set root=(hd0,2)
menuentry "GNU/Linux, Linux 6.7.4-lfs-12.1-systemd" {
       linux   /boot/vmlinuz-6.7.4-lfs-12.1-systemd root=/dev/sda2 ro
}
EOF
        
          Os comandos insmod
          carregam os módulos GRUB chamados
          part_gpt e ext2. Apesar da nomenclatura, ext2 na verdade suporta sistemas de arquivos
          ext2, ext3 e ext4. O
          comando grub-install
          incorporou alguns módulos na imagem principal do GRUB (instalada no "MBR" ou na partição "BIOS"
          do GRUB) para acessar os outros módulos (em /boot/grub/i386-pc) sem um problema de galinha ou
          ovo, de modo que, com uma configuração típica, esses dois módulos
          já estão incorporados e esses dois comandos insmod não farão nada. Mas eles
          não fazem mal de qualquer maneira e possivelmente sejam necessários
          com algumas configurações raras.
        
          A partir da perspectiva do GRUB, os arquivos do núcleo estão relativos à partição usada. Se você usou uma partição /boot separada, [então] remova /boot da linha linux acima. Você também precisará mudar a linha set root para apontar para a partição de inicialização.
          
            O designador do GRUB para uma partição possivelmente mude se você
            adicionou ou removeu alguns discos (incluindo discos removíveis,
            como dispositivos USB miniatura). A mudança possivelmente cause
            falha de inicialização, pois o grub.cfg se refere a alguns designadores
            “antigos”.
            Se você deseja evitar tal problema, [então] você possivelmente
            use o UUID de uma partição e o UUID de um sistema de arquivos, em
            vez de um designador do GRUB para especificar um dispositivo.
            Execute lsblk -o
            UUID,PARTUUID,PATH,MOUNTPOINT para exibir os
            UUIDs dos seus sistemas de arquivos (na coluna UUID) e das suas partições (na coluna
            PARTUUID). Então substitua
            set root=(hdx,y) por search --set=root --fs-uuid ; e substitua <UUID do sistema de arquivos onde o núcleo
            está instalado>root=/dev/sda2 por root=PARTUUID=.
          <UUID da
            partição onde o LFS está construído>
            Observe que o UUID de uma partição é completamente diferente do
            UUID do sistema de arquivos nessa partição. Alguns recursos
            online possivelmente instruam você a usar o root=UUID=, em vez do
            <UUID do
            sistema de arquivos>root=PARTUUID=,
            porém fazer isso exigirá um initramfs, o qual está além do escopo
            do LFS.
          <UUID da partição>
            O nome do nó de dispositivo para uma partição em /dev também possivelmente mude (isso é menos
            provável que uma mudança do designador do GRUB). Você também pode
            substituir caminhos para nós de dispositivo, como /dev/sda1, por PARTUUID=, em <UUID da
            partição>/etc/fstab, para evitar uma potencial falha de
            inicialização no caso do nome do nó de dispositivo tiver mudado.
          
O GRUB é um aplicativo extremamente poderoso e ele fornece um tremendo número de opções para inicializar a partir de uma ampla variedade de dispositivos, sistemas operacionais e tipos de partição. Existem também muitas opções para personalização, tais como telas gráficas de abertura; reprodução de sons; entrada gerada de mouse; etc. Os detalhes dessas opções estão além do escopo desta introdução.
          Existe um comando, grub-mkconfig, que consegue escrever um arquivo de configuração automaticamente. Ele usa um conjunto de scripts em /etc/grub.d/ e destruirá quaisquer personalizações que você fizer. Esses scripts são projetados primariamente para distribuições não fonte e não são recomendados para o LFS. Se você instalar uma distribuição comercial do Linux, [então] existe uma boa chance de que esse aplicativo seja executado. Tenha certeza de produzir uma cópia de segurança do seu arquivo grub.cfg.