O objetivo deste texto é, através do meu relato pessoal, argumentar quais são as vantagens e desvantagens de se usar a virtualização ao invés do dual boot.
Comecei a usar Linux
em 2003. Na época eu usava a distribuição Slackware e o gerenciador de boot padrão era o LILO (ao invés do Grub). Com uma máquina velha decidi remover o Windows
completamente e ficar apenas com o Linux e, por isso, não precisei fazer dual boot.
Quando ganhei um novo computador em 2004, vi que o dual boot era necessário. Adoro jogar no PC
e, infelizmente, os jogos comercias são raramente lançados para Linux. Na época virtualização ainda não era uma realidade.
Continuei com dual boot durante anos até comprar meu Macbook
. Depois de alguns meses usando-o descobri que, mesmo com o kernel BSD, eventualmente eu precisava de uma distribuição Linux na máquina. Joguei fora um dia inteiro tentando particionar o disco para instalar o Ubuntu. Não consegui, já que esbarrei em duas soluções: formatar o disco (e ter que fazer backup de tudo) ou comprar um software comercial que fazia desfragmentação.
Na mesma semana, meu grande amigo Fabrício Souza, também usuário de Mac OS X, me sugeriu usar virtualização. O argumento foi simples: pra que perder tempo reiniciando a máquina para trocar de sistema operacional se podemos ter o mesmo resultado dentro de um aplicativo do seu sistema?
Confesso que isso mudou a minha forma de pensar no assunto. Apesar do meu Macbook não ser tão avançado, ele roda bem o Ubuntu e, com alguma paciência e sem muita exigência, o Windows (XP, Vista ou 7, tanto faz).
No meu Desktop uso hoje o Windows 7 e virtualizo (com VMware Player) o Ubuntu. Também não uso o dual boot nessa máquina.
Como decidir entre Virtualização e Dual Boot? É necessário saber o que você deseja de cada sistema operacional que irá utilizar. Se você usará um sistema para tarefas muito pesadas como jogos ou computação científica (por exemplo, otimização de programas inteiros mistos) ou se o determinado SO é o seu ambiente padrão de trabalho é extremamente útil que tenha ele instalado diretamente na máquina.
Mas se você usa um sistema esporadicamente na máquina e apenas para coisas leves como executar determinados aplicativos, a virtualização é uma benção. Você não terá dificuldades em fazer partições, configurar hardware, configurar rede, etc.
A virtualização traz também dois benefícios: a integração dos aplicativos do SO virtualizado no SO que realmente está rodando na máquina e a possibilidade de definir quais recursos a máquina virtual consome.
O primeiro item permite, por exemplo, que você abra o Internet Explorer no Linux sem ter uma janela que mostra todo o Windows. Visualmente é como se o Internet Explorer fosse um programa nativo do Linux (exceto que a decoração da janela normalmente não é a mesma).
O segundo permite definir o quanto a máquina consumirá de memória, o tamanho do arquivo que representará o disco e até quanto de processamento ela pode consumir, deixando recursos preciosos para a máquina servidora. É possível também permitir acesso a aceleração 3D, dispositivos, etc.
É claro que todas essas opções variam de software para software, mas existem dois softwares muito bons: o Sun VirtualBox e o VMware. O primeiro é um software livre, já o segundo é proprietário mas tem algumas versões grátis.
Em suma, hoje a virtualização avançou muito e tornou-se uma realidade. As vantagens de utilizar um software de virtualização são muitas, desde que bem pesadas com as desvantagens de eficiência.
Compartilhe a sua opinião sobre o assunto na seção de comentários. Este é um tópico bem relevante, principalmente para programadores que muitas vezes precisam desenvolver softwares multiplataforma e, por isso, precisam testar o software em diversos sistemas.