Nessa dica vou mostrar como é possível fazer com que um pendrive com um sistema instalável (liveusb) dê boot normalmente no
VirtualBox. Coloque o pendrive na máquina, abra o
Terminal e digite:
lsblk
Deverá aparecer algo assim:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 111,8G 0 disk
--sda1 8:1 0 300M 0 part /boot/efi
--sda2 8:2 0 111,5G 0 part /
sdb 8:16 0 7,5G 0 disk
--sdb1 8:17 0 5,8M 0 part
--sdb2 8:18 0 4,2G 0 part /media/sidserra/openSUSE-Tumbleweed-DVD-x86_64
zram0 252:0 0 4G 0 disk [SWAP]
Nesse caso, a opção de pendrive é:
/dev/sdb 8:16 0 7,5G 0 disk
Então, de posse dessa informação, vamos digitar o seguinte comando:
sudo VBoxManage createmedium disk --filename=/home/usuario/arquivo.vmdk --variant=RawDisk --format=VMDK --property RawDrive=/dev/pendrive
onde
/nome/usuario/arquivo.vmdk seria o caminho do arquivo vmdk e
/dev/pendrive o dispositivo de pendrive. Então, em um exemplo do usuário
sidserra quer criar o arquivo vmdk com o nome de
opensuse.vmdk na sua pasta raiz usando o dispositivo
/dev/sdb dado pelo comando
lsblk, o comando ficaria:
sudo VBoxManage createmedium disk --filename=/home/sidserra/opensuse.vmdk --variant=RawDisk --format=VMDK --property RawDrive=/dev/sdb
Com o arquivo criado, deve-se dar o
chmod 777 ao mesmo; no nosso exemplo:
sudo chmod 777 /home/sidserra/opensuse.vmdk
Finalizada essa parte, vamos criar a máquina virtual conforme é de costume até chegar nessa janela:
Escolha a opção "
Utilizar disco rígido existente", clique no ícone à direita desse campo (uma pastinha laranja com uma seta verde para cima).
Clique em
Acrescentar e mostre ao programa o arquivo vmdk criado, escolhendo o mesmo.
Basta finalizar e rodar a máquina virtual. Mas antes disso, o usuário de verá digitar no Terminal:
sudo chmod 666 /dev/sdb
sendo que o pendrive esteja no caminho
/dev/sdb para que o VirtualBox consiga abri-lo sem dar erro de permissão.
o resto é o de sempre. Para facilitar a "criação" desses pendrives, disponibilizei um script que pode ser acessado no link
https://www.vivaolinux.com.br/script/Script-para-habilitar-um-pendrive-a-dar-boot-no-VirtualBox/
Observações
- 1- Sempre que for usar o pendrive para dar boot nessas condições, ele tem que estar "espetado" na porta usb da máquina host;
- 2- Quando for usar a máquina virtual nessas condições, o comando " sudo chmod 666 " deverá ser dado ao pendrive utilizado. Quando o pendrive é retirado essa permissão se perde;
- 3- Ao criar nomes para o arquivo, lembre-se de dar nomes diferentes mesmo se o pendrive for diferente. Se você der um nome já criado antes o comando retornará que o disco já existe pois ele vincula o nome do arquivo vmdk ao UUID de criação de disco. Dois nomes iguais geram o mesmo UUID e com isso o comando não vai sobrescrever o anterior.