TutoriaisVídeo

Instalamos o Windows no Linux facilmente via Docker!

O Windows é o sistema operacional de desktop mais famoso do mundo e mesmo que para 99% das suas tarefas, Linux ou macOS devem bastar, tem sempre aquele 1% para dar dor de cabeça. A solução para isso? Dual Boot, rodar Linux e Windows no mesmo PC pode ser uma alternativa, ou talvez virtualização, rodar o Windows num software como o VirtualBox ou Parallels e pronto, o sistema da Microsoft vai estar lá, para fazer o que você precisar.

Mas fazer toda a configuração do Windows em uma VM, ou pior ainda, em dual boot, dá muito trabalho, o processo de download, criar a unidade bootável, passar por toda a configuração de hardware e etapas que o Windows pede para você escolher enquanto instala desanima só de pensar.

Você pode precisar do Windows para coisas bem específicas, muitas vezes nem é grande coisa, uma atualização de firmware de um dispositivo que só tem software para Windows, testar ou usar programa que só suporta o sistema da Microsoft ou quem sabe, jogar Paciência Spider.

Hoje você conhecerá uma ferramenta que com um único comando, baixa o Windows, faz a instalação e entrega o sistema operacional pronto para usar diretamente pelo navegador de internet. Essa é certamente uma das formas mais fáceis de rodar o Windows no Linux para você utilizar todos os programas que precisa, ou trabalhar com o desenvolvimento de sistemas.

Instalando o Windows no Linux via Docker

Interessantemente, a solução que utilizaremos se chama Windows, então nem adianta ficar chamando pelo nome para não deixar tudo confuso. Ela tem muitas soluções e algumas limitações também. O código-fonte está disponível no Github, ou seja, é um projeto open source, e o que ele faz é basicamente instalar um Windows via um contêiner Docker.

O primeiro passo é ter o Docker rodando no seu sistema, se você quiser, dá para seguir a documentação do próprio site do Docker. Para quem usa Ubuntu ou algum derivado, temos guia rápido no nosso fórum, o Diolinux Plus.

Agora, tudo o que você precisa fazer é abrir o seu terminal, copiar e colar o comando:

docker run -it --rm --name windows -p 8006:8006 --device=/dev/kvm --cap-add NET_ADMIN --stop-timeout 120 dockurr/windows

Ele está disponível na página do GitHub do projeto, vale a pena conferir por lá, pois pode mudar com o tempo. Agora, no seu navegador de internet, é só acessar o endereço de IP da máquina onde você está rodando o seu contêiner Docker com a porta 8006 e você vai ter um acesso remoto, que nesse caso é local, na verdade, via VNC, para acompanhar o processo todo. Basicamente, é só digitar localhost:8006 na barra de endereços.

Instalamos o Windows no Linux facilmente via Docker! 1

Esse projeto permite que você, com um único comando, tenha um Windows 11 funcional, evitando todo o processo de baixar e instalar, além de criar já as conexões para a gente fazer acesso remoto, via VNC ou RDP. 

Otimizando o uso do Windows no Linux via Docker

Se você só queria rodar o Windows 11 rapidamente, já está tudo pronto, agora vamos conhecer as opções que esta ferramenta oferece para otimizar o uso do Windows no Linux.

No comando de instalação, a sessão de --device=/dev/kvm conta o que realmente está acontecendo, na realidade a gente está rodando o Windows por uma máquina Virtual, KVM .

O que o Docker faz, na verdade, é toda a instalação, isso permite que, embora não tenha aceleração de vídeo, o desempenho do Windows rodado desse jeito possa ser ótimo, especialmente se você tiver um bom PC também.

Outra coisa legal que você pode fazer usando esse projeto, é a implementação de vários Windows ao mesmo tempo, incluindo versões diferentes, desde o Windows Server de 2008, até a edição de 2022; do Windows XP até o 11, passando por todas as principais versões intermediárias e até mesmo aquelas versões customizadas, como a Tiny 10 e a Tiny 11.

Como se trata de uma máquina virtual misturada com configurações de Docker, a forma de configurar as coisas varia. Vamos criar um arquivo de Docker compose usando o nano, é um arquivo com a extensão .yml. Para isso, pode-se usar o comando nano compose.yml

Instalamos o Windows no Linux facilmente via Docker! 2

Podemos copiar diretamente do GitHub o exemplo de arquivo de configuração de Docker compose que ele tem para colar no nosso. Aqui a gente pode fazer algumas adições e modificações.

Instalamos o Windows no Linux facilmente via Docker! 3

A própria documentação informa para gente como fazer alguns ajustes, por exemplo, podemos usar versões diferentes do Windows, se a gente não especificar nada, por padrão ele vai usar o Windows 11. Também podemos especificar o tamanho do disco, quantidade de RAM e quantos núcleos de processador a nossa VM vai ter.

Depende um pouco das capacidades que o seu PC tem para rodar a VM, para nosso computador de testes, as configurações de exemplo funcionam bem. Se você tem 16GB de RAM, 8GB ainda é manejável, caso você tenha só 8GB de RAM, colocar uns 4GB para a sua VM pode ser uma boa. Esse bom sendo vale para os núcleos do CPU.

