Máquinas virtuais: um PC dentro de outro PC, cada um com um sistema operacional, rodando ao mesmo tempo! Conheça o Bochs, poderoso programa freeware que cria computadores virtuais.
Um emulador de PC é um programa que simula um computador inteiro. Você pode instalar praticamente qualquer sistema operacional para a plataforma que o emulador suporte. O Bochs emula os PCs padrões, é possível rodar por exemplo o Windows, o DOS, o OS/2 ou o Linux. Existem versões do Bochs para Linux e Windows. Ele é gratuito! E open source, ainda. Existem soluções do mesmo gênero pagas, utilizadas algumas vezes em servidores semi-dedicados, como o WMWare. Mas o Bochs é muito bom, não sei em servidores em si, mas para alguns objetivos é mais do que o suficiente.
Ele não possui uma interface gráfica, é bem difícil aprender a usá-lo. Mas aqui dou um script e o caminho completo para instalar o Windows, qualquer distribuição que dê boot através do CD. Você poderá usar disquetes também, se quiser.
Quais as vantagens de ter um PC emulado? Muitas... Alguns exemplos? Desenvolvedores de software podem testar seus programas em diferentes plataformas; um usuário pode conhecer e explorar outro sistema operacional sem precisar correr o risco de danificar seus arquivos; um louco e paranóico internauta pode acessar a Internet apenas por um PC virtual, assim se um vírus infectá-lo, basta apagar o arquivo dele e já era, você não ferra seu sistema principal; criadores de vírus, pestes e pragas em geral podem testar a ação de diversos tipos de suas criações, por exemplo um que detone todos os arquivos, acabará apenas com o PC virtual, e o funcionamento é o mesmo de como seria se fosse num PC real – ainda evita instalações, formatações e tempo perdido com máquinas cobaias; empresas de hospedagem podem fornecer servidores semi-dedicados, onde um servidor físico armazena umas duas ou três instâncias de máquinas virtuais, cada uma com um sistema operacional diferente e voltadas a clientes diferentes; e muitas outras vantagens! Também gostei da curiosidade sobre o assunto, pode-se ter um Windows rodando dentro do Linux, e o contrário também. No meu caso, como desenvolvedor de software, ainda é muito útil na parte que se refere a testar as aplicações em diferentes plataformas, sem precisar tê-las instaladas em máquinas separadas.
Mas... Onde é instalada a máquina virtual? É na verdade dentro de um arquivo, um grande arquivo que será visto pela máquina virtual como um HD. Todas as ações de formatação, cópia de arquivos, instalação etc. são feitos nesse arquivo; o sistema operacional no PC virtual é como um passarinho dentro de uma gaiola, ele não sai dali. Você pode usar os drives de disquete e CD para compartilhar arquivos do seu PC virtual com o real e vice/versa, e até mesmo a rede, o som, etc... (mas nesses casos é mais complicado).
O desempenho em si cai bastante. O sistema no PC virtual ficará lento, muito lento, em especial se seu computador não for muito potente. O ideal é rodar o Windows 95 ou o NT 4.0. O 2000 e o XP rodam bem, mas são muito mais pesados. Eu fiz em testes no meu bom, velho e único Pentium II, 266 MHz com 160 MB de RAM, a instalação do Windows NT Server 4.0 (o mais leve que tenho), e rodando como sistema principal o Windows 2000 Professional SP4. Usei o Bochs 2.2.1. É recomendável um Pentium III com 256 MB de RAM ou mais. Quanto mais memória e mais rápido for o processador, menos lento vai ficar o sistema no PC virtual (eu disse "menos lento", e não "mais rápido"; tudo fica diferente porque todas as ações são emuladas, o processador será usado bastante, e o sistema no PC virtual não terá acesso direto ao hardware do seu computador real).
Bom... Chega de falar, vamos à prática!
Entre no site do Bochs e baixe a versão para Windows (ou a correspondente no seu sistema operacional; nos exemplos eu estou usando o Windows 2000, como falei). Instale-a. Faça a instalação padrão, mas certifique-se de marcar a opção de associar a extensão ".bxrc", para rodar o sistema sem precisar usar a linha de comando. Qual é o site do Bochs? Esse:
Estando instalado, vá à pasta do Bochs (por exemplo, "C:\Arquivos de programas\Bochs-2.2.1"). Crie uma pasta dentro dela, para o seu sistema. Eu irei instalar o Windows NT 4, você pode instalar o que quiser, Windows, Linux, etc... Depois de dar o boot, o uso do PC fica por sua conta... Como se você estivesse diante de uma máquina real. Algumas ações do teclado e mouse ficam diferentes, como você verá; mas, em condições normais, nada que atrapalhe tanto.
Precisaremos criar um disco virtual, que é um arquivo como outro qualquer no seu HD (mais precisamente e tecnicamente, é uma imagem de disco – daí a extensão “.img”). O Bochs vem com uma ferramenta para isso. No menu Iniciar > Todos os programas > Bochs... Clique no item "Disk Image Creation Tool".
Ele pedirá o tipo de imagem, numa janela do prompt de comando, podendo simular um HD ou um disquete. Digite hd e tecle enter, já que estaremos criando um HD virtual.
Ele pedirá agora o tipo de arquivo, podendo ser "flat", "sparse" ou "growing". Digite growing e dê enter. Eu prefiro usar o growing, você vai ver porquê. O tamanho do HD virtual deverá ser o suficiente para comportar o sistema que você pretende instalar. No caso do bom e velho Windows NT 4.0, 300 MB são mais que o suficiente. Para o Windows 2000 é recomendável deixar com 1 GB ou mais, e para o XP, cerca de um giga e meio, ou 2 gigas. Se você escolher o tipo "flat", o seu arquivo terá o tamanho exato que corresponde ao seu HD virtual. Se você criar um HD virtual com mais de 650 MB, por exemplo, ficará difícil fazer backup em CD para levar para outro PC. Isso mesmo, como tudo é virtual e é o Bochs que promove a ligação do hardware real com o sistema do PC virtual, é possível levar o hd virtual com o sistema instalado e rodá-lo em outro lugar, desde que nesse lugar também tenha o Bochs. (Não haverá necessidade de reconfiguração de hardware, pois o sistema virtual nunca acessará seu hardware diretamente, o Bochs usa um tipo de placa de vídeo, de som, modem, monitor... E converte as requisições do sistema operacional no PC virtual em comandos que possam ser exibidos na sua tela.) Eu prefiro e recomendo o método growing porque nele o HD virtual vai "crescendo", conforme necessário. Por exemplo, você cria um HD de 1 GB num arquivo que tem menos de 1 MB. Conforme dados forem sendo adicionados nesse hd, ele vai crescendo. A capacidade virtual dele será a definida, no exemplo citado, 1000 MB, mas o tamanho do arquivo real será bem menor.
Defina agora o tamanho do disco, em MB. Eu colocarei 300 porque estou instalando o Windows NT; defina o tamanho que você quiser. Se você escolheu o modo "flat" no item anterior, seu arquivo ficará com o mesmo tamanho que você definir aqui. É importante tomar cuidado e ter espaço em disco suficiente...
Defina agora o nome da imagem. Você pode aceitar a sugestão, "c.img" e apenas dar enter, ou digitar o caminho completo desejado (algo como "D:\disco.img"). Se o caminho tiver espaços, digite-o entre aspas. Quanto maior o disco virtual, mais tempo ele levará para ser criado, mas no modo growing não demora muito não. Repare que após criar o disco, o prompt exibirá uma mensagem falando que uma linha foi copiada para a área de transferência. Imediatamente abra um editor de textos e cole, simplesmente dê CTRL+V e cole, para não perder isso. Essa linha contém a configuração do HD virtual, que deverá ser colocada no arquivo que criaremos em seguida.
Com o disco criado, mova-o para a pasta que você criou dentro da pasta do bochs. Se você não definiu o caminho completo, ele foi criado dentro na pasta do Bochs.
Agora nessa pasta, crie um arquivo de texto puro, usando para isso um editor de textos puro, como o Mep Texto (http://meptexto.mepsites.cjb.net) ou o próprio Bloco de notas. Mas atenção: salve com a extensão ".bxrc". Digite o texto abaixo dentro desse arquivo, e salve-o:
megs: 128
romimage: file=../BIOS-bochs-latest, address=0xf0000
vgaromimage: file=../VGABIOS-lgpl-latest
#floppya: 1_44=A:, status=inserted
ata0-master: type=disk, path="c.img", mode=growing, cylinders=20, heads=16, spt=63
ata0-slave: type=cdrom, path=D:, status=inserted
boot: cdrom
mouse: enabled=0
clock: sync=realtime, time0=local
display_library: win32, options="legacyF12" # use F12 to toggle mouse
Vamos entender isso... Esse é um exemplo básico. Seu sistema virtual usará o HD virtual e a unidade de CD ROM, além do drive disquete.
Na primeira linha temos a definição da quantidade de memória a ser usada pelo sistema no PC virtual. Defina uma quantidade razoável para rodá-lo, mas nunca mais de 70% do total de memória RAM que sua máquina realmente possui, senão seu sistema principal e o próprio Bochs ficarão sufocados no seu arquivo de paginação... Nem tente definir mais memória do que seu PC real realmente tem! O número é em megabytes. Eu tenho 160, então posso usar 128 pro sistema virtual sem medo, desde que eu não fique com muitas janelas abertas além do Bochs. Note que estou usando o Windows 2000, se fosse o XP eu deixaria menos memória pro PC virtual. Para rodar o Windows NT 4.0, 95 e 98 basta deixar uns 64 MB; para o Me e 2000 coloque 128 no mínimo; já no XP... Prepare mais memória. Se não puder, não instale o XP no PC virtual: use uma versão de Windows mais leve.
A segunda e terceira linhas determinam os arquivos do Bochs (não considere as linhas em branco, deixei assim para facilitar a visualização), esses arquivos devem estar na pasta onde ele foi instalado, e estar com os caminhos completos. Eles simulam determinadas condições do computador. Como estamos trabalhando numa subpasta da pasta do Bochs, usei os 2 pontos para definir a localização, que se referem a pasta acima da atual. Se seu HD virtual estiver em outra pasta ou unidade, então você deve alterar essas linhas, trocando os dois pontos pelo caminho da pasta do Bochs, deixando-as assim por exemplo:
romimage: file="C:\Arquivos de programas\Bochs-2.2.1\BIOS-bochs-latest", address=0xf0000
vgaromimage: file="C:\Arquivos de programas\Bochs-2.2.1\VGABIOS-lgpl-latest"
Na quarta linha há a entrada para o drive de disquete, sua unidade A:. Se você for usá-la, remova o caractere #, mas aí deverá ter um disquete no drive toda vez que você iniciar o pc virtual. Não se preocupe, é possível ativar o disquete depois, com o sistema em uso, usando o ícone do disquete na janela do Bochs.
A quinta linha define a localização do arquivo representante do HD do PC virtual. Lembra que você colou num texto temporário o resultado da criação da imagem do disco? Pois bem. No arquivo de extensão .bxrc, troque a linha iniciada por ata0-master por esse texto. Essa linha indica o HD instalado na primeira controladora, definido como master (o HD virtual, é claro).
A sexta linha identifica o drive de CD. Troque a letra D: pela letra do seu drive de CD, ou ponto de montagem dele (por exemplo, no Linux, "\mnt\cdrom"). Ele será visto aqui como slave da primeira controladora, no PC virtual. Note que essa indicação de master/slave não tem nada a ver com a posição física dos drives dentro do seu PC real :)
A sétima linha identifica de onde deve ser feito o boot. Deixando cdrom o boot será dado pelo CD (mesmo se sua placa mãe não suportar isso, afinal o boot é na máquina virtual). Coloque floppy para bootar pelo disquete, ou disk, pelo HD. Ao instalar um sistema, você deverá deixar cdrom, para dar boot pelo CD. Quando o PC virtual reiniciar, na primeira etapa da instalação, você deverá desligar o Bochs, editar o arquivo e trocar essa linha, alterando o boot para "disk", senão ele iria dar o boot pelo CD novamente e recomeçar a instalação... (feche-o clicando no botão "Power"; é como se você metesse o dedo no botão de um PC real, para acessar o SETUP e alterar a ordem do boot... senão a instalação recomeçaria mesmo num PC real! Nas versões mais recentes de Windows isso não acontece, pois ele pede para teclar uma tecla qualquer se você quiser iniciar uma instalação... E se nada for pressionado, o BIOS tentará o próximo dispositivo de boot. Porém, no Bochs, com apenas um dispositivo de boot definido no arquivo, é preciso mesmo "desligar o PC virtual" e reconfigurar o dispositivo de boot.).
A oitava linha habilita o mouse. Eu recomendo deixá-lo desabilitado, como está, e habilitá-lo depois, na janela gráfica do pc virtual. A nona linha define a atualização do relógio. Sem ela, se seu processador for muito rápido, o tempo no sistema virtual ficará doido, o cursor piscará rápido e o relógio girará numa velocidade incrível... E por fim a última linha ativa o uso da tecla F12, para alternar o comando do mouse entre o seu pc real e o virtual. Sem ela, você deveria clicar com o botão do meio do mouse dentro da janela do Bochs, segurando a teclal CTRL. Mas se seu mouse só possui dois botões, é bom deixar essa opção.
Feito isso... Você já pode iniciar a instalação!
Salve o arquivo, coloque o CD do sistema operacional no drive, e dê um duplo clique no seu arquivo de extensão .bxrc. Se tudo ocorreu bem, você verá algo parecido com essa tela:

