Como rodar o Windows 11 no Incus sob Arch Linux
Este guia mostra como criar uma máquina virtual do Windows 11 no Incus, usando o Arch Linux como sistema hospedeiro.
Ao final, você terá:
- Windows 11 executado com aceleração KVM;
- firmware UEFI e Secure Boot;
- TPM 2.0 virtual;
- rede e dispositivos VirtIO;
- console gráfico via SPICE;
- comandos para iniciar, parar, redimensionar e remover a VM.
Este procedimento pressupõe um computador
x86_64com virtualização por hardware. Em processadores Intel, o recurso costuma aparecer como VT-x; em AMD, como AMD-V ou SVM.
1. Verificar a virtualização do processador
Confira se o processador anuncia suporte a virtualização:
lscpu | grep -E 'Virtualization|Virtualização'Também é possível procurar diretamente pelas extensões do processador:
grep -Eoc '(vmx|svm)' /proc/cpuinfoUm resultado maior que 0 indica que o processador oferece a extensão necessária.
Confira se o dispositivo KVM existe:
ls -l /dev/kvmCaso /dev/kvm não exista, verifique se a virtualização está habilitada no UEFI/BIOS e carregue o módulo correspondente ao processador:
# Intel
sudo modprobe kvm_intel
# AMD
sudo modprobe kvm_amdPara confirmar os módulos carregados:
lsmod | grep kvm2. Instalar o Incus e o cliente gráfico
Atualize o sistema e instale o Incus e o virt-viewer:
sudo pacman -Syu incus virt-viewerO pacote virt-viewer fornece o comando remote-viewer, usado pelo Incus para abrir o console gráfico SPICE da máquina virtual.
Ative o socket do Incus:
sudo systemctl enable --now incus.socketCaso queira que as instâncias configuradas com inicialização automática sejam iniciadas durante o boot, ative também o serviço:
sudo systemctl enable incus.service3. Permitir que seu usuário administre o Incus
Adicione seu usuário ao grupo incus-admin:
sudo usermod -aG incus-admin "$USER"A participação nesse grupo concede privilégios administrativos equivalentes a root sobre o Incus. Saia da sessão gráfica e entre novamente para aplicar o novo grupo.
Para aplicar temporariamente no terminal atual, também é possível usar:
newgrp incus-adminTeste o acesso:
incus info4. Inicializar o Incus
Execute o assistente de configuração:
incus admin initPara uma instalação local simples, estas escolhas costumam ser adequadas:
Would you like to use clustering? no
Would you like to configure a new storage pool? yes
Name of the new storage pool: default
Name of the storage backend: dir
Would you like to create a new local network bridge? yes
Name of the new bridge: incusbr0
IPv4 address: auto
IPv6 address: auto
Would you like the server to be available over the network? no
Would you like stale cached images to be updated automatically? yes
Would you like a YAML "init" preseed to be printed? noEscolha do armazenamento
O backend dir é simples e funciona bem para testes. Para uso frequente, snapshots e melhor gerenciamento de volumes, você pode escolher btrfs, lvm ou zfs, desde que o host já esteja preparado para isso.
Confira a configuração criada:
incus storage list
incus network list
incus profile show default5. Baixar as imagens necessárias
Crie um diretório para as ISOs:
mkdir -p "$HOME/VMs/iso"
cd "$HOME/VMs/iso"ISO do Windows 11
Baixe a ISO oficial do Windows 11 no site da Microsoft e salve-a, por exemplo, como:
~/VMs/iso/Windows11.isoEste guia considera a edição x86_64 do Windows 11 para um host Arch Linux x86_64.
ISO dos drivers VirtIO
Baixe a imagem estável dos drivers VirtIO mantida pelo projeto Fedora:
curl -L \
-o "$HOME/VMs/iso/virtio-win.iso" \
https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.isoOs drivers VirtIO são usados principalmente para rede, armazenamento, memória balloon e outros dispositivos paravirtualizados.
6. Criar a VM do Windows 11
Crie uma máquina virtual vazia chamada win11:
incus init win11 --empty --vmInforme ao Incus que o sistema convidado é Windows:
incus config set win11 image.os=WindowsEssa opção faz o Incus ajustar detalhes específicos para o Windows, como relógio em horário local, dispositivos compatíveis e IOMMU.
Defina os recursos da VM:
incus config set win11 limits.cpu=4
incus config set win11 limits.memory=8GiBAumente o disco principal para 80 GiB:
incus config device override win11 root size=80GiBValores mínimos razoáveis:
| Recurso | Mínimo prático | Recomendado |
|---|---|---|
| CPU | 2 núcleos | 4 ou mais |
| Memória | 4 GiB | 8 GiB ou mais |
| Disco | 64 GiB | 80–128 GiB |
7. Adicionar TPM 2.0 virtual
O Windows 11 normalmente exige TPM 2.0. O Incus fornece um TPM implementado por software:
incus config device add win11 vtpm tpmPara máquinas virtuais, não use
path=/dev/tpm0. Essa opção é destinada à exposição de dispositivos TPM em contêineres. A VM usa o TPM virtual criado e gerenciado pelo próprio Incus.
Confira se o dispositivo foi adicionado:
incus config device show win118. Configurar UEFI e Secure Boot
As VMs do Incus usam UEFI. Deixe o Secure Boot habilitado:
incus config set win11 security.secureboot=trueNa maioria das instalações recentes, esse já é o comportamento padrão. O comando deixa a configuração explícita.
9. Anexar as ISOs
Anexe a ISO do Windows com prioridade de boot maior:
incus config device add win11 windows-iso disk \
source="$HOME/VMs/iso/Windows11.iso" \
readonly=true \
boot.priority=10Anexe também a ISO dos drivers VirtIO:
incus config device add win11 virtio-iso disk \
source="$HOME/VMs/iso/virtio-win.iso" \
readonly=true \
boot.priority=5Confira a configuração completa:
incus config show win11 --expanded10. Iniciar a instalação
Inicie a VM:
incus start win11Abra o console gráfico:
incus console win11 --type=vgaQuando a tela solicitar que uma tecla seja pressionada para iniciar pela mídia, pressione qualquer tecla.
No
remote-viewer, pressioneCtrl+Altpara liberar o teclado e o mouse capturados pela janela da VM.
11. Instalar o Windows 11
Siga o instalador normalmente.
Caso o instalador não mostre o disco
Em versões recentes do Incus, o disco principal costuma ser apresentado por uma controladora que o instalador do Windows reconhece. Caso nenhuma unidade apareça:
- Clique em Carregar driver;
- abra a unidade da ISO
virtio-win; - procure a pasta compatível com Windows 11
amd64; - tente primeiro o driver de armazenamento
vioscsi; - se necessário, tente
viostor.
Os caminhos normalmente têm formato semelhante a:
vioscsi\w11\amd64
viostor\w11\amd64A estrutura pode variar ligeiramente entre versões da ISO VirtIO.
Caso o instalador exija conexão com a internet
A placa de rede VirtIO pode ainda não possuir driver. Há duas opções.
Opção A: carregar o driver de rede
No instalador, carregue o driver localizado aproximadamente em:
NetKVM\w11\amd64Opção B: criar uma conta local durante a instalação
Na tela de exigência de rede, pressione:
Shift + F10No terminal, execute:
OOBE\BYPASSNROA VM será reiniciada. Depois disso, o instalador poderá mostrar a opção para continuar sem internet.
Esse comando pertence ao instalador do Windows e pode mudar ou deixar de funcionar em versões futuras. Prefira instalar o driver
NetKVMquando possível.
12. Instalar todos os drivers VirtIO
Depois de entrar no Windows:
- abra o Explorador de Arquivos;
- entre na unidade de CD/DVD dos drivers VirtIO;
- execute o instalador disponível na raiz, normalmente
virtio-win-guest-tools.exe; - conclua a instalação;
- reinicie o Windows.
Esse pacote instala os principais drivers VirtIO e ferramentas auxiliares.
Depois da reinicialização, verifique o Gerenciador de Dispositivos. Não devem permanecer dispositivos importantes com ícone amarelo.
13. Instalar o agente do Incus no Windows
O agente permite que comandos como incus exec, incus file push e incus file pull funcionem dentro da VM.
Adicione o disco de configuração do agente:
incus config device add win11 agent disk source=agent:configReinicie a VM:
incus restart win11No Windows, abra a nova unidade de CD associada ao Incus e execute o instalador do agente disponível nela. Depois, reinicie o sistema novamente.
Verifique no host:
incus info win11Quando o agente estiver ativo, o Incus conseguirá obter mais informações do convidado.
Um teste possível é:
incus exec win11 -- cmd.exe /c ver14. Remover as ISOs após a instalação
Desligue a VM:
incus stop win11Remova a ISO do instalador do Windows:
incus config device remove win11 windows-isoVocê também pode remover a ISO VirtIO depois de concluir a instalação dos drivers:
incus config device remove win11 virtio-isoMantenha o dispositivo agent, pois ele fornece o agente e sua configuração para o Windows.
Inicie novamente:
incus start win11
incus console win11 --type=vga15. Iniciar a VM automaticamente com o host
Para iniciar o Windows automaticamente após o Incus subir:
incus config set win11 boot.autostart=trueOpcionalmente, defina uma prioridade e atraso:
incus config set win11 boot.autostart.priority=10
incus config set win11 boot.autostart.delay=15Garanta que o serviço do Incus esteja habilitado:
sudo systemctl enable incus.service16. Comandos úteis
Ver as instâncias
incus listAbrir o console gráfico
incus console win11 --type=vgaIniciar
incus start win11Desligar normalmente
incus stop win11Forçar o desligamento
Use apenas quando o Windows não responder:
incus stop win11 --forceReiniciar
incus restart win11Alterar CPU e memória
É mais seguro desligar a VM antes de grandes mudanças:
incus stop win11
incus config set win11 limits.cpu=6
incus config set win11 limits.memory=12GiB
incus start win11Criar um snapshot
incus snapshot create win11 antes-da-atualizacaoListar snapshots:
incus snapshot list win11Restaurar:
incus stop win11
incus snapshot restore win11 antes-da-atualizacao
incus start win11Excluir a VM
incus stop win11 --force
incus delete win1117. Compartilhar uma pasta do Arch com o Windows
O compartilhamento de diretórios do host com VMs depende do agente e dos drivers apropriados. Uma alternativa simples e previsível é compartilhar a pasta pela rede usando Samba.
Outra opção é adicionar um disco do tipo disk, mas o suporte e a forma de montagem dentro do Windows dependem do mecanismo de compartilhamento disponibilizado pela versão do Incus e pelos drivers instalados.
Para dados importantes, prefira:
- Samba na rede
incusbr0; - um servidor SFTP/SSH;
- um disco virtual separado;
- sincronização por aplicativo, como Syncthing.
18. Acesso remoto pelo RDP
Depois de instalar os drivers de rede, descubra o IP da VM:
incus list win11No Windows, habilite a Área de Trabalho Remota. Depois, no Arch Linux, use um cliente como FreeRDP ou Remmina.
Exemplo com FreeRDP:
sudo pacman -S freerdp
xfreerdp3 /v:IP_DA_VM /u:SEU_USUARIO /dynamic-resolutionA edição Windows 11 Home normalmente não oferece servidor RDP nativo; as edições Pro e superiores oferecem esse recurso.
19. Solução de problemas
Error: Failed to connect to local Incus
Confira o socket:
systemctl status incus.socket
sudo systemctl restart incus.socketConfira também se o usuário pertence ao grupo correto:
idDepois de entrar no grupo, encerre completamente a sessão e entre novamente.
/dev/kvm não existe
Verifique:
lscpu | grep -E 'Virtualization|Virtualização'
lsmod | grep kvmHabilite VT-x, AMD-V ou SVM no UEFI/BIOS.
A VM está muito lenta
Confira se ela realmente usa KVM:
incus info win11 --show-logTambém verifique:
- se
/dev/kvmexiste; - se a virtualização está habilitada no firmware;
- se o host não está sendo executado dentro de outra VM sem virtualização aninhada;
- se há memória livre suficiente;
- se os drivers VirtIO foram instalados no Windows.
O Windows não detecta TPM 2.0
Confira o dispositivo:
incus config device show win11A configuração deve conter algo semelhante a:
vtpm:
type: tpmNão adicione path=/dev/tpm0 a um TPM de VM. Pare a VM, remova uma configuração incorreta e recrie o dispositivo:
incus stop win11 --force
incus config device remove win11 vtpm
incus config device add win11 vtpm tpm
incus start win11Erro relacionado a Secure Boot
Confira:
incus config get win11 security.securebootPara o Windows 11, tente manter:
incus config set win11 security.secureboot=trueSe estiver usando uma ISO modificada, não assinada ou uma instalação antiga incompatível, desabilitar temporariamente o Secure Boot pode ajudar no diagnóstico:
incus stop win11
incus config set win11 security.secureboot=false
incus start win11Isso reduz as garantias de integridade do processo de boot e não é a configuração recomendada para uma instalação normal do Windows 11.
O console VGA não abre
Confirme que o cliente SPICE está instalado:
sudo pacman -S virt-viewerDepois execute:
incus console win11 --type=vgaA VM não recebe endereço IP
Primeiro, instale o driver NetKVM da ISO VirtIO. Depois confira a rede do Incus:
incus network show incusbr0
incus config device show win11
incus list win11A VM normalmente herda do perfil default uma interface conectada à ponte incusbr0.
20. Configuração completa em sequência
Depois que Incus, armazenamento e rede estiverem inicializados, a criação pode ser resumida assim:
VM=win11
WIN_ISO="$HOME/VMs/iso/Windows11.iso"
VIRTIO_ISO="$HOME/VMs/iso/virtio-win.iso"
incus init "$VM" --empty --vm
incus config set "$VM" image.os=Windows
incus config set "$VM" limits.cpu=4
incus config set "$VM" limits.memory=8GiB
incus config set "$VM" security.secureboot=true
incus config device override "$VM" root size=80GiB
incus config device add "$VM" vtpm tpm
incus config device add "$VM" windows-iso disk \
source="$WIN_ISO" readonly=true boot.priority=10
incus config device add "$VM" virtio-iso disk \
source="$VIRTIO_ISO" readonly=true boot.priority=5
incus config device add "$VM" agent disk source=agent:config
incus start "$VM"
incus console "$VM" --type=vga