VirtualBox

VirtualBox: Instalação no Debian 11

> instale o suporte para acesso a repositórios por meio de HTTPS;
# apt-get install apt-transport-https

> configure o repositório em /etc/apt/sources.list;
deb https://download.virtualbox.org/virtualbox/debian bullseye contrib

> adicione a chave pública do VirtualBox;
$ cd /tmp
$ wget https://www.virtualbox.org/download/oracle_vbox_2016.asc
$ su -
# apt-ket add /tmp/oracle_vbox_2016.asc

> atualize a lista de pacotes e instale o VirtualBox
> setup para quem usa Apt::Install-Recommends "false";
# apt-get update
# apt-get install virtualbox-6.1 gcc make linux-headers-$(uname -r)

Assinar módulos do kernel para o SecureBoot.

# apt-get install mokutil
# mkdir /root/mok
# cd /root/mok
# openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER  \
              -out MOK.der -nodes -days 36500 -subj "/CN=VirtualBox/"
# chmod 600 MOK.priv
# mokutil --import MOK.der

Reinicie a máquina e digite a senha cadastrada ao no mokutil.

SIGNER=/usr/src/linux-headers-$(uname -r)/scripts/sign-file
test -x "${SIGNER}" || { echo "sign-file not found. Exiting..."; exit ;}

VBOXDRV_PATH=$(modinfo -n vboxdrv)
test -z "${VBOXDRV_PATH}" && { echo "vboxdrv module not found. Exiting..."; exit ;}

for modfile in $(dirname "${VBOXDRV_PATH}")/vbox*.ko; do
  echo "Signing $modfile"
  ${SIGNER} sha256 /root/mok/MOK.priv /root/mok/MOK.der "$modfile"
  if [ "${?}" == 0 ] ; then
    filename=${modfile##*/}
    modprobe ${filename%%.*}
  else
    echo "Error signing '${modfile##*/}'."
  fi
done

Use o script para assinar os módulos do virtualbox, após, carregue os módulos:

# modprobe vboxdrv
# modprobe vboxnetflt
# modprobe vboxnetadp

.

VirtualBox: Configurar resolução do console da VM

> verifique as resoluções suportadas para o console;
# apt-get install hwinfo
# hwinfo --framebuffer

> defina a resolução no arquivo /etc/grub/default
> a primeira opção define a resolução do grub a segunda aplica ao console da VM;
GRUB_GFXMODE=1024x768x24
GRUB_GFXPAYLOAD_LINUX=keep

> atualize as configurações do grub;
# update-grub

> reinicie a VM;
# reboot

.

VirtualBox: Apresentar USB para a VM (Atualizar Extension Pack)

# VBoxManage list extpacks
Extension Packs: 1
Pack no. 0:   Oracle VM VirtualBox Extension Pack
Version:      5.1.28
Revision:     117968
Edition:      
Description:  USB 2.0 and USB 3.0 Host Controller, Host Webcam, VirtualBox RDP, PXE ROM, Disk Encryption, NVMe.
VRDE Module:  VBoxVRDP
Usable:       true 
Why unusable:

> remova a versão anterior, se houver;
# VBoxManage extpack uninstall 'Oracle VM VirtualBox Extension Pack'
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Successfully uninstalled "Oracle VM VirtualBox Extension Pack".

> faça download do Extension Pack no site virtualbox.org
# VBoxManage extpack install /path/Oracle_VM_VirtualBox_Extension_Pack-5.1.28-117968.vbox-extpack

# adduser rei vboxusers
> faça logout/login após adicionar o usuário ao grupo 'vboxusers';

.

VirtualBox: Compactar disco .VDI

> Prepare a VM Linux com EXT4 - vdi será reduzida para o tamanho real
# dd if=/dev/zero of=/emptyfile bs=4096k
# rm /emptyfile

> Prepare a VM Linux com EXT3 - vdi mantém um tamanho um pouco maior que o real
# reboot
> clique 'e' para editar o grub
> adicione a final da linha do kernel: init=/bin/bash
> clique control+x para realizar o boot
# mount -n -o remount,ro /
# fsck -yf /dev/sda2
# zerofree /dev/sda2
# sync
# halt -f

> Prepare a VM Windows
# dfrg.msc
# sdelete –c C:

> Compacte a imagem do disco com a VM desligada
# VBoxManage modifyhd disk.vdi --compact

.

VirtualBox: Aumentar disco .VDI

> aumente o disco com a VM desligada
> valor em MegaBytes (40960 = 40GiB)
# VBoxManage modifyhd /caminho/completo/disk.vdi --resize 40960

> obter o Live-CD do Gparted e redimencionar a partição
> https://gparted.org/download.php

.

VirtualBox: Gerar novo UUID para disco .VDI

 

Regerar o UUID da imagem do disco é um procedimento necessário após a cópia da imagem do disco.

# VBoxManage internalcommands sethduuid /path/to/virtualdisk.vdi

.

VirtualBox: Registrar VM (importar arquivo .vbox)

 

Registar a vm é uma forma fácil de importar uma máquina virtual, basta copiar para outro computador o diretório da máquina virtual localizado no diretório /home/user/VirtualBox Vms.

> use o caminho completo do arquivo .vbox;
# VBoxManage registervm /home/user/VirtualBox\ Vms/full/path/to/the/file.vbox
Reinaldo Gil Lima de Carvalho é Analista Judiciário do TRT 8ª Região,
consultor do Debian GNU/Linux e organizador compulsivo do conhecimento.