VirtualBox (Português)/Install Arch Linux as a guest (Português)
Este artigo trata sobre a instalação do Arch Linux no VirtualBox.
Inicialize a mídia de instalação do Arch por meio de uma das unidades virtuais da máquina virtual. Em seguida, conclua a instalação de um sistema Arch básico, conforme explicado no Guia de instalação.
Instalação
Instalação em modo EFI (opcional)
Habilitar EFI para Arch como convidado é opcional. Se você deseja instalar o Arch Linux no modo EFI dentro do VirtualBox, você deve alterar o modo de firmware da máquina virtual. Isso deve ser feito antes de instalar o Arch como convidado, alterar a opção posteriormente resultará em uma máquina não inicializável, a menos que a configuração seja revertida.
Para habilitar EFI para uma máquina virtual usando a interface gráfica, abra as configurações da máquina virtual, escolha o item Sistema no painel à esquerda e a aba Placa-mãe no painel direito, e marque a caixa de seleção Habilitar EFI (sistemas especiais apenas).
Alternativamente, o mesmo pode ser alcançado a partir da linha de comando usando VBoxManage:
$ VBoxManage modifyvm "Nome da máquina virtual" --firmware efi
efi
vai definir o firmware da máquina virtual para EFI com número de bits correspondendo à CPU da máquina virtual. Para obter um número de bits EFI específico, defina o firmware para efi64
para EFI x86_64 ou efi32
para EFI IA32.
Após selecionar o kernel no menu da mídia de instalação do Arch Linux, a mídia irá travar por um minuto ou dois e continuará a inicializar o kernel normalmente depois. Seja paciente.
Instalar os adicionais para convidado
As Adicionais para Convidado (Guest Additions) do VirtualBox fornecem drivers e aplicativos que otimizam o sistema operacional convidado, incluindo resolução de imagem aprimorada e melhor controle do mouse. Dentro do sistema convidado instalado, instale:
- virtualbox-guest-utils para utilitários de convidados do VirtualBox com suporte a X
- virtualbox-guest-utils-nox para utilitários de convidados do VirtualBox sem suporte a X
- Você pode alternativamente instalar os adicionais para convidado com o ISO do pacote virtualbox-guest-iso, desde que você o tenha instalado no sistema hospedeiro. Para fazer isso, vá para o menu do dispositivo e clique em Inserir imagem de CD dos Adicionais para Convidado.
- Para recompilar os módulos de kernel do vbox, execute
rcvboxadd setup
como root.
Os adicionais para convidado em execução no seu convidado e o aplicativo VirtualBox em execução no seu hospedeiro devem ter versões correspondentes, caso contrário, os adicionais para convidado (como a área de transferência compartilhada) podem parar de funcionar. Se você atualizar seu convidado (por exemplo, pacman -Syu
), verifique se o aplicativo do VirtualBox neste hospedeiro também é a versão mais recente. "Verificar por atualizações" na GUI do VirtualBox às vezes não é suficiente; verifique o site VirtualBox.org.
Configuração
Carregar os módulos de kernel do VirtualBox
Para carregar os módulos automaticamente, habilite vboxservice.service
para carregar os módulos e sincronizar a hora do sistema do convidado com o hospedeiro.
Para carregar os módulos manualmente, digite:
# modprobe -a vboxguest vboxsf vboxvideo
Definir a melhor resolução de framebuffer
Normalmente, após a instalação dos Adicionais para Convidado, um convidado Arch em tela cheia executando o X será definido para a melhor resolução para o seu monitor; no entanto, o framebuffer do console virtual será configurado para uma resolução padrão, geralmente menor, detectada pelo driver VESA personalizado do VirtualBox.
Para usar os consoles virtuais na resolução ideal, o Arch precisa reconhecer essa resolução como válida, o que, por sua vez, exige que o VirtualBox passe essas informações para o sistema operacional convidado.
Primeiro, verifique se sua resolução desejada já não é reconhecida executando o comando (hwinfo precisa estar instalado):
hwinfo --framebuffer
Se a resolução ideal não aparecer, você precisará executar a ferramenta VBoxManage
na máquina do hospedeiro e adicionar "resoluções extras" à sua máquina virtual (em um hospedeiro Windows, vá para o diretório de instalação do VirtualBox para encontrar VBoxManage.exe
). Por exemplo:
$ VBoxManage setextradata "Arch Linux" "CustomVideoMode1" "1360x768x24"
Os parâmetros "Arch Linux" e "1360x768x24" no exemplo acima devem ser substituídos pelo nome da sua VM e pela resolução desejada do framebuffer. Aliás, este comando permite definir até 16 resoluções extras ("CustomVideoMode1" a "CustomVideoMode16").
Depois, reinicie a máquina virtual e execute hwinfo --framebuffer
mais uma vez para verificar se as novas resoluções foram reconhecidas pelo sistema convidado (o que não garante que todas elas funcionem, dependendo das limitações de hardware).
hwinfo --framebuffer
pode não mostrar qualquer saída, mas você ainda deve ser capaz de definir uma resolução personalizada seguindo este procedimento.Finalmente, adicione um parâmetro do kernel video=resolução
para definir o framebuffer para uma nova resolução, por exemplo:
video=1360x768
Além disso, você pode querer configurar seu gerenciador de boot para usar a mesma resolução. Se você usa GRUB, veja GRUB/Tips and tricks#Setting the framebuffer resolution.
vga
nem as configurações de resolução do gerenciador de boot (p.ex., GRUB_GFXPAYLOAD_LINUX
do GRUB) irão corrigir o framebuffer, uma vez que eles são substituídos pelo Kernel Mode Setting. A resolução do framebuffer deve ser definida pelo parâmetro do kernel video
como descrito acima.Iniciar os serviços de convidados do VirtualBox
Após o passo de instalação bastante grande lidando com módulos de kernel do VirtualBox, agora você precisa iniciar os serviços de convidado. Os serviços de convidado são na verdade apenas um executável binário chamado VBoxClient
que irá interagir com o seu Sistema de Janelas X. O VBoxClient
gerencia os seguintes recursos:
- área de transferência compartilhada e arrastar e soltar entre o hospedeiro e o convidado;
- modo de janela seamless;
- a exibição de convidado é automaticamente redimensionada de acordo com o tamanho da janela do convidado;
- verificação da versão do hospedeiro VirtualBox
Todos esses recursos podem ser ativados independentemente com seus flags dedicados:
$ VBoxClient --clipboard $ VBoxClient --draganddrop $ VBoxClient --seamless $ VBoxClient --checkhostversion $ VBoxClient --vmsvga
Observe que VBoxClient
só pode ser chamado com um sinalizador por vez, cada chamada gerando um processo de serviço dedicado. Como um atalho, o script VBoxClient-all
permite todos esses recursos.
virtualbox-guest-utils instala /etc/xdg/autostart/vboxclient.desktop
que inicia VBoxClient-all
ao iniciar a sessão. Se o seu ambiente de desktop ou gerenciador de janela não tiver suporte a XDG Autostart, você precisará configurar a inicialização automática -- veja Inicialização automática#Na inicialização de ambiente de desktop e Inicialização automática#Na inicialização do gerenciador de janela para mais detalhes.
O VirtualBox também pode sincronizar o tempo entre o hospedeiro e o convidado, para isso, inicie/habilite o vboxservice.service
.
Agora, você deve ter um convidado Arch Linux. Observe que recursos como compartilhamento de área de transferência estão desabilitados por padrão no VirtualBox, e você precisará desabilitá-los nas configurações por VM se realmente quiser usá-los (p.ex., Configurações > Geral > Avançado > Área de Transferência Compartilhada).
Redimensionar automaticamente a tela do convidado
Esta opção irá alterar automaticamente a resolução do convidado Arch, sempre que a janela da máquina virtual for redimensionada. Esta opção está habilitada por padrão e na interface gráfica está localizada em Visualizar > Redimensionar Tela Automaticamente. Ao usar o KDE Plasma, na tela de login da GUI (Sessão) selecione Plasma (X11) em vez da sessão padrão Plasma (Wayland), que não funciona com redimensionamento automático.
Aceleração de hardware
A aceleração de hardware pode ser ativada nas opções do VirtualBox. O gerenciador de exibição GDM 3.16+ é conhecido por quebrar o suporte de aceleração de hardware. [1] Então, se você tiver problemas com a aceleração de hardware, experimente outro gerenciador de exibição (o lightdm parece funcionar bem). [2] [3]
Se a aceleração de hardware não funcionar como esperado, tente alterar a opção Controladora Gráfica localizada na aba Tela nas opções Monitor das configurações da GUI. Parece que, dependendo do tipo de GPU do hospedeiro, nem todos as controladoras emuladas funcionam igualmente bem.
Habilitar pastas compartilhadas
Pastas compartilhadas são gerenciadas no hospedeiro, nas configurações da máquina virtual acessível através da GUI do VirtualBox, na aba Pastas Compartilhadas. Lá, Caminho da pasta, o nome do ponto de montagem identificado por Nome da pasta e opções como Apenas para Leitura, Montar Automaticamente e Tornar Permanente podem ser especificados. Esses parâmetros podem ser definidos com o utilitário de linha de comando VBoxManage
. Consulte para mais detalhes.
Não importa qual método você usará para montar sua pasta, todos os métodos requerem algumas etapas primeiro.
Para evitar este problema, /sbin/mount.vboxsf: mounting failed with the error: No such device
, certifique-se de que o módulo do kernel vboxsf
esteja carregado corretamente. Deveria ser, já que ativamos todos os módulos do kernel do convidado anteriormente.
Duas etapas adicionais são necessárias para que o ponto de montagem seja acessível a partir de usuários que não sejam root:
- o pacote virtualbox-guest-utils criou um grupo
vboxsf
(feito em uma etapa anterior); - seu usuário deve estar no grupo de usuários
vboxsf
.
Montagem manual
Use o seguinte comando para montar sua pasta em seu convidado Arch Linux:
# mount -t vboxsf -o gid=vboxsf nome_da_pasta_compartilhada ponto_de_montagem_em_sistema_convidado
sendo que nome_da_pasta_compartilhada
é o Nome da Pasta atribuído pelo hipervisor quando o compartilhamento foi criado.
Se o usuário não estiver no grupo vboxsf, para dar acesso ao nosso ponto de montagem, podemos especificar as opções mount(8) uid=
e gid=
com os valores correspondentes do usuário. Estes valores podem ser obtidos do comando id
executado contra este usuário. Por exemplo:
# mount -t vboxsf -o uid=1000,gid=1000 home /mnt
Montagem automática
Para que o recurso de montagem automática funcione, você deve marcar a caixa de seleção de Montagem Automática na GUI ou usar o argumento opcional --automount
com o comando VBoxManage sharedfolder
.
A pasta compartilhada agora deve aparecer como /media/sf_nome_da_pasta_compartilhada
. Se os usuários não puderem acessar as pastas compartilhadas, verifique se /media
tem permissões 755
ou é de propriedade do grupo vboxsf
se estiver usando permissões 750
. Atualmente, esse não é o padrão se o diretório /media
for criada por vboxservice.service
.
Você pode usar links simbólicos para ter um acesso mais conveniente e evitar de navegar naquele diretório, p.ex.:
$ ln -s /media/sf_nome_da_pasta_compartilhada ~/meus_documentos
Montar na inicialização
Você pode montar seu diretório com fstab. No entanto, para evitar problemas de inicialização com o systemd, noauto,x-systemd.automount
deve ser adicionado ao /etc/fstab
. Dessa forma, as pastas compartilhadas são montadas somente quando esses pontos de montagem são acessados e não durante a inicialização. Isso pode evitar alguns problemas, especialmente se os adicionais para convidados não forem carregados ainda quando o systemd ler fstab e montar as partições.
nomePastaCompartilhada /caminho/para/PontoMontagemNaMáquinaConvidado vboxsf uid=usuário,gid=grupo,rw,dmode=700,fmode=600,noauto,x-systemd.automount
-
nomePastaCompartilhada
: o valor do menu Configurações > Pastas Compartilhadas > Editar > Nome da Pasta da máquina virtual. Esse valor pode ser diferente do nome do nome real da pasta na máquina do hospedeiro. Para ver as Configurações da máquina virtual, vá para o aplicativo VirtualBox do sistema do hospedeiro, selecione a máquina virtual correspondente e clique em Configurações. -
/caminho/para/PontoMontagemNaMáquinaConvidado
: se não existir, esse diretório deve ser criado manualmente (por exemplo, usando mkdir). -
dmode
/fmode
são permissões de diretório/arquivo para diretórios/arquivos dentro/caminho/para/PontoMontagemNaMáquinaConvidado
.
Até 2012-08-02, mount.vboxsf não possui suporte à opção nofail
:
desktop /media/desktop vboxsf uid=user,gid=group,rw,dmode=700,fmode=600,nofail 0 0
Solução de problemas
Acesso a porta serial pelo convidado
Veja Working with the serial console#Connect using a terminal emulator program.
Texto do terminal pequeno demais durante a instalação
No hospedeiro, VirtualBox Manager, defina the Fator de Escalonamento da tela para 2.00 ou 3.00.
Convidado trava após iniciar o Xorg
Drivers com defeito ou em falta podem fazer com que o convidado congele após iniciar o Xorg, veja por exemplo [4] e [5]. Tente desativar a aceleração 3D em Configurações > Monitor e verifique se todos os drivers Xorg estão instalados.
Modo tela cheia mostra uma tela branca
Em alguns gerenciadores de janelas (i3, awesome), o VirtualBox tem problemas com o modo de tela cheia corretamente devido à barra de sobreposição. Para solucionar esse problema, desative a opção Exibir em modos Tela-Cheia/Seamless em Configurações do convidado > Interface do usuário > Minibarra de Ferramentas. Veja o relatório de erros do upstream para mais informações.
Se a tela do convidado ficar preta acima de um determinado tamanho (por exemplo, acima de 2048 pixels de largura), aumentar Configurações > Monitor > Tela > Memória de Vídeo pode ajudar.
Convidados Linux têm áudio lento/distorcido
O driver de áudio AC97 dentro do kernel Linux ocasionalmente adivinha as configurações erradas do relógio quando executado dentro do VirtualBox, levando a um áudio que está muito lento ou muito rápido. Para corrigir isso, crie um arquivo em /etc/modprobe.d/
com a seguinte linha:
options snd-intel8x0 ac97_clock=48000
Linux guests have slow/laggy audio
Em alguns casos, o áudio pode ter desempenho lento (por exemplo, atraso em relação ao vídeo ao transmitir vídeo online). Uma possível solução alternativa pode ser usar o controlador Intel HD Audio no VirtualBox e desativar sua economia de energia adicionando a seguinte linha em um arquivo em /etc/modprobe.d/
no sistema operacional convidado:
options snd_hda_intel power_save=0 power_save_controller=N
Arch: script pacstrap falhando
Se você usou pacstrap para também #Instalar os adicionais para convidado antes de executar uma primeira inicialização no novo convidado, você precisa umount -l /mnt/dev
como root antes de usar pacstrap novamente; uma falha em fazer isso o tornará inutilizável.
Hospedeiro Windows: VERR_ACCESS_DENIED
Para acessar a imagem não tratada VMDK em um hospedeiro Windows, execute a GUI do VirtualBox como administrador.
Nenhuma aceleração 3D de hardware no convidado Arch Linux
O pacote virtualbox-guest-utils a partir da versão 5.2.16-2 não contém o arquivo VBoxEGL.so
. Isso faz com que o convidado Arch Linux não tenha uma aceleração 3D adequada. Veja FS#49752.
Para lidar com esse problema, aplique o conjunto de correções em FS#49752#comment152254. Algumas correções no conjunto de correções são necessárias para que funcione na versão 5.2.16-2.
Plasma redefine a resolução do convidado para 800×600
Veja KDE#Cannot change screen resolution when running in a virtual machine.
Tela preta com instalação mínima do Plasma-X11
Se você usou a instalação mínima do plasma-desktop em vez do plasma (que inclui suporte para Wayland), então provavelmente você terá uma tela preta com cursor após iniciar a sessão do Plasma-X11.
Para corrigir isso, redimensione a janela do VirtualBox várias vezes e defina a resolução manualmente na própria janela do VirtualBox: Visualizar > Tela Virtual 1> Redimensionar para 1024x768 (ou outra resolução de sua preferência).
Abra no inicializador do KDE Configurações do sistema > Inicialização e desligamento > Serviços de segundo plano, pare e desmarque KScreen2 e salve as configurações. O problema deve desaparecer para sempre.