Virtualização · 5 min read · Dec 01, 2025

VBoxHeadless - Executando Máquinas Virtuais Com VirtualBox 4.1 Em Um Servidor Fedora 17 Sem Interface Gráfica

VBoxHeadless - Executando Máquinas Virtuais Com VirtualBox 4.1 Em Um Servidor Fedora 17 Sem Interface Gráfica

Versão 1.0
Autor: Falko Timme
Siga-me no Twitter

Este guia explica como você pode executar máquinas virtuais com VirtualBox 4.1 em um servidor Fedora 17 sem interface gráfica. Normalmente, você usa a GUI do VirtualBox para gerenciar suas máquinas virtuais, mas um servidor não possui um ambiente de desktop. Felizmente, o VirtualBox vem com uma ferramenta chamada VBoxHeadless que permite conectar-se às máquinas virtuais por meio de uma conexão de desktop remoto, então não há necessidade da GUI do VirtualBox.

Não dou nenhuma garantia de que isso funcionará para você!

1 Nota Preliminar

Eu testei isso em um servidor Fedora 17 (sistema host) com o endereço IP 192.168.0.100 onde estou logado como um usuário normal (nome de usuário admin neste exemplo) em vez de como root.

Se você só tem uma conta root, mas não uma conta de usuário normal, crie uma da seguinte forma (usuário admin, grupo admin)…

# groupadd admin  
# useradd -d /home/admin -m -g admin -s /bin/bash admin

… crie uma senha para o novo usuário…

# passwd admin

… e faça login como esse usuário.

2 Instalando o VirtualBox

Para instalar o VirtualBox 4.1 em nosso servidor Fedora 17, precisamos de privilégios de root, portanto, executamos

$ su

Em seguida, instalamos as dependências para o VirtualBox 4.1 da seguinte forma:

# yum groupinstall 'Development Tools'
# yum groupinstall 'Development Libraries'
# yum install SDL kernel-devel kernel-headers dkms

Em seguida, baixe e registre a chave pública rpm do VirtualBox:

# wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc  
# rpm --import oracle_vbox.asc  
# rm -f oracle_vbox.asc

Agora habilitamos o repositório do VirtualBox Fedora em nosso sistema:

# cd /etc/yum.repos.d/  
# wget http://download.virtualbox.org/virtualbox/rpm/fedora/virtualbox.repo

Agora podemos simplesmente instalar o VirtualBox 4.1 da seguinte forma:

# yum install VirtualBox-4.1

A partir da versão 4.0, o VirtualBox introduziu os chamados “packs de extensão” e terceirizou algumas funcionalidades, como suporte a conexão de desktop remoto (VRDP), que fazia parte dos pacotes do VirtualBox antes da versão 4.0, para esses packs de extensão. Como precisamos de conexões de desktop remoto para controlar nossas máquinas virtuais, precisamos instalar o pack de extensão apropriado agora. Vá para http://www.virtualbox.org/wiki/Downloads, e você encontrará um link para o seguinte pack de extensão:

VirtualBox 4.1.18 Oracle VM VirtualBox Extension Pack  
Suporte para dispositivos USB 2.0, VirtualBox RDP e inicialização PXE para placas Intel.

Baixe e instale o pack de extensão da seguinte forma:

# cd /tmp  
# wget http://download.virtualbox.org/virtualbox/4.1.18/Oracle_VM_VirtualBox_Extension_Pack-4.1.18-78361.vbox-extpack  
# VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.1.18-78361.vbox-extpack

(Assegure-se de pegar a versão mais recente do site do VirtualBox.)

Agora devemos adicionar o usuário que executará o VirtualBox (admin neste exemplo) ao grupo vboxusers:

# /usr/sbin/usermod -G vboxusers admin

O VirtualBox está agora instalado e pronto para ser usado.

Digite

# exit

para sair da conta root e se tornar um usuário normal (admin) novamente.

3 Usando o VirtualBox Na Linha de Comando

3.1 Criando Uma VM

Para criar uma VM na linha de comando, podemos usar o comando VBoxManage. Veja

$ VBoxManage --help

para uma lista de opções disponíveis e (altamente recomendado!) dê uma olhada em http://www.virtualbox.org/manual/ch08.html.

