Início » Computador » Desenvolvedor cria botão de boot para alternar entre Linux e Windows

Desenvolvedor cria botão de boot para alternar entre Linux e Windows

Cansado do modo padrão do GRUB, Stephen Holdaway decidiu alternar entre Linux e Windows com um seletor físico

Emerson Alecrim Por

O Windows e o Linux podem conviver pacificamente no mesmo computador (ou quase), mas Stephen Holdaway estava cansado do modo de funcionamento do gerenciador de boot GRUB. Ele teve então a ideia de criar uma solução física para alternar entre os dois sistemas: um botão de seleção que foi instalado em sua mesa.

Seletor Windows x Linux (imagem: divulgação/Stephen Holdaway)

Seletor Windows x Linux (imagem: divulgação/Stephen Holdaway)

Na página do projeto, Holdaway explica que usa Linux e Windows na mesma máquina há uma década, mas que o processo padrão de alternância entre os dois sistemas operacionais via GRUB o incomodava.

Para entrar no Linux, o desenvolvedor simplesmente ligava o computador e esperava o sistema operacional carregar. Mas, para entrar no Windows, ele tinha que selecionar esse sistema na lista de opções do GRUB dentro de um limite de tempo que, se não respeitado, carregava o Linux como padrão.

Cansado desse ritual, o desenvolvedor pensou em uma alternativa mais prática:

Como eu sei qual sistema operacional quero usar com antecedência, por que não criar um interruptor físico para selecionar entre o Linux e o Windows?

Stephen Holdaway

Holdaway desenvolveu uma solução baseada em dois componentes principais: um botão de seleção e uma diminuta placa USB equipada com um microcontrolador STM32 (um chip de baixo custo e arquitetura ARM).

É claro que não bastou ligar uma coisa na outra e começar a usar. Mas, estudando o funcionamento do GRUB, o desenvolvedor descobriu detalhes que abriram caminho para a solução.

Todo o "kit" do projeto de Holdaway (imagem: divulgação/Stephen Holdaway)

Todo o “kit” do projeto de Holdaway (imagem: divulgação/Stephen Holdaway)

Holdaway percebeu, por exemplo, que o GRUB tem suporte nativo a dispositivos USB, mas, quando os módulos responsáveis por isso são acionados, os mecanismos que dão acesso às unidades de armazenamento do computador (onde os sistemas operacionais estão instalados, obviamente) são desativados para evitar conflitos.

Porém, se o dispositivo USB tiver função de armazenamento (como um pendrive), ele pode ser lido pelo GRUB sem dificultar o acesso aos dispositivos do tipo existentes na máquina.

Um dos passos consistiu então em fazer uma codificação para a placa USB ser reconhecida como um dispositivo de armazenamento, com direito a um sistema de arquivos emulado (Holdaway escolheu o FAT12 for ser simples e bem documentado).

O firmware da placa USB foi codificado pelo desenvolvedor de modo a orientar o GRUB a carregar o sistema operacional correspondente à posição escolhida no seletor.

Em resumo, o macete funciona assim: o dispositivo USB, já ligado ao interruptor, fica conectado ao computador; quando este é ligado, o GRUB lê o dispositivo e executa as instruções para carregar o Windows ou o Linux, conforme a posição do botão. O resultado é demonstrado no vídeo a seguir:

Podemos imaginar algumas possíveis desvantagens para essa seleção, como o risco de o botão ser acionado acidentalmente quando o computador já estiver em uso. Mas, como o dispositivo USB só interage com o GRUB e este é acionado apenas no momento do boot, é de se presumir que o seletor não irá causar nenhum dano ou interferência no sistema operacional ativo.

Nesse sentido, o desenvolvedor explicou via Twitter que a placa USB não é um dispositivo de armazenamento de verdade, logo, instruções de gravação que poderiam ser acionadas com a mudança do seletor são ignoradas.

É claro que, em vez de ter tido todo esse trabalho, Stephen Holdaway poderia ter usado o Windows Subsystem for Linux (WSL) ou outra solução do tipo para rodar o Linux no Windows. Mas, também via Twitter, o desenvolvedor explicou que prefere contar nativamente com o Linux por considerar Gnome e KDE ambientes mais confortáveis para o seu trabalho.

O seletor instalado e funcionando (imagem: divulgação/Stephen Holdaway)

O seletor instalado e funcionando (imagem: divulgação/Stephen Holdaway)

Para encontrar informações mais detalhadas sobre como criar algo do tipo, acesse a página do projeto.

Comentários da Comunidade

Participe da discussão
15 usuários participando

Os mais notáveis

Comentários com a maior pontuação

Eu (@Keaton)

Se acesso ao outro drive não for problema, cria um interruptor de energia cortando a energia do disco com o OS que não vai usar. hahaha

² (@centauro)

Eu acho realmente bacana ver o que esse povo consegue desenvolver e tal.
Mas eu também estou bem de boa gastando 3 segundos pra escolher qual sistema bootar no GRUB.

Bruno Cabral Peixoto (@Bruno_Cabral_Peixoto)

Linux Subsystem for Windows é para pessoas que precisam do Linux, mas não necessariamente gosta dele. Já a solução do desenvolvedor, é adequada pra pessoas que gostam do Linux mas precisam do Windows OU gostam de ambos.

Gustavo Guerra (@GustavoGuerra)

Curti a idéia, e seria bacana ver uma solução mais profissional disponível no mercado. Pode parecer bobo, mas um simples seletor desses é uma mão na roda numa rotina diária.

Jackson (@Vanjack)

Eu gosto do grub, porque é bem organizado. nada me incomoda. Atualmente eu uso 4 HDs no mesmo Pc, um é Linux MX, outro é windows 10, outro Parrot Security e por último é windows 10 que não está no Grub, pois faço através do menu teclando F8 ou F12, pois é somente para mim usar particular e vejo através do número do modelo do hd. O outro windows 10, a minha família usam, e bagunçam o windows 10, por isso instalei o meu outro windows 10 em secreto.

Emerson Alecrim (@Alecrim)

É claro que é uma invenção. Só não é uma invenção sem lógica (e, sim, eu sei o que é isso, dispenso explicações). E fazer um comentário sobre o assunto? De certa forma eu já fiz, né? Eu sou o autor do texto.