Multi boot com ELILO (Linux + Windows 8)

Publicado por Wilker Azevedo em 02/05/2017

[ Hits: 5.384 ]

 


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

Trocar Linux de patição / HD sem clonagem

Emulador x86 em Javascript rodando GNU/Linux. Falta o que agora?

Adobe CS: Creative Suite for Linux

Firefox versão 31 não carrega plugins [Resolvido]

Upgrade no KDE: "Call to lnusertemp failed (temporary directories full?). Check your installation"

Leitura recomendada

Ativando as funcionalidades do gerenciador de janelas Compiz no Linux Mint com ambiente gráfico Mate

Desabilitando roaming profile para logon em domínio Samba

Pipelight Flash no Slackware

Boot lento no Fedora 15?

DPKG: erro: base de dados de estado do dpkg está bloqueado por outro processo [Resolvido]

  

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