Máquina Virtual Nativa

Com o QEMU/KVM é possível instalar uma máquina virtual. Porém, também é possível iniciar ela como se fosse um sistema nativo, direto na BIOS!


| Se você apoia nosso site, desative o AdBlock quando visitá-lo, inclusive em Mobile!
Os anúncios são poucos e não invasivos. Se quiser contribuir com nosso trabalho, clique em qualquer banner de sua preferência, exceto dos Parceiros. 
Mais detalhes clicando aqui.


1. Introdução

O termo eu inventei, não tem nada de especial na verdade. Me surgiu tal questão depois de fazer o seguinte exercício:

Tenho um computador.
Neste computador tem um HDD de 480 Gb
E tem outro SSD de 120 Gb.

No HDD de 480 Gb eu coloquei Windows Server.
No SSD de 120 Gb eu coloquei uma maquina virtual Windows 10 pelo Hyper-V

O Server foi configurado primeiro, o Windows 10 foi instalado em VM depois no SSD extra através do Hyper-V.

A pergunta:

É possível reiniciar o computador e dar boot nesse Windows 10 como se fosse um sistema nativo, inclusive podendo remover o SSD de 480 Gb sem problemas, mantendo só o de 120?

E depois posso reiniciar e iniciar o HyperV e abrir a VM normalmente?

A resposta:

No Hyper-V, normalmente, não.
Porque o Hyper-V trabalha com imagens .VHDX.
Alguém a essa altura pode me questionar:

  • Mas o Hyper-V é completo, tem sim passthrough de disco!

Tem, mas o passthrough dá à VM acesso direto ao disco porém formatando ele como .vhdx também, impossibilitando que seja utilizado fora do sistema Windows que o criou a princípio.

2. QEMU KVM

Como já abordado anteriormente aqui no site, especificamente nesta publicação, falamos o quanto o QEMU KVM é uma combinação versátil para emulação/virtualização de diversas arquiteturas e sistemas operacionais.

E um dos aspectos mais proeminentes do QEMU KVM é permitir passthrough – ou seja, passar direto – as chamadas do sistema virtualizado para o hardware do hospedeiro. – Fazer a máquina virtual que roda na máquina física rodar o hardware como se fosse uma máquina física, entendeu? Aí o desempenho é máximo.

Tal teste foi feito aqui no Thinkpad X240: Instalei um SSD primário com Linux e um SSD secundário na mini-PCI com Windows 10 em VM. Com a configuração certa, posso reiniciar o notebook e esse Windows 10 pode iniciar sozinho direto da BIOS. E depois posso reiniciar de volta pro Linux e caso precise inicializar o Windows 10 dentro da VM.

3. Configuração

Inicie a configuração de uma nova máquina virtual. Caso não saiba como fazer, abordamos isso anteriormente aqui!

Passe o disco rígido inteiro para a máquina virtual – pelo bem do seu sistema faça isso num disco vazio à parte! – e assim ela terá acesso direto. Sem lentidão, sem gargalos, a desfragmentação ou ainda o TRIM do disco será responsabilidade integral da máquina virtual!

Primeiro procure pelo disco a ser passado para a máquina virtual. Abra o terminal e digite:

$ sudo blkid

Identifique a letra do dispositivo que deseja usar na máquina virtual. Não precisa estar montado para ver essa letra. Deve ser algo tipo /dev/sdc, /dev/sdd e etc. Aqui foi o /dev/sdb.

Agora este comando:

$ ls -al /dev/disk/by-id/

Você verá uma tabela semelhante a essa:

Você verá o nome que seu dispositivo /dev/sdXY foi identificado pelo kernel Linux no diretório /dev/disk/by-id. No meu caso foi o ata-KINGSTON_SA400S37480G_50026B77834C72A7 pois o final é o mesmo mencionado acima, sendo /sdb. Cada dispositivo possui uma identificação interna. Copie o caminho deixando-o completo, no meu exemplo é adicionar o /dev/disk/by-id ao começo + nome identificado:

/dev/disk/by-id/ata-KINGSTON_SA400S37480G_50026B77834C72A7

Na hora de adicionar um novo disco ao virt-manager, marque armazenamento customizado e deixe desta forma:

Em cache marque NONE e em modo de descarte defina como UNMAP – é equivalente ao TRIM. Se houver suporte, será automático assim.

Salve, seu armazenamento ficará assim:

Como o acesso é direto ao hardware, você pode alterar o tipo do disco como desejar, seja VirtIO, SCSI ou SATA. O mais rápido é o VirtIO – Não faça essa alteração com um disco que já tiver um sistema funcional! Isso é para antes mesmo da instalação.

Agora sim você pode dar continuidade e instalar seu sistema conforme mencionado na publicação anterior.

A questão é você precisa instalar primeiro o Windows 10 em VM e aplicar todos drivers do VirtIO e os updates do sistema.
Depois inicia direto na BIOS/UEFI e aplica os novos updates, já que os drivers mudarão.
Porém o sistema manterá ambos drivers, essa operação só precisa ser feita 1x.

4. F.A.Q.

Algumas questões que podem surgir:

  • Posso fazer o caminho inverso? Instalo o Windows 10 e depois subir ele com o QEMU/KVM? Ou ainda instalo o Linux num HD e depois inicio ele no QEMU/KVM?

Em teoria sim, mas com diversas limitações se for Windows na VM.

Um dos fatores interessantes do QEMU é instalar através dele o sistema e aplicar os drivers VirtIO que dão o melhor desempenho possível. Se fizer o caminho inverso e iniciar pelo QEMU depois, precisará configurar tudo como SATA ou outro driver, o que pode prejudicar a experiência; o Windows também valida o hardware 1x, se você alterar de VirtIO para SATA no QEMU, ele não vai funcionar mais!

Se por ventura você utilizar na VM um outro sistema Linux, não há problemas porque o kernel já carrega a biblioteca VirtIO integrada e não se importa com as mudanças de SATA pra VirtIO.

  • Posso fazer isso com BIOS e/ou UEFI?

Sim, atento que Secure Boot pode dar problemas, mas tanto BIOS quanto UEFI são suportados pelo QEMU/KVM, admitindo quaisquer natureza de instalação do sistema.

Se a VM foi instalada como BIOS, mas seu computador inicia por UEFI, ele não vai funcionar!
Se quiser fazer o que foi explicado aqui, mantenha igual: Se o computador inicializa por BIOS, instale a VM em BIOS, se inicializa por UEFI, instale por UEFI.

Há casos de computadores com boot híbrido que vão iniciar ambos, mas depende do hardware e das configurações aplicadas.

  • Roda jogos no Windows em VM dessa maneira?

Depende muito de como foi configurado. Com passthrough de GPU talvez, mas os detalhes abordei neste outro post.

Se a máquina tem placa de vídeo, ela ficará básica com driver QXL no QEMU/KVM podendo ser usada para tarefas diversas mais leves; porém ao reiniciar o computador e entrar direto no Windows, ficará com aceleração de hardware e rodará jogos.

5. Conclusão

Eu particularmente gostei da solução por que ela resolve uma dúvida antiga de como ter Windows e Linux na mesma máquina mas ainda ter alguma liberdade de rodar ambos os sistemas com virtualização em caso de necessidade e até pra ganhar tempo.

Por exemplo deixar o Windows em VM atualizando enquanto uso Linux. Quando o update terminar reinicio e entro no Windows pra fazer algum trabalho específico. E dessa forma, além de organizado, fica eficiente.

#UrbanCompassPony

1 comentário em “Máquina Virtual Nativa”

Deixe um comentário