Translate

domingo, 13 de maio de 2012

Dual boot, Linux, Windows e Grub-customizer

Menu de inicialização para escolha do sistema operacional que deseja carregar no computador

Em um computador com dois (ou mais) sistemas operacionais, o Boot deve levar a um Menu de inicialização, que permita escolher qual sistema deseja carregar.

É o que se chama dual boot — um nome modesto, — pois você pode ter “n” sistemas instalados no seu computador.

Isso é feito pelo Gerenciador de boot, — chamado Grub (“GRand Unified Bootloader”), no Linux.

Índice


  • Após instalar um Linux
  • Opções avançadas
  • Opções de Kernel
  • Windows e hardware
  • Após instalar um Windows
  • Grub-customizer
  • Positivo operante 2016
  • Splash-image no Grub
  • Passando o bastão
  • MBR “de reserva”
  • Grub rescue na unha
  • Edição com o Grub-customizer


  • ATENÇÃO.: - Com a instalação de várias outras distros “não-debians”, em 2017, foi necessário rever todos esses conceitos, e ficou claro que em 2012 ignorava inúmeras coisas. Mesmo com a revisão feita em 2016, persistem muitos erros, nesta postagem, mas não seria razoável escrever tudo de novo. Então, ela fica como está, até porque é uma abordagem mais simples para quem precisa lidar apenas com (K)Ubuntu, Mint, Debian e algum Windows antigo. Para distros “não-debian”, vale a pena ver “Escolhendo Grub entre vários Linux”.


Após instalar um Linux


Grub após a instalação do Linux Mint 17.3 Cinnamon, em 18 Jan. 2016

Ao se instalar um sistema Linux, o Grub verifica a existência de outros sistemas operacionais e gera a lista que será apresentada no Menu de inicialização, desse dia em diante.

  • Naturalmente, o Linux instalado por último se colocará no topo da lista.

Iniciado o Boot, haverá uma pausa nesse Menu, — digamos, 5 ou 10 segundos, — para você escolher outro sistema operacional.

Se não fizer nada no teclado, ele carrega automaticamente o Linux do topo da lista.

Se usar a seta para baixo, — alterando esta seleção automática, — cessa a contagem regressiva, e nada mais acontece, até que você tecle Enter para confirmar uma escolha.

Opções avançadas


Opções avançadas → Modo de recuperação, a partir do Menu do Grub

Para cada sistema Linux instalado, são apresentadas 2 opções iniciais, — o carregamento normal, e um conjunto de Opções avançadas.

As Opções avançadas incluem o Modo de recuperação (Recovery mode), — que reúne algumas ferramentas de emergência:

  • Consertar pacotes quebrados (dpkg);
  • Verificar sistemas de arquivos (fsck);
  • Atualizar o carregador de inicialização (grub);
  • Terminal em modo root (root);
  • etc.

A opção de Terminal em modo root foi muito útil, p.ex., quando o sistema ficou sem Administrador.

A opção de Consertar pacotes quebrados (dpkg) já se tornou rotina, após instalar uma nova distribuição Linux, — foi o que bastou, p.ex, quando o Conky teimou em não ficar transparente no KDE Neon.

Mas também já resolveu um problema mais sério, certa vez que futriquei demais nos Temas, Fontes, Ícones etc. do Kubuntu, até cometer uma lambança qualquer, — que não sei qual foi, nem saberia como consertar manualmente.

Se você pretende usar a ferramenta Consertar pacotes quebrados, deve antes Habilitar rede (network), para que seja possível baixar o que estiver faltando.

Tecle “c” no Grub, para executar o comando “reboot”

Algumas dessas ferramentas “montam” (habilitam) todas as partições em modo de Leitura e Escrita, — e isso impede que, em seguida, sejam usadas algumas das outras ferramentas, — até que seja feito novo Boot.

Neste caso, basta escolher o primeiro item, — Continuar inicialização normal (Resume), — que retorna ao Menu de inicialização.

Então, tecle a letra “c”, — indicada no rodapé, para acessar o modo de linha de comando, — escreva reboot, e tecle Enter.