Antes de criarmos uma máquina virtual, precisamos descobrir como o dispositivo de rede primário é nomeado no Fedora:

$ ifconfig
[admin@server1 ~]$ ifconfig  
lo: flags=73  mtu 16436  
        inet 127.0.0.1  netmask 255.0.0.0  
        inet6 ::1  prefixlen 128  scopeid 0x10  
        loop  txqueuelen 0  (Local Loopback)  
        RX packets 0  bytes 0 (0.0 B)  
        RX errors 0  dropped 0  overruns 0  frame 0  
        TX packets 0  bytes 0 (0.0 B)  
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0  
  
p3p1: flags=4163  mtu 1500  
        inet 192.168.0.100  netmask 255.255.255.0  broadcast 192.168.0.255  
        inet6 fe80::20c:29ff:fe58:4256  prefixlen 64  scopeid 0x20  
        ether 00:0c:29:58:42:56  txqueuelen 1000  (Ethernet)  
        RX packets 1133921  bytes 963213128 (918.5 MiB)  
        RX errors 0  dropped 6  overruns 0  frame 0  
        TX packets 478361  bytes 28634802 (27.3 MiB)  
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0  
  
[admin@server1 ~]$

Como você pode ver, é nomeado p3p1 neste caso - por favor, mantenha isso em mente.

Agora vou criar uma VM Ubuntu 12.04 Server com 1024MB de memória e um disco rígido de 10GB a partir da imagem iso do Ubuntu 12.04 Server (que eu armazenei em /home/ubuntu-12.04-server-amd64.iso):

$ VBoxManage createvm --name "Ubuntu 12.04 Server" --register

No próximo comando, devemos especificar a interface de rede correta (p3p1 no meu caso):

$ VBoxManage modifyvm "Ubuntu 12.04 Server" --memory 1024 --acpi on --boot1 dvd --nic1 bridged --bridgeadapter1 p3p1
$ VBoxManage createhd --filename Ubuntu_12_04_Server.vdi --size 10000  
$ VBoxManage storagectl "Ubuntu 12.04 Server" --name "IDE Controller" --add ide  
$ VBoxManage storageattach "Ubuntu 12.04 Server" --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium Ubuntu_12_04_Server.vdi  
$ VBoxManage storageattach "Ubuntu 12.04 Server" --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /home/ubuntu-12.04-server-amd64.iso

3.2 Importando Uma VM Existente

Vamos supor que você tenha uma VM chamada examplevm que deseja reutilizar neste host. No host antigo, você deve ter um diretório Machines/examplevm no diretório do VirtualBox; Machines/examplevm deve conter o arquivo examplevm.xml. Copie o diretório examplevm (incluindo o arquivo examplevm.xml) para o seu novo diretório Machines (se o seu nome de usuário for admin, este é /home/admin/.VirtualBox/Machines - o resultado deve ser /home/admin/.VirtualBox/Machines/examplevm/examplevm.xml).

Além disso, copie o arquivo examplevm.vdi do antigo diretório VDI para o novo (por exemplo, /home/admin/.VirtualBox/VDI/examplevm.vdi).

Depois, você deve registrar a VM importada:

$ VBoxManage registervm Machines/examplevm/examplevm.xml

3.3 Iniciando Uma VM Com VBoxHeadless

Independentemente de você criar uma nova VM ou importar uma antiga, você pode iniciá-la com o comando:

$ VBoxHeadless --startvm "Ubuntu 12.04 Server"

(Substitua Ubuntu 12.04 Server pelo nome da sua VM.)

VBoxHeadless iniciará a VM e um servidor VRDP (VirtualBox Remote Desktop Protocol) que permite que você veja a saída da VM remotamente em outra máquina.

Para parar uma VM, execute

$ VBoxManage controlvm "Ubuntu 12.04 Server" poweroff

Para pausar uma VM, execute

$ VBoxManage controlvm "Ubuntu 12.04 Server" pause

Para reiniciar uma VM, execute

$ VBoxManage controlvm "Ubuntu 12.04 Server" reset

Para saber mais sobre o VBoxHeadless, dê uma olhada em

$ VBoxHeadless --help

e em http://www.virtualbox.org/manual/ch07.html#vboxheadless.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.