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!
Nenhum coment�rio foi encontrado.