O computador é reiniciado, chega novamente ao Menu de inicialização, você escolhe novamente as Opções avançadas do mesmo Linux, e usa a ferramenta que faltava usar.


  • Errata - Não é verdade, — ou era, mas deixou de ser?, — que ao sair do Modo de recuperação (Recovery mode) o Grub retorne ao Menu de inicialização. Atualmente, ele retoma o carregamento do sistema escolhido. Não foram guardados registros de que tenha sido diferente, em outras épocas. Por isso, é difícil saber se mudou, ou se foi simples engano.


Lembrando: — Cada sistema Linux detectado e incluído no Menu de inicialização do dual boot tem suas próprias Opções avançadas, — com um “conjunto completo” de ferramentas de recuperação, específicas para ele.

Opções de Kernel


Opções de Kernel anteriores, nas Opções avançadas do KDE Neon

Outros itens das Configurações avançadas são as “versões anteriores” de cada Kernel, — você instala o Kubuntu 16.04 com o Kernel 4.4.0-21, no dia do lançamento (Abril 2016), — e quatro meses depois (Ago. 2016), o Kernel já está em 4.4.0-34, — mas as versões intermediárias continuam disponíveis, até que você decida removê-las.

Grub em 2009, — dois Linux, e várias opções de Kernel

Na época em que este relato foi publicado pela primeira vez (2012), essas versões anteriores de cada Linux iam se acumulando na página inicial do Menu de inicialização, — aos pares, cada uma com seu próprio Modo de recuperação, — e a tela ia se entupindo de opções.

Remoção completa de 4 versões anteriores de Kernel do Kubuntu, pelo Synaptic

Hoje, essas versões anteriores do Kernel ficam escondidas nas Opções avançadas de cada Linux, — por isso, o Menu de inicialização se mantém “enxuto”, e já não exige “limpeza” frequente de um “excesso” de itens.

No entanto, pode ser interessante remover esses Kernel antigos, — eles ocupam espaço na partição do sistema.

  • A remoção completa de 4 antigos Kernel do Kubuntu — pelo Synaptic (10 Ago. 2016) — liberou 1,48 GiB de espaço na partição do sistema.

  • A remoção completa de 3 antigos Kernel do KDE Neon liberou 1,11 GiB.

Obs.: - É conveniente manter, pelo menos, a última versão anterior do Kernel. Caso a versão mais nova apresente algum problema, você poderá carregar a versão anterior, e remover a mais nova.

De um modo geral, cada nova versão corrige problemas detectados na anterior, — mas, às vezes, podem introduzir algum problema.

Windows e hardware


No caso do Windows, o Grub apresenta apenas uma opção (para cada um).

Ao carregá-lo, você poderá usar a tecla de atalho (F4? F8?) do próprio Windows, para as alternativas de Recuperação / Manutenção que ele ofereça.

Enfim, aparecem 2 opções de Teste da Memória do computador (Memtest). — É uma ferramenta que só usei uma vez, em 10 anos, — mas, nunca se sabe.

Após instalar um Windows


Nada disso acontece, depois de você instalar ou reinstalar o Windows.

Oferecer dual boot para quem usa Linux, não faz parte da "missão" do Windows. — No máximo, dará opção de escolher entre dois (ou mais) Windows que existam na mesma máquina.

Aliás, como o Windows não é capaz de ler HDDs ou partições com outros sistemas de arquivos (filesystem), — exceto os da própria Microsoft; — nem poderia detectar sistemas Linux.

Ao ser instalado, o Windows apaga a “chamada” que o Linux havia gravado na trilha inicial (MBR) do HDD de Boot, — eliminando assim o caminho para o dual boot.

Por isso, quando precisava reinstalar o Windows, programava essa tarefa para coincidir com a reinstalação de um dos Linux.

A sequência é: — (1) Primeiro, reinstalar o Windows; — (2) Depois, reinstalar um dos Linux.

Chegando depois do novo Windows, o novo Linux verifica os sistemas existentes, e torna a gerar um dual boot (atualizado), — gravando então uma nova chamada na trilha inicial do HDD de Boot.

