VMWare player, Qemu e KQemu: emulando o Windows no Linux Kubuntu / Ubuntu 8.04 Hardy
Infelizmente, em algumas situações ainda não conseguimos "escapar" do uso do Windows. Seja por um arquivo com formato proprietário (como o .CDR do Corel) ou mesmo um site com extensões do Microsoft Office que só roda no Internet Explorer. Pasmem, os softwares empresariais do próprio Banco do Brasil, apesar do governo federal alegar ser defensor do software livre, e destes serem já feitos em Java, só desenvolveram instaladores para Windows, e utilizam Access para armazenar dados. Patético.
Desabafo à parte, existem boas alternativas para rodar aplicações Windows como o Wine (http://www.winehq.com) e para a internet o Ies4Linux (www.tatanka.com.br/ies4linux/), mas ambos ainda não são 100% compatíveis.
Dentro das gratas surpresas dos últimos tempos, está o OpenOffice 2.3, que já abre os novos formatos XML .xlsx e .docx do Microsoft Excel e Microsoft Word, respectivamente.
Voltando ao objetivo deste post, existe uma ferramenta hoje madura e poderosa que emula outros ambientes operacionais em Windows, Linux e outros. É possível rodar vários discos virtuais, cada um com uma versão diferente do sistema operacional que se quiser. Vamos ver como utilizar um disco virtual no Linux, para instalar outras versões de Linux para teste ou mesmo o Windows, com resultados notáveis.
Como instalar o VMWare Player e o Qemu / KQemu no Kubuntu / Ubuntu Hardy 8.04:
O VMWare é uma ferramenta já conhecida no mundo Windows, nas versões Server (que criam o disco virtual) e Player (que faz funcionar o disco virtual). O Player é free, e disponível também em Linux, e tenho tido bastante sucesso no uso dele. Para criar a máquina virtual, utilizo o Qemu e seu módulo "acelerador" KQemu. O KQemu faz com que o disco virtual funcione até 5x mais rápido que o normal, até hoje a maior barreira para a utilização prática deste recurso.
Instalando o Qemu e o Kemu:
########################
Digite no console:
sudo aptitude install kqemu-common kqemu-source qemu qemu-launcher qemubuilder qemuctl qemulator kqemu-common kqemu-source
Crie uma pasta qemu e digite o seguinte comando:
qemu-img create -f vmdk "HD-virtual.vmdk" 10G
Isso irá criar o disco virtual que irá crescer à medida em que for utilizado até o limite de 10GB (altere isso conforme a sua necessidade).
Após, crie na mesma pasta o arquivo HD-virtual.vmx conforme abaixo:
#!/usr/bin/vmware
#
# Criar disco virtual:
# qemu-img create -f vmdk "HD-virtual.vmdk" 10G
#
config.version = "8"
virtualHW.version = "4"
memsize = "1024"
MemAllowAutoScaleDown = "FALSE"
ide0:0.present = "TRUE"
ide0:0.fileName = "HD-virtual.vmdk"
ide0:0.redo = ""
ide1:0.autodetect = "TRUE"
ide1:0.present = "TRUE"
ide1:0.fileName = "auto detect"
ide1:0.deviceType = "cdrom-raw"
serial0.autodetect = "FALSE"
serial0.present = "FALSE"
serial0.fileName = "COM1"
serial0.hardwareFlowControl = "TRUE"
floppy0.autodetect = "FALSE"
floppy0.present = "FALSE"
floppy0.fileName = "/dev/fd0"
ethernet0.present = "TRUE"
usb.present = "TRUE"
usb.autodetect = "TRUE"
sound.present = "TRUE"
sound.virtualDev = "es1371"
sound.fileName = "-1"
sound.autodetect = "TRUE"
displayName = "WinXP"
guestOS = "winxppro"
nvram = "HD-virtual.nvram"
ethernet0.addressType = "generated"
uuid.location = "56 4d 36 b4 cb 83 82 17-47 0c fd db f9 c4 4b 5c"
uuid.bios = "56 4d 36 b4 cb 83 82 17-47 0c fd db f9 c4 4b 5c"
tools.remindInstall = "FALSE"
ethernet0.generatedAddress = "00:0c:29:c4:4b:5c"
ethernet0.generatedAddressOffset = "0"
checkpoint.vmState = "HD-virtual.vmss"
virtualHW.productCompatibility = "hosted"
tools.upgrade.policy = "manual"
tools.syncTime = "TRUE"
usb.autoConnect.device0 = ""
usb.autoConnect.device1 = ""
priority.grabbed = "normal"
priority.ungrabbed = "normal"
extendedConfigFile = "HD-virtual.vmxf"
Pontos importantes:
- 'memsize" define a quantidade de RAM utilizada pela máquina virtual. Isso pode ser alterado a cada boot dela, para verificar qual o melhor custo x benefício. Em computadores com 1GB de RAM, notei que o melhor desempenho ficou em 384MB.
- Em notebooks não é mais usual ter drive de disquete. A linha floppy0.fileName = "/dev/fd0" pode ser comentada.
- Geralmente instalo o Windows XP Professional, e não há necessidade de alterar a entrada guestOS = "win2000pro".
PARA O WINDOWS 7:
- O Windows 7 RC precisa de um parâmetro a mais incluído no arquivo de configuração .vmx:
ethernet0.virtualDEV = "e1000"
Apenas acrescente esta linha no arquivo antes de inicializar o VMWare que a placa de rede será detectada.
VERSÕES DO UBUNTU ABAIXO DE 8.04:
Para instalar o KQemu:
Procure e descompacte o arquivo /usr/src/kqemu.gz (ou .tar)
Entre na pasta descompactada "modules/kqemu"
digite no console:
sudo ./configure
sudo make
sudo make install
Para conferir se está instalado:
modprobe -l | grep kqemu
* - Repetir a instalação do KQemu a cada atualização do Kernel do Linux.
Instalando o VMWare Player:
######################
Faça o download da versão adequada ao seu sistema em:
http://www.vmware.com/go/get-player
Descompacte o arquivo, usando tar -xzvf VMware...(nome do arquivo)
Será criada a pasta vmware-player-distrib. Então execute:
sudo ./vmware-install.pl
Tecle ENTER em todas as opções, a configuração padrão funciona perfeitamente.
Para executar o disco virtual, chame o aplicativo vmplayer e com ele abra o arquivo HD-virtual.vmx.
IMPORTANTE: Nas atualizações de kernel do Linux, o vmware-player pode deixar de funcionar. Basta entrar no console e digitar vmware-config.pl, e ele se auto-recompilará.
Otimização do VMWare Player:
#######################
Após a instalação do windows no disco virtual, baixe e instale o seguinte pacote:
http://www.guiadohardware.net/kurumin/download/vmware-tools-windows.iso.zip
Ele possui os drivers necessários para o Windows e outros recursos interessantes.
UPDATE: Noo link para download da última versão do vmplayer:
https://www.vmware.com/tryvmware/p/activate.php?p=player&lp=default
Desabafo à parte, existem boas alternativas para rodar aplicações Windows como o Wine (http://www.winehq.com) e para a internet o Ies4Linux (www.tatanka.com.br/ies4linux/), mas ambos ainda não são 100% compatíveis.
Dentro das gratas surpresas dos últimos tempos, está o OpenOffice 2.3, que já abre os novos formatos XML .xlsx e .docx do Microsoft Excel e Microsoft Word, respectivamente.
Voltando ao objetivo deste post, existe uma ferramenta hoje madura e poderosa que emula outros ambientes operacionais em Windows, Linux e outros. É possível rodar vários discos virtuais, cada um com uma versão diferente do sistema operacional que se quiser. Vamos ver como utilizar um disco virtual no Linux, para instalar outras versões de Linux para teste ou mesmo o Windows, com resultados notáveis.
Como instalar o VMWare Player e o Qemu / KQemu no Kubuntu / Ubuntu Hardy 8.04:
O VMWare é uma ferramenta já conhecida no mundo Windows, nas versões Server (que criam o disco virtual) e Player (que faz funcionar o disco virtual). O Player é free, e disponível também em Linux, e tenho tido bastante sucesso no uso dele. Para criar a máquina virtual, utilizo o Qemu e seu módulo "acelerador" KQemu. O KQemu faz com que o disco virtual funcione até 5x mais rápido que o normal, até hoje a maior barreira para a utilização prática deste recurso.
Instalando o Qemu e o Kemu:
########################
Digite no console:
sudo aptitude install kqemu-common kqemu-source qemu qemu-launcher qemubuilder qemuctl qemulator kqemu-common kqemu-source
Crie uma pasta qemu e digite o seguinte comando:
qemu-img create -f vmdk "HD-virtual.vmdk" 10G
Isso irá criar o disco virtual que irá crescer à medida em que for utilizado até o limite de 10GB (altere isso conforme a sua necessidade).
Após, crie na mesma pasta o arquivo HD-virtual.vmx conforme abaixo:
#!/usr/bin/vmware
#
# Criar disco virtual:
# qemu-img create -f vmdk "HD-virtual.vmdk" 10G
#
config.version = "8"
virtualHW.version = "4"
memsize = "1024"
MemAllowAutoScaleDown = "FALSE"
ide0:0.present = "TRUE"
ide0:0.fileName = "HD-virtual.vmdk"
ide0:0.redo = ""
ide1:0.autodetect = "TRUE"
ide1:0.present = "TRUE"
ide1:0.fileName = "auto detect"
ide1:0.deviceType = "cdrom-raw"
serial0.autodetect = "FALSE"
serial0.present = "FALSE"
serial0.fileName = "COM1"
serial0.hardwareFlowControl = "TRUE"
floppy0.autodetect = "FALSE"
floppy0.present = "FALSE"
floppy0.fileName = "/dev/fd0"
ethernet0.present = "TRUE"
usb.present = "TRUE"
usb.autodetect = "TRUE"
sound.present = "TRUE"
sound.virtualDev = "es1371"
sound.fileName = "-1"
sound.autodetect = "TRUE"
displayName = "WinXP"
guestOS = "winxppro"
nvram = "HD-virtual.nvram"
ethernet0.addressType = "generated"
uuid.location = "56 4d 36 b4 cb 83 82 17-47 0c fd db f9 c4 4b 5c"
uuid.bios = "56 4d 36 b4 cb 83 82 17-47 0c fd db f9 c4 4b 5c"
tools.remindInstall = "FALSE"
ethernet0.generatedAddress = "00:0c:29:c4:4b:5c"
ethernet0.generatedAddressOffset = "0"
checkpoint.vmState = "HD-virtual.vmss"
virtualHW.productCompatibility = "hosted"
tools.upgrade.policy = "manual"
tools.syncTime = "TRUE"
usb.autoConnect.device0 = ""
usb.autoConnect.device1 = ""
priority.grabbed = "normal"
priority.ungrabbed = "normal"
extendedConfigFile = "HD-virtual.vmxf"
## FIM DO ARQUIVO
Pontos importantes:
- 'memsize" define a quantidade de RAM utilizada pela máquina virtual. Isso pode ser alterado a cada boot dela, para verificar qual o melhor custo x benefício. Em computadores com 1GB de RAM, notei que o melhor desempenho ficou em 384MB.
- Em notebooks não é mais usual ter drive de disquete. A linha floppy0.fileName = "/dev/fd0" pode ser comentada.
- Geralmente instalo o Windows XP Professional, e não há necessidade de alterar a entrada guestOS = "win2000pro".
PARA O WINDOWS 7:
- O Windows 7 RC precisa de um parâmetro a mais incluído no arquivo de configuração .vmx:
ethernet0.virtualDEV = "e1000"
Apenas acrescente esta linha no arquivo antes de inicializar o VMWare que a placa de rede será detectada.
VERSÕES DO UBUNTU ABAIXO DE 8.04:
Para instalar o KQemu:
Procure e descompacte o arquivo /usr/src/kqemu.gz (ou .tar)
Entre na pasta descompactada "modules/kqemu"
digite no console:
sudo ./configure
sudo make
sudo make install
Para conferir se está instalado:
modprobe -l | grep kqemu
* - Repetir a instalação do KQemu a cada atualização do Kernel do Linux.
Instalando o VMWare Player:
######################
Faça o download da versão adequada ao seu sistema em:
http://www.vmware.com/go/get-player
Descompacte o arquivo, usando tar -xzvf VMware...(nome do arquivo)
Será criada a pasta vmware-player-distrib. Então execute:
sudo ./vmware-install.pl
Tecle ENTER em todas as opções, a configuração padrão funciona perfeitamente.
Para executar o disco virtual, chame o aplicativo vmplayer e com ele abra o arquivo HD-virtual.vmx.
IMPORTANTE: Nas atualizações de kernel do Linux, o vmware-player pode deixar de funcionar. Basta entrar no console e digitar vmware-config.pl, e ele se auto-recompilará.
Otimização do VMWare Player:
#######################
Após a instalação do windows no disco virtual, baixe e instale o seguinte pacote:
http://www.guiadohardware.net/kurumin/download/vmware-tools-windows.iso.zip
Ele possui os drivers necessários para o Windows e outros recursos interessantes.
UPDATE: Noo link para download da última versão do vmplayer:
https://www.vmware.com/tryvmware/p/activate.php?p=player&lp=default
Comentários
Otimo post! Me ajudou bastante.
Até +!
serial0.autodetect = "TRUE"
(no meu exemplo está como "FALSE")