VirtualBox (Português)/Install Arch Linux as a guest (Português)

From ArchWiki
Status de tradução: Esse artigo é uma tradução de VirtualBox/Install Arch Linux as a guest. Data da última tradução: 2024-01-02. Você pode ajudar a sincronizar a tradução, se houver alterações na versão em inglê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:

Dica:
  • 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).

Nota: A partir do VirtualBox 5.2, 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.

Nota: Nem o parâmetro do kernel 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:

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

Note: A montagem automática requer que o vboxservice.service esteja habilitado/iniciado.

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).

Então instale kscreen.

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.