Caso instale um Linux em outro HDD, certifique-se de que o dual boot não seja gravado nele, — mas, sim, no HDD de Boot.

Grub-customizer


Desmarcando e reordenando os itens do Menu de inicialização, no Grub-customizer

Até Abril de 2012, usava um programa chamado “StartUpManager” para editar o Gerenciador de inicialização, — coisas como:

  • Alterar a “entrada padrão”, — qual sistema carregar automaticamente, após alguns segundos, — ou configurar para carregar o último utilizado (escolha manual anterior)
  • Alterar a ordem em que as opções são apresentadas
  • Jogar para o final as opções que não uso, — mas quero manter disponíveis (visíveis)
  • Ocultar ou eliminar opções obsoletas
  • Alterar o tempo de espera

Desde o Kubuntu 12.04, o “StartUpManager” foi excluído dos repositórios de softwares.

Uma pesquisa rápida indicou a existência do Grub-customizer, desenvolvido por Daniel Richter, — porém, ele não está nos repositórios oficiais do Ubuntu, — mas apenas em um repositório “PPA” (desenvolvedor pessoal).

Editando a entrada padrão do Boot e o tempo de espera, no Grub-customizer

Para adicioná-lo à lista dos repositórios onde o Kubuntu deve procurar softwares e atualizações, basta abrir o Terminal, colar esse comando, teclar Enter:

sudo add-apt-repository ppa:danielrichter2007/grub-customizer

e fornecer a senha de Administrador, ao pedido do "sudo".

Adicionar PPA e instalar o Grub-customizer pelo Terminal

Em seguida, no Gerenciador de pacotes Synaptic, clique em Recarregar, — para atualizar a lista de softwares disponíveis nos repositórios, — inclusive o PPA adicionado agora.

Feito isso, o Synaptic já “encontra” o Grub-customizer entre os softwares disponíveis para instalação. — É só Marcar, em seguida Aplicar, para ele ser baixado e instalado.

Se você não usa o Gerenciador de pacotes Synaptic, abra o Terminal, cole e dispare esses 2 comandos, — um após outro, — fornecendo a senha quando solicitado:

sudo apt-get update

sudo apt-get install grub-customizer

O primeiro comando atualiza as informações dos pacotes disponíveis nos repositórios, — acrescentando as do PPA adicionado agora.

O outro instala o grub-customizer, — sem necessidade de Synaptic, Muon, Discover, lojinha, ou qualquer outro programa de gerenciamento de pacotes (softwares).

Fique atento ao momento em que ele pára — e pede para confirmar alguma coisa (Enter), — senão, você vai esperar até o fim dos tempos.

Para mais informações, dúvidas, soluções, bugs etc., visite a página do Grub-customizer.

Alguma coisa do Grub-customizer não funcionou direito por aqui, na primeira vez (6 Mai. 2012), — e encontrei lá a solução.

Três dias depois (9 Mai. 2012), o Synaptic detectou uma atualização (correção) do Grub-customizer, — que tratei de baixar e instalar, — e nunca mais tive problemas com ele, nesses 4 anos.

Positivo operante 2016


Esses 3 comandos foram testados mais uma vez, agora, — no Kubuntu 16.04, no KDE Neon e no Linux Mint 17.3 Cinnamon.

Continuam funcionando perfeitamente, — assim como o Grub-customizer.

  • A instalação do Grub-customizer só não foi feita, por enquanto, no Debian testing “Stretch”, — pois repositórios PPA são “invenção” do seu derivado Ubuntu (base do KDE Neon e do Linux Mint).


  • Obs.: - Com a instalação de várias outras distros “não-debians”, em 2017, foi necessário rever todos esses conceitos, e ficou claro que em 2012 ignorava inúmeras coisas. Mesmo com a revisão feita em 2016, persistem muitos erros nesta postagem, mas não seria razoável escrever tudo de novo. Então, ela fica como está, até porque é uma abordagem mais simples para quem precisa lidar apenas com (K)Ubuntu, Mint, Debian e algum Windows antigo. Para distros “não-debian”, vale a pena ver “Escolhendo Grub entre vários Linux”.


