Multi boot com ELILO (Linux + Windows 8)

Publicado por Wilker Azevedo em 02/05/2017

[ Hits: 5.380 ]

 


Multi boot com ELILO (Linux + Windows 8)



Esta dica é bem simples e vai contra muita gente em torno do mundo.

Esses dias fui instalar o Slackware em um notebook, mas tinha que manter o Windows 8 junto. Então, foi aí que me deparei com EFI na prática. Durante a instalação do Slack foi detectado EFI e não podia usar LILO, ao invés disso, ELILO.

Então, tudo bem! Mas o ELILO só encontrou a partição do Slack. Fui na internet pra aprender a usar o ELILO e pra todo lado que fui, só encontrei gente dizendo que é preciso remover o ELILO e instalar o GRUB 2.0, pois o ELILO não funciona com partição Windows em modo EFI. Pronto! Foi o suficiente pra ativar meu modo "ousado". kkkkkkk

Em resumo, não é necessário remover o ELILO e nem tampouco instalar Grub 2 ou hacks para o ELILO. Basta apenas aprender a usar o comando efibootmgr:

# efibootmgr --help
efibootmgr: invalid option '--help'
efibootmgr version 0.5.4
usage: efibootmgr [options]
        -a | --active         sets bootnum active
        -A | --inactive       sets bootnum inactive
        -b | --bootnum XXXX   modify BootXXXX (hex)
        -B | --delete-bootnum delete bootnum (hex)
        -c | --create         create new variable bootnum and add to bootorder
        -d | --disk disk       (defaults to /dev/sda) containing loader
        -e | --edd [1|3|-1]   force EDD 1.0 or 3.0 creation variables, or guess
        -E | --device num      EDD 1.0 device number (defaults to 0x80)
        -g | --gpt            force disk with invalid PMBR to be treated as GPT>
        -H | --acpi_hid XXXX  set the ACPI HID (used with -i)
        -i | --iface name     create a netboot entry for the named interface
        -l | --loader name     (defaults to \elilo.efi)
        -L | --label label     Boot manager display label (defaults to "Linux")
        -n | --bootnext XXXX   set BootNext to XXXX (hex)
        -N | --delete-bootnext delete BootNext
        -o | --bootorder XXXX,YYYY,ZZZZ,...     explicitly set BootOrder (hex)
        -O | --delete-bootorder delete BootOrder
        -p | --part part        (defaults to 1) containing loader
        -q | --quiet            be quiet
           | --test filename    don't write to NVRAM, write to filename.
        -t | --timeout seconds  set boot manager timeout waiting for user input.
        -T | --delete-timeout   delete Timeout.
        -u | --unicode | --UCS-2  pass extra args as UCS-2 (default is ASCII)
        -U | --acpi_uid XXXX    set the ACPI UID (used with -i)
        -v | --verbose          print additional information
        -V | --version          return version and exit
        -w | --write-signature  write unique sig to MBR if needed
        -@ | --append-binary-args file  append extra args from file (use "-" for stdin)

Percebam logo na primeira linha que não tem essa de "--help". Mas usei só pra gerar o help. Sabemos que, por default, deveria existir um "--help ali, pois se reparar no help, não tem opção pra isso.

Não vou traduzir o help por questões óbvias (se você vai fuçar no Boot EFI, certamente conhece esse inglês e se não conhece, é melhor não fuçar).

Se você rodar o comando sem argumentos, terá a lista das opções de boot:

# efibootmgr
BootCurrent: 000B Timeout: 3 seconds BootOrder: 000B,000A Boot0000* Setup Boot0002 Recovery Boot0003* SATA HDD: Boot0004* SATA CD: Boot0005* CD-ROM: Boot0006 USB CD: Boot0007 USB FDD: Boot0008* USB HDD: Boot0009 NETWORK: Boot000A* Windows Boot Manager> Boot000B* Slackware Boot000C Setup Boot000D* Boot Menu

Marcados com "*", quer dizer que estão ativos. Não vou me aprofundar porque isso aqui é uma dica, e não pode virar um artigo:
  • A primeira linha mostra o boot atual (sistema que iniciou).
  • A segunda linha é o tempo de espera para iniciar um boot.
  • A terceira, mostra a ordem dos boots. Saiba que neste modelo, os sistemas instalados estão em sequência, assim que você reiniciar a máquina, o próximo sistema é que vai rodar (no exemplo: 1º Slackware... 2º Windows... depois volta ao início).
  • O restante, nem precisa explicar.

Em resumo... tem como você apagar, editar, criar, ativar e desativar entradas no boot. E para criar uma entrada para o Windows, basta saber onde está o firmware dele e a partição. Veja em: /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi

O comando para adicionar é:

# efibootmgr -c -g -d/dev/sda -p2 -w -L "Trava menos 8.1" -l '\boot\efi\EFI\Microsot\Boot\bootmgfw.efi'

Onde:
  • -d <device> → o HD onde está o sistema.
  • -p <partition> → a partição onde está o sistema.

* Note que não dei espaço em "-p2" e outros... Isso não gera erro, é normal no Linux. "Quase" todos os programas aceitam parâmetros assim, com espaço também. E dá pra ir mais além: "# efibootmgr -cgd<dev>", ou seja, juntando letras que não recebem parâmetros. Resolvi citar aqui, porque acontece de ter alguém que não sabia, e agora sabe. ;-)

Complemento

O boot menu, vai pra NVRAM, mesmo depois de remover o HD, o menu "fica no BIOS" (não é bem isso... mas é tipo isso kkkk). Então, saiba que, ao usar o "efibootmgr", você está mexendo no menu de boot da máquina com BIOS UEFI (mais uma vez, não é bem isso, mas é tipo isso).

Com um pouco mais de "futucância" (ato de futucar, mexer, fuçar... ok! Inventei isso! kkkk), você vai dominar melhor essa coisa de EFI e já vai conseguir ativar o Boot Menu e desativar o BootOrder, deixando assim um menu pra escolha do sistema que vai iniciar.

Tenha o disco de boot do seu sistema Linux em mãos! Ele vai te salvar na hora que você "limpar" o boot menu e não conseguir iniciar qualquer sistema (kkkk). Aconteceu comigo. E como eu não tinha o disco de boot (kkkkk)... e o CD não iniciava também... tive que recorrer aos universitários e usei um pendrive com Ubuntu, rodei o "efibootmgr" nele e montei novamente o Boot Menu.

Resumindo... ELILO dá boot com Windows 8 sim! Basta usar o "efibootmgr". Fica a dica!

Outras dicas deste autor

VirtualBox: VERR_SUPLIB_OWNER_NOT_ROOT VMMR0.r0

Kdenlive não encontra libavformat.so.51... é simples resolver!

Slackabduction - Excelente site de pacotes para Slackware

Instalando flash player 10 no Firefox 64 Bits

slackpkg dando erro: /usr/libexec/slackpkg/core-functions.sh: line 10: tput: command not found

Leitura recomendada

Dicas para o Hypertext Access (htaccess)

Configurando Atualizações do Ubuntu

Concedendo permissão de root a um usuário comum via sudo

Terminal do root colorido

Ferramenta para facilitar a configuração de firewall

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts