VirtualBox (Português)
VirtualBox é um poderoso emulador de PC virtual x86 e AMD64/Intel64 assim como VMware. É ativamente desenvolvido com lançamentos frequentes e tem uma lista sempre crescente de funcionalidades, sistemas operacionais convidados e plataformas onde pode ser executado.
Contents
Instalação
O VirtualBox, lincenciado sob GPL, pode ser instalado com o pacote virtualbox, encontrado nos repositórios oficiais. O pacote virtualbox-host-modules[broken link: replaced by virtualbox-host-modules-arch], que contém os módulos pré-compilados para o kernel Arch Linux estoque, deve ser instalado com ele. Se você estiver usando kernel linux-lts deve também instalar virtualbox-host-modules-ltsAUR. Para utilizar a interface gráfica, baseada em Qt, você também precisará instalar o pacote qt4.
# pacman -S virtualbox
Extension Pack
Para fornecer suporte a RDP, USB e PXE para boot em placas de rede Intel, além de outras funcionalidades, o VirtualBox precisa do Extension Pack, que pode ser baixado neste link: VirtualBox Downloads. Este pacote de expansão, com licença PUEL, é livre para uso pessoal.
Para instalar o Extension Pack, baixe e salve-o em seu disco rígido e, em seguida, abra o VirtualBox. Vá em Arquivo → Preferências → Extensões e clique no ícone "Acrescentar extensões", em seguida abra a pasta que contém a extensão e selecione-a para instalar.
Além disso você pode instalar o pacote de extensão através do terminal usando o VBoxManage:
VBoxManage extpack install <tarball> | uninstall [--force] <name> | cleanup
Como alternativa você pode utilizar o pacote virtualbox-ext-oracleAUR do AUR.
Configuração
Adicionar usuário ao grupo vboxusers
Adicione os usuários desejados ao grupo vboxusers. O novo grupo não se aplica automaticamente as sessões existentes, o usuário tem que logar novamente ou iniciar um novo ambiente.
# gpasswd -a $USER vboxusers
=== Carregando os módulos ===
Após a instalação você poderá gerenciar suas máquinas virtuais, porém não poderá iniciá-las até carregar o módulo vboxdrv. Para carregar o módulo manualmente (como root):
# modprobe vboxdrv
Para carregar os módulos do VirtualBox automaticamente na inicialização do Arch Linux, crie um arquivo *.conf
(e.g. virtualbox.conf
) em /etc/modules-load.d[broken link: invalid section]
, que conterá todos os módulos que deverão ser carregados.
/etc/modules-load.d/virtualbox.conf
vboxdrv
Habilitando a interface de rede Host-Only
Pra que seja possível utilizar a opção Host-Only na interface de rede do VirtualBox, é preciso carregar os módulos vboxnetadp e vboxnetflt ou acrescentá-los ao arquivo virtualbox.conf
em /etc/modules-load.d[broken link: invalid section]
para que sejam carregados automaticamente na inicialização do Arch Linux:
/etc/modules-load.d/virtualbox.conf
vboxdrv vboxnetadp vboxnetflt
Para carregar os módulos manualmente, utilize o seguinte comando como root:
# modprobe -a vboxnetadp vboxnetflt
Feito isso, abra a interface gráfica do VirtualBox e vá até Arquivo → Preferências → Rede e acrescente uma nova interface de rede host-only antes de poder habilitá-la em sua máquina virtual.
Adicionais para convidado
O VirtualBox sugere a instalação do virtualbox-guest-iso no host Arch Linux rodando VirtualBox. É uma imagem de disco utilizada para instalação dos adicionais para convidado nas máquinas virtuais, tornando disponível clicando em Dispositivos → Instalar adicionais para convidado.
# pacman -S virtualbox-guest-iso
Iniciando máquinas virtuais como serviço
Para iniciar máquinas virtuais como serviço no Arch Linux você deve criar o arquivo vboxvmservice@.service
em /etc/systemd/system
da seguinte forma:
/etc/systemd/system/vboxvmservice@.service
[Unit] Description=VBox Virtual Machine %i Service Requires=systemd-modules-load.service After=systemd-modules-load.service [Service] User=USUARIO Group=vboxusers ExecStart=/usr/bin/VBoxHeadless -s %i ExecStop=/usr/bin/VBoxManage controlvm %i savestate [Install] WantedBy=multi-user.target
Máquinas Virtuais
Instalando o Arch Linux em uma máquina virtual
A instalação do Arch Linux em uma máquina virtual é tão simples quanto instalar qualquer outro sistema convidado no VirtualBox, mas as adições devem ser instaladas através do pacman (Seguindo as instruções abaixo), e não através do item "Instalar Adicionais para Convidado" no menu do VirtualBox nem de uma ISO montada.
- Clique no botão "Novo" para criar uma nova máquina virtual.
- Nomeie a máquina como desejar
- Selecione a distribuição e a arquitetura (Se você nomeá-la como Arch Linux o VirtualBox automaticamente irá selecionar a distribuição do Arch, mas você deverá escolher a arquitetura)
- Selecione a quantidade de memória a ser utilizada pela máquina virtual (Lembre-se que a máquina virtual irá utilizar a memória do seu sistema real e que você deve colocar, no mínimo, 512 MB para que a maioria dos sistemas funcione de forma satisfatória)
- Após criar a sua máquina virtual, selecione-a e clique em Configurações → Armazenamento → Controladora IDE → Vazio e, em Drive de CD/DVD, selecione a imagem ISO do seu Arch Linux.
- Inicie a máquina virtual e siga as instruções de instalação do Guia do Iniciante
Adicionais para Convidado
Instale o pacote virtualbox-guest-utils em sua máquina virtual Arch Linux e carregue os módulos manualmente com:
# modprobe -a vboxguest vboxsf vboxvideo
Ou crie um arquivo *.conf
em (e.g. virtualbox.conf
) em /etc/modules-load.d/
para que o Arch carregue os módulos automaticamente na inicialização do sistema com as seguintes linhas:
/etc/modules-load.d/virtualbox.conf
vboxguest vboxsf vboxvideo
adicione a seguinte linha para o topo de ~/.xinitrc
acima de quaisquer opções exec
. (crie um novo arquivo se este não existir):
~/.xinitrc
/usr/bin/VBoxClient-all
Iniciando serviços compartilhados
Após instalar o virtualbox-guest-utils acima, você deve iniciar o VBoxClient-all
para iniciar os serviços de compartilhamento da área de transferência, redimensionamento da tela, etc.
- Se você estiver executando algo que inicia
/etc/xdg/autostart/vboxclient.desktop
, como GNOME ou KDE, então nada precisa ser feito. - Se você utiliza
.xinitrc
para lançar coisas em vez disso, você deve adicionar o seguinte em seu.xinitrc
antes de iniciar sua máquina virtual:
# VBoxClient-all &
Usando Microfone/WebCam USB
- Certifique-se de que a máquina virtual não está sendo executada e seu microfone/webcam não está sendo utilizado;
- Abra a janela do VirtualBox, selecione a máquina virtual do Arch Linux e clique em Configurações, em seguida selecione a seção USB;
- Marque a caixa Habilitar controladora USB e também Habilitar controladora USB 2.0 (EHCI);
- Clique no botão Adicionar filtro do dispositivo (O cabo com sinal de +);
- Selecione o seu dispositivo de webcam/microfone na lista;
- Inicie sua máquina virtual Arch.
Sincronizando a data da máquina virtual com a máquina real
Para sincronizar hora e data, tenha certeza de ter instalado o pacote virtualbox-guest-utils em sua máquina real. Então execute o comando:
# systemctl start vboxservice.service
Para habilitar o serviço na inicialização do sistema execute:
# systemctl enable vboxservice.service
Você também deve utilizar este daemon afim de usar o recurso de pastas compartilhadas descrito abaixo.
Habilitando pastas compartilhadas
Pastas compartilhadas são gerenciadas através do programa VirtualBox na máquina real. Elas podem ser adicionadas, automontadas e feita somente leitura.
Se a automontagem está habilitada e o vboxservice está habilitado, criando uma pasta compartilhada do programa VirtualBox com a máquina real, irá montar esta pasta em /media/sf_NOMEDAPASTACOMPARTILHADA
na máquina virtual. Para ter esta pasta criada na máquina virtual Arch, após instalar os adicionais para convidado[broken link: invalid section], você precisa adicionar seu nome de usuário ao grupo vboxsf
.
# groupadd vboxsf # gpasswd -a $USER vboxsf
Se você quer uma pasta compartilhada (e.g /media/sd_Dropbox
) a ser simbolicamente linkada para outra pasta em seu diretório pessoal, para facilitar o acesso, você pode digitar no cliente:
$ ln -s /media/sf_Dropbox/* ~/dropbox
O script VBoxLinuxAdditions.run
fornecido na ISO dos adicionais para convidado faz isso para você, porém o Arch não recomenda usá-lo.
Se as pastas compartilhadas não forem montadas automaticamente, tente montar manualmente.
Para evitar problemas de inicialização quando estiver usando o systemd você deve adicionar comment=systemd.automount
ao seu /etc/fstab
. Dessa forma, eles serão montados apenas quando você acessar esses pontos de montagem e não durante a inicialização. Caso contrário, o sistema pode se tornar inutilizável após uma atualização do kernel (se você adicionar suas adições para convidado manualmente).
desktop /media/desktop vboxsf uid=user,gid=group,rw,dmode=700,fmode=600,comment=systemd.automount 0 0
Não desperdice seu tempo para tentar o opção nofail
. O mount.vboxsf
não é capaz de lidar com isso (2012-08-20).
desktop /media/desktop vboxsf uid=user,gid=group,rw,dmode=700,fmode=600,nofail 0 0
Iniciar o VirtualBox
Para iniciar a interface gráfica do Virtualbox:
$ VirtualBox
Solução de Problemas
modprobe Exec format error
Atualize o seu sistema:
# pacman -Syu
VBOX_E_INVALID_OBJECT_STATE (0x80BB0007)
Isso pode ocorrer quando a máquina virtual é fechada inesperadamente. Para contornar o problema:
# VBoxManage controlvm nArch poweroff
Could not load the Host USB Proxy service: VERR_NOT_FOUND
Às vezes, o subsistema USB não é detectado automaticamente ou um drive USB não é visível no host, mesmo quando o usuário está no grupo vboxusers. Adicione a seguinte linha ao seu ~/.bashrc
:
~/.bashrc
VBOX_USB=usbfs
Reinicie o seu sistema e abra uma nova instância do terminal. Também tenha certeza de que o usuário é membro do grupo storage.
Failed to create the host-only network interface
Antes de tudo, tenha certeza de que você tem o pactoe net-tools instalado em seu sistema e em seguida faça os passos descritos em: habilitando interface de rede Host-Only.
WinXP: Bit-depth cannot be greater than 16
Se você estiver executando em profundidade de cor de 16-bit, então os ícones parecerão distorcidos. No entanto, ao tentar mudar a profundidade da cor para uma resolução mais alta o sistema pode restringí-lo a uma resolução mais baixa ou, simplesmente não permitirá que você altere a resolução. Para corrigir isto, abra o regedit
e adicione a seguinte chave ao registro da máquina virtual Windows XP:
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services] "ColorDepth"=dword:00000004
Em seguida, atualize a profundidade de cor na janela de propriedades do desktop. Se nada acontecer, force a tela para redesenhar (Ex. host + f
para redesenhar a tela em Full Screen).
Montando imagens .VDI
Só funciona com imagens VDi de tamanho estático (tamanho dinâmico não será fácil para montar). Precisamos obter uma informação de sua imagem VDI:
$ VBoxManage internalcommands dumphdinfo Arch_64min.vdi |grep offData Header: offBlocks=4096 offData=69632
Agora, acrescente ao seu offData 32256 (Ex.: 32256 + 69632 = 101888
)
Monte a sua imagem VDI:
# mount -t ext4 -o rw,noatime,noexec,loop,offset=101888 Arch_64min.vdi /mnt/