Tela do “PC Virtual”, dando boot pelo CD
Se ele der uma mensagem de erro, verifique se todos os caminhos no arquivo .bxrc foram definidos corretamente. Para editá-lo, abra o bloco de notas ou um editor de textos puro e carregue-o por ali. Se você tem o Mep Texto instalado, pode clicar no ícone do arquivo com o botão direito e escolher Enviar para > Mep Texto. Dado o boot, proceda da forma normal, como se você estivesse diante de um PC real...
Para usar o mouse, segure CTRL e dê um clique dentro da janela do Bochs com o botão do meio do mouse (ou com a roda, pressionando-a para baixo); o mouse ficará "preso" dentro dela, e ao movê-lo, será o mouse do sistema virtual que se moverá. Para "soltar" e voltar a usar o mouse real, faça a mesma coisa, segure CTRL e dê um clique com o botão do meio. Se seu mouse só tem dois botões, e você ativou a última linha (do F12), então basta teclar F12 para alterar o controle do mouse entre seu PC real e o virtual.
Lembre-se de que a formatação, cópia dos arquivos etc., se dará sempre no HD virtual. Você não corre o risco de perder dados! Agora fuce e explore por si só!
A ajuda do Bochs é bastante abrangente, mas está em inglês apenas. Ler ela é fundamental para obter sucesso em diferentes situações.
Dica adicional 1: se você precisar teclar CTRL+ALT+DEL dentro do sistema virtual, não poderá fazê-lo diretamente, senão seu Windows assumirá comando (por exemplo, abrirá o gerenciador de tarefas). Para iniciar o Windows NT ou 2003, ou o 2000 Server, é preciso teclar CTRL+ALT+DEL antes de digitar a senha. Nesses casos, "prenda" o mouse na janela do PC virtual, tecle CTRL+ALT+DEL; aparecerá a tela do seu Windows, geralmente o gerenciador de tarefas; cancele-o, com ALT+F4 ou ESC, e ao alternar para a janela do pc virtual de novo, tecle apenas DEL (DELETE). Ele interpretará isso como o CTRL+ALT+DEL.
Dica adicional 2: você pode usar uma imagem ISO para o drive de CD. Assim você pode testar uma distribuição de Linux, por exemplo, sem precisar gravar um CD nem instalar num computador real, o que exigiria backup, às vezes traria dor de cabeça, etc... Basta definir o caminho completo do arquivo ISO no lugar do nome da unidade de CD. A mesma coisa vale para as unidades de disquete, pode-se usar uma imagem...
Dica adicional 3: se você utiliza o sistema instalado na máquina virtual para testar programas, ou usa-o com certa freqüência, é recomendável copiar a imagem do HD e salva-la em outro local. Instale o sistema e seus programas preferidos, compacte e guarde essa imagem. Depois se você tiver problemas com a máquina virtual, como arquivos danificados, vírus, etc., basta restaurar o arquivo de imagem do HD e terá seu sistema funcionando como antes, já com tudo instalado. Sugiro isso porque instalar o sistema operacional na máquina virtual é uma tarefa demorada. Se você usou o método "growing" que sugeri, o tamanho do arquivo real ficará menor do que a capacidade do HD virtual, podendo ser facilmente gravado num CD.
Dica adicional 4: Você pode utilizar unidades adicionais, definindo as linhas ata1-master e ata1-slave, podendo adicionar outros HDs virtuais, imagens ISO de CDs, drives reais de CD, etc.
Veja algumas imagens dele em ação:

Instalação do Windows NT 4.0

Windows NT Server 4.0 instalado, com aplicativos abertos

Diversos aplicativos rodando no Windows NT, dentro de uma janela
no 2000, com mais aplicativos abertos
Boa sorte! Eu, pessoalmente, fiquei admirado ao ver que existia isso... E diferentemente de soluções como o WMWare, o Bochs é gratuito e roda no Windows. Existe também o Q-EMU, que vem com algumas distribuições Linux... O Kurumin 4.0 possui o K-EMU, uma interface gráfica para o Q-EMU, que roda mesmo quando o sistema está rodando do CD.
Links relacionados:
- Bochs (download e informações, há versões para Linux e Windows)
http://bochs.sourceforge.net
- QEMU + Kemula: um emulador "bem" mais rápido que o Bochs! Também livre
- Tutorial do VMware, um dos melhores e mais rápidos programas de virtualização de PCs
Nota do autor:
Prepare um sistema potente, o ideal é um Pentium 4 ou equivalente, com pelo menos 128 MB de RAM. Dependendo do sistema que você pretende instalar no PC virtual, é bom você ter 256 ou até mesmo 512 de RAM. Eu fiz testes no meu bom e velho Pentium II, 266 MHz com 160 MB de RAM. Funcionou, mas o sistema foi lento demais. Lento "mesmo". Se você tem um Pentium abaixo do 2, ou processadores inferiores, eu diria que é bom não tentar... Com um Pentium III você deve obter um desempenho razoável, mas ainda assim lento em algumas tarefas, visto que todas as ações de um PC serão simuladas, e o PC virtual nunca terá acesso direto ao seu hardware, o Bochs controlará tudo. Mas em qualquer caso que seja, o PC virtual acreditará que está mesmo num PC real.




Nenhum comentário:
Postar um comentário