O Disco por padrão tem 64GB apenas, que é o mínimo que o Windows 11 pede, aqui você pode colocar qualquer valor que o seu disco suporte, a alocação é feita de forma dinâmica, você não perde todo o espaço só por configurar o disco da VM.
Podemos também criar uma sessão chamada “volumes”, e colocar uma estrutura de diretórios que vai servir de pasta compartilhada entre o seu host e a máquina virtual. Salve e saia com os atalhos CTRL+X e S.

Instalamos o Windows no Linux facilmente via Docker! 4

Tecnicamente, a VM suporta passthrough também, mas se você precisa de algo avançado assim, talvez seja melhor fazer uma VM usando o Virt Manager mesmo, em vez desse método. 

Agora podemos aplicar o docker compose para rodar o nosso contêiner com o comando:

sudo docker-compose up -d

Se quiser, pode usar o comando docker ps para ver a imagem rodando ao mesmo tempo, ou abrir o seu navegador em localhost:8006 e acompanhar todo o processo de download, instalação e configuração automática do Windows 11.

Instalamos o Windows no Linux facilmente via Docker! 5

Depois que tudo terminar, você já vai estar na área de trabalho do Windows e pode usar normalmente, porém, tem algumas coisas que a gente pode fazer de forma diferente.

Apesar de funcionar bem, esse método é mais indicado para acompanhar o processo de instalação, depois, você pode usar RPD, o protocolo de área de trabalho remota do Windows, que vai te permitir ter acesso a outras coisas, como o som, por exemplo.

Mais recursos com o Windows no Linux usando o Remina

No Remmina, a gente adiciona uma nova conexão, coloca um nome, seleciona o protocolo RPD e colocamos o IP do servidor, que se for a sua própria máquina, é o IP do seu PC. Em nome de usuário colocamos “docker”, esse é o nome de usuário criado automaticamente Esse Windows não tem senha, então a gente pode deixar esse campo vazio por enquanto.

Instalamos o Windows no Linux facilmente via Docker! 6

Vá para aba Avançado, e mude a qualidade para a mais alta possível, em saída de áudio, pode colocar local, tem muitas opções de acesso remoto via Remmina e RPD que você pode fazer, não vem ao caso explicar tudo, mas dá uma explorada por ali, que você vai achar coisas interessantes.

Instalamos o Windows no Linux facilmente via Docker! 7

Clica em Salvar, isso vai facilitar o acesso ao seu Windows via Docker depois, basta dar dois cliques na conexão e aceitar o certificado. Na tela seguinte o programa vai te pedir a senha do Windows, mas como não tem senha, deixa vazio, marca para salvar e clica em OK.

Instalamos o Windows no Linux facilmente via Docker! 8

A conexão deve acontecer, se a tela ficar pequena, tem um ícone na barra lateral para mudar para resolução dinâmica, com a opção de tela cheia também, se preferir.

Instalamos o Windows no Linux facilmente via Docker! 9

Se você abrir o Windows Explorer e for até e Ativar a descoberta e o compartilhamento de arquivos, vai encontrar o “host.lan”, dando dois cliques ali, encontra a pasta “data”, que é onde pode colocar os seus arquivos que você quer compartilhar entre o seu sistema host e a VM.

Instalamos o Windows no Linux facilmente via Docker! 10

Colocando arquivos dentro dessa pasta, pode acessar pelos dois sistemas operacionais, o que deve facilitar a sua vida em alguns casos.

Instalamos o Windows no Linux facilmente via Docker! 11

Como fechar o Windows no Linux via Docker?

Ao fechar a conexão remota, a VM não realmente fecha, para isso você precisa usar o comando docker stop windows, como o sistema tenta sempre desligar o Windows corretamente, pode demorar alguns segundos para o processo finalizar.

O problema é que sempre que você reiniciar o computador o contêiner do Windows vai inicializar automaticamente, rodando a VM, e pode ser que nem sempre você queira isso.

Para evitar que aconteça, podemos rodar o comando docker update --restart=no windows, isso vai atualizar a configuração do contêiner, você pode ver todos os parâmetros dele usando docker inspect windows.

Isso faz com que toda vez que você quiser rodar o seu Windows via Docker, precise inicializar o contêiner manualmente, usando o comando docker start windows, simples assim. Você pode criar aliases para facilitar a sua vida se quiser, customizando os comandos.

O que dá para fazer pelo Windows no Linux via Docker?

No mundo dos jogos, dá para jogar Paciência Spider com bom desempenho, na verdade, até para fazer uso até de alguns softwares um pouco mais pesados, como editores de imagem, mas tudo fica centralizado no processador e não dá para ir muito, além disso. Jogos 3D dificilmente terão bom desempenho.

Essa é uma boa solução para aqueles casos onde você precisa rodar algum software específico, tem muitos programas jurídicos no Brasil que só rodam em Windows ainda, entre outras necessidades, como simplesmente testar algum software.

Alguns podem se perguntar se usar o Windows dessa forma é legal, e segundo as palavras do próprio desenvolvedor, sim, o projeto usa apenas código aberto e não distribui o Windows de forma ilegal, esses Windows usam as chaves de Windows Trial que a própria Microsoft distribui.

Teoricamente, você pode colocar a sua licença de Windows nessa VM se quiser, o fato desse código estar no GitHub, que é da Microsoft, já diz alguma coisa também.

O Windows não é o único sistema operacional que conseguimos rodar no Linux via Docker, confira nossa experiência onde instalamos o macOS!

Diolinux Ofertas - Aproveite os melhores descontos em diversos produtos!