Splash-image no Grub


Comando “vbeinfo” para verificar a resolução suportada no Grub

Adornar o Menu de inicialização com uma bela imagem de fundo foi um dos muitos benefícios trazidos, — para o Kubuntu (e o Neon, e o Debian), — pela “longa e trabalhosa configuração do Linux Mint”.

Foi a primeira vez, — desde a precipitada substituição do Kurumin, — que me senti confortável o suficiente, com o Kubuntu, para finalmente me dedicar ao aprendizado mais aprofundado de outra distribuição Linux e outro “ambiente gráfico” (desktop environment), — no caso, o Cinnamon, — o que acabou por revelar muitas coisas sobre o Linux (“família” Debian) e novas descobertas no próprio KDE, até por contraste.

No caso do Grub, esse novo horizonte foi encontrado no mini-tutorial “Howto Embellish the Boot Screen (grub2)”, publicado há uns 3 anos na Comunidade do Linux Mint, e que, — em poucas linhas, — condensa um conjunto de dicas e informações sobre:


Imagem copiada para /boot/grub/ em Abril, — foi aparecer após uma atualização do Grub no Mint, em Junho

Cheguei lá no início de Abril, gostei e resolvi testar.

Foi instalado o “grub2-splashimages”, — foi transferida uma das imagens “.tga” para a pasta-padrão “/boot/grub/” (com alteração de nome), — e, por algum motivo, ficou nisso.

Tudo indica que não apliquei o comando “sudo update-grub”, — as anotações indicam que (primeiro) tentei usá-lo no Kubuntu (mesma imagem etc.), — mas, como não deu resultado, o assunto acabou esquecido, em prol de outros mais urgentes.

Em fins de Junho, o Linux Mint 17.3 recebeu uma atualização do Grub, — e a imagem finalmente apareceu, de surpresa, no Menu de inicialização, — quando já nem lembrava dela.

Na verdade, a única coisa que tinha feito, em Abril, foi colocá-la “no caminho”, para ser detectada e usada “automaticamente” pelo Grub, — conforme as “prioridades de imagens”, ensinadas pelo autor do mini-tutorial, — porém, não tinha feito atualização, para “entrar em vigor”.

Passando o bastão


Em Abril, a “chamada” na trilha inicial (MBR) do HDD de Boot apontava para o Grub do Linux Mint, — provavelmente, desde sua instalação, em Janeiro, — e o comando “sudo update-grub”, aplicado no Kubuntu, apenas poderia atualizar seu próprio Grub, que não era chamado, ao ligar o computador.

Para que o Grub do Kubuntu assumisse o controle do processo, teria de regravar a “chamada” na trilha inicial do HDD de Boot, — o que aconteceria, p.ex., se reinstalasse o Grub do Kubuntu, — ou se ele recebesse uma atualização proveniente dos repositórios, — o que também equivale a uma nova instalação / reinstalação: — “sudo apt install --reinstall grub-pc”.

Em resumo, — havendo vários Linux, haverá vários Grub, — e eles se revezam, valendo sempre o último instalado / reinstalado:

• Uma “chamada” é gravada na trilha inicial (MBR) do HDD de Boot, — o HDD onde a Bios do computador está configurada para procurar instruções, ao ser ligado.

• Como o MBRMaster Boot Record — tem apenas 512 bytes, guarda apenas o mínimo indispensável: — o “caminho” para o Grubativo”.

• No caso de existirem 4 Linux, cada um tem seu próprio Grub, com suas próprias configurações, imagem de fundo etc.

• A cada vez que um Grub recebe atualização dos repositórios, — ou seja, é reinstalado,
— torna a gravar uma “chamada” no MBR do HDD de Boot, — tornando-se o Grubativo”, daí por diante.

Nesse meio tempo, — de 2 Abr. a 22 Jun., — foram instalados:

  • 24 Abr. - Kubuntu 16.04
  • 29 Mai. - KDE Neon Developer Edition
  • 31 Mai. - KDE Neon User Edition
  •   2 Jun. - Debian testing “Stretch” — com Swap inadequado
  • 11 Jun. - Debian testing “Stretch”
  • 19 Jun. - Debian testing “Stretch”

Após uma atualização, o Grub do KDE Neon reassumiu o controle, — e deixou o Mint escondido

Na instalação do KDE Neon User Edition, o Linux Mint ficou escondido “abaixo da linha do horizonte”, — não percebi que o resto estava abaixo do quadradinho minúsculo, no centro da tela, — e a solução foi reinstalar o Grub (grub-pc) do Kubuntu 16.04, pelo Synaptic.

Esse quadrado minúsculo, — invenção dos avanços tecnológicos, para maior beleza, — presume que você nunca terá mais do que 2 ou 3 sistemas.

Mas você pode ampliar o quadrado, — basta ler um monte de “documentação”, ou encontrar um tutorial decente (ainda não encontrei), — e editar 2 ou 3 arquivos de configuração, espalhados em várias pastas do sistema.

Atualização do Grub no Kubuntu, 10 minutos depois, detectou os 4 sistemas e restabeleceu o Menu completo

A primeira instalação do Debian testing “Stretch”, — com vários erros, inclusive de Swap (mudança de UUID), — também produziu um Grub com algumas coisas estranhas, e no dia seguinte o Grub do Kubuntu voltou a ser reinstalado, para retomar o controle do Menu de inicialização.

Para testar essas conclusões, em 14 Ago. 2016, — vigorando o Grub do KDE Neon, — foi usado o comando “sudo apt install --reinstall grub-pc” dentro do Linux Mint, — e, de fato, isso fez com que ele reassumisse o comando.

Obs.: - Tudo o que foi dito neste “capítulo” (acima) pressupõe que haja apenas 1 HDD de Boot, — e / ou que todos os sistemas Linux estejam configurados para gravar nele suas “chamadas”. — Neste caso, sim, acontece esse “revezamento”, a cada vez que um Linux volta a tomar posse do controle do Boot. — É o que fica claro a seguir.

MBR “de reserva”


Gravando chamada do Grub também no MBR do segundo HDD

Por fim, foi gravado um MBR “de reserva”, no segundo HDD, — afinal, qual a utilidade de deixá-lo vazio, — e, em caso de ocorrer algum desastre, depender de um “grub rescue” com cursor piscando?

Para isso, foi escolhido o Grub do Linux Mint, que já estava bem à mão, — e que permanece “intocado” pelo Grub-customizer, sem qualquer configuração manual. — Até agora, apenas “adotou” aquela imagem “Lake_mapourika_NZ.tga”, de 640x480 pixels, colocada em seu caminho, para ser detectada automaticamente.

MBR sem “chamada” para um Grub válido: “grub rescue”

Como tudo estava funcionando, bastou abrir o Terminal e disparar o comando “sudo grub-install /dev/sdb”. — E agora, no caso de deparar com um “grub rescue” no primeiro HDD, pode ser providencial ter uma alternativa no segundo HDD, no terceiro etc. — Basta entrar no Setup da Bios, mudar a prioridade de Boot para o 2º HDD, salvar, e usar o outro Menu de inicialização.

Naturalmente, foi feito um teste, em seguida, — a Bios foi alterada, para Boot a partir do segundo HDD.

Um novo Menu de inicialização foi exibido, — e a partir dele foi carregada uma sessão do Linux Mint, para mais algumas horas de trabalho.

Quando algum Linux for substituído, será bom lembrar de atualizar também o MBR do segundo HDD.

Obs.: - Ao invés de apenas “instalar” o Grub de um Linux no MBR do segundo HDD, — solução precária, pois ele continuará se reapossando do MBR do primeiro HDD, a cada vez que receber upgrade e/ou for reinstalado, — pode-se reconfigurá-lo para passar a gravar sempre no MBR do segundo HDD.

Grub rescue na unha


Identificando as partições para recuperar o Grub “na unha” (grub rescue)

Este comando “sudo grub-install /dev/sdb”, na verdade, era apenas o último passo da receita mostrada por Akkiri, — para recuperar o Grub “na unha”, — e que vai registrada abaixo (resumo adaptado), para qualquer eventualidade futura.

En cas de malheur

Restaurando GRUB2 sem cd de instalação

1) Identificar as partições existentes:

  • grub rescue> ls

(hd0)
(hd0,msdos11)
(hd0,msdos10)
(hd0,msdos9)
(hd0,msdos8)
(hd0,msdos7)
(hd0,msdos6) ← Linux2 (Mint), em sdb6
(hd0,msdos5)
(hd0,msdos1) ← Linux1 (Kubuntu), em sdb1

(hd1)
(hd1,msdos10)
(hd1,msdos9)
(hd1,msdos8)
(hd1,msdos7)
(hd1,msdos6)
(hd1,msdos5)
(hd1,msdos3) ← Linux3 (Debian), em sda3
(hd1,msdos1) ← Linux4 (KDE Neon), em sda1

Em caso de desastre, sempre é bom ter algumas anotações, — sobre as partições, p.ex.

* Os HDDs estão invertidos, — porque o Boot foi tentado pelo 2º HDD! — Quem tem 11 partições é o “sdb”!

2) Indique o disco onde se encontram os arquivos de configuração do GRUB.

  • grub rescue> set root=(hd0,msdos6)

3) Informe o local onde se encontram os arquivos de boot.

  • grub rescue> set prefix=(hd0,msdos6)/boot/grub

4) Carregue o módulo e faça a sua inicialização

  • grub rescue> insmod normal
  • grub rescue> normal

5) Após entrar no sistema operacional, atualize e reinstale o grub. Entre no terminal e como usuário root digite:

  • sudo update-grub
  • sudo grub-install /dev/sda

Infelizmente, essa receita de bravura não foi testada, — caso contrário, não poderia testar a outra opção, usando apenas o último comando. — Ou testava um, ou outro.

Edição com o Grub-customizer


Salvar X Gravar MBR, no Grub-customizer

Observadas essas particularidades, — conforme haja só um Linux, ou vários, — vale notar alguns caminhos, no Grub-customizer:

  • Salvar - Apenas salva as configurações localmente, — equivale ao “sudo update grub”, — e pode ser o suficiente, quando existe apenas um Linux, ou quando ele já comanda o Grub.

  • Gravar MBR - equivale ao “sudo grub-install /dev/sda”, — permite que um Linux assuma o controle do Grub. — Neste caso, porém, me parece que é uma verdadeira reconfiguração, permanente (ainda não conferi o “efeito permanente”, em condições controladas).

Gravar MBR no Grub-customizer, — escolha do HDD

Esta última opção também permite que você instale “chamadas” na trilha inicial (MBR) de outros HDD, — do “sdb” em diante, — por precaução.

Em caso de falha, poderá dispor de um MBR “de reserva”, — ou vários.

A conferir se isto, de fato, reconfigura o Grub daquele Linux a sempre gravar no MBR do outro HDD, daí por diante.

________
Publicado originalmente em 13 Mai. 2012.
Revisto e ampliado em 10~14 Ago. 2016.
ERRATA acrescentada em 28 Jun. 2017

— … ≠ • ≠ … —

Ferramentas &tc.


3 comentários:

  1. Muito obrigado pela informação. Eu não sabia pq não conseguia mais achar o Startup, obrigado mesmo.

    ResponderExcluir
  2. Chegado! Valeu, foi muito explicativo, gostei muito do seu tutorial,.
    Geralmente não leio todo o tutorial, mas esse eu achei bem interessante e de fácil entendimento... valeu! parabéns!
    Se puder me add no face, meu perfil é https://www.facebook.com/Tiago.Franca.Fernandes

    ResponderExcluir
    Respostas
    1. Criei essa pagina no Facebook, para assuntos de bits & bytes?

      https://www.facebook.com/Byteria/

      Excluir