Como inicializar a partir de uma unidade USB no VirtualBox?

58

A questão é simples e direta:

Como inicializar a partir de um drive USB no VirtualBox?

EDITAR :

Anexei usb ao VirtualBox, conforme mostrado na captura de tela.

Mas não é possível inicializar a partir de uma unidade USB, mesmo quando estiver conectado (referência) .

Por isso, gostaria de saber se existe alguma outra possibilidade de arrancar a partir de uma unidade USB?

    
por Ravan 04.11.2015 / 06:16

6 respostas

73

O próprio VirtualBox não suporta a inicialização de um dispositivo USB. Para inicializar a partir de um dispositivo USB, é necessário outro gerenciador de inicialização. As etapas abaixo fornecem uma maneira possível de realizar isso:

  1. Faça o download do Plop Boot Manager (atualmente v5.0.15)
  2. Extraia o arquivo plpbt.iso do arquivo ZIP e salve-o em algum lugar.
  3. Abra as configurações da máquina virtual e anexe o arquivo ISO:

  4. Adicione um filtro ao dispositivo USB:

  5. Inicialize a VM e selecione a opção "USB" no menu:

Se tudo correu bem, a máquina deve inicializar a partir do dispositivo USB.

    
por Nathan Osman 04.11.2015 / 06:24
40

EDIT: 7 de março de 2018

Algo a se notar aqui. Deixar a unidade USB no computador quando você reinicializar pode alterar a designação da letra da unidade /dev/sd , fazendo com que o arquivo usb.vmdk bruto aponte para a unidade incorreta, para que não inicialize no VirtualBox. Como teste, deixei um no meu sistema. Foi /dev/sdi antes de reiniciar, após a reinicialização foi /dev/sdc . Quando você reiniciar o computador para quaisquer alterações, remova a unidade USB antes de reinicializar. Estou investigando se o disco bruto pode ser criado a partir do UUID da unidade, pois isso não será alterado.

Como o VirtualBox não inicializa em unidades USB, você pode criar um arquivo .vmdk que aponte para a sua unidade USB para inicializá-lo.

OBSERVAÇÃO: você DEVE adicionar sua conta de usuário ao grupo vboxusers do VirtualBox para ver seu USB. Você também deve adicionar sua conta ao grupo disk , ou não pode adicionar o arquivo .vmdk à sua máquina virtual. Adicionadas instruções abaixo em EDIT . Isso também não copia a unidade USB para o disco rígido e usa o USB diretamente. Isso pode ser útil se houver persistência no USB que você deseja manter. Nem todas as situações são iguais, o que pode não funcionar em todos os casos.

Primeiro, você precisa ter seu USB criado em seu sistema e determinar qual é a unidade física. Vamos supor que sua unidade está montada como /dev/sdb1 . Então, a unidade física seria /dev/sdb .

Em seguida, digite o seguinte em uma janela de terminal para criar o arquivo .vmdk que aponta para a unidade USB:

sudo vboxmanage internalcommands createrawvmdk -filename  ~/usb.vmdk -rawdisk /dev/sdb

Ou

sudo VBoxManage internalcommands createrawvmdk -filename  ~/usb.vmdk -rawdisk /dev/sdb

Então você deve ver algo parecido com isto:

RAW host disk access VMDK file /home/ravan/usb.vmdk created successfully.

Observação: algumas pessoas tiveram problemas de propriedade do arquivo recém-criado. Apropriar-se do novo arquivo:

sudo chown $USER:$USER ~/usb.vmdk

Em seguida, tudo o que você precisa fazer é adicionar o arquivo .vmdk à sua VirtualBox Virtual Machine e garantir que você possa inicializá-lo.

EDITAR:

Para adicionar seu usuário ao grupo vboxusers , execute o seguinte comando:

sudo usermod -a -G vboxusers username

Para adicionar seu usuário ao grupo disk , execute o seguinte comando:

Nota: Adicionar seu usuário ao grupo de discos pode ser perigoso e um risco de segurança. É tão perigoso quanto ter acesso ao sudo para gravar em um disco bruto.

sudo usermod -a -G disk username

Então você DEVE REINICIAR o seu sistema para que as alterações entrem em vigor.

Antes da reinicialização:

Após a reinicialização:

Espero que isso ajude!

    
por Terrance 04.11.2015 / 06:46
11

Eu vim para este post há poucos dias. Eu não quero usar o Gerenciador de Inicialização Plop, porque meu pendrive USB já está inicializável.

Então, tentei apontar o pendrive para um disco VMDK (como na resposta Terrance) criando vboxmanage internalcommands createrawvmdk -filename ~/usb.vmdk -rawdisk /dev/sdb

Infelizmente, isso se recusou a funcionar ... Eu chmod e chown o usb.vmdk disco, e por isso consegui anexá-lo a uma VM, mas isso simplesmente não funcionou.

Por fim, tentei outra solução e esta funcionou perfeitamente. Aqui está (graças a Gean Santos pela pesquisa):

  1. Insira o pendrive e identifique-o (o meu é /dev/sdb , executando o Sabayon Linux);
  2. Crie um disco .vmdk convertendo o dispositivo bruto (ou seja, o pendrive) em um disco do VirtualBox

    sudo VBoxManage convertfromraw /dev/sdb ./usb.vmdk --format vmdk
    
  3. Agora você tem um disco usb.vmdk criado a partir do seu pendrive inicializável. Eu tentei também dd o stick USB para um arquivo de imagem e criar o disco .vmdk do arquivo de imagem. Ele funciona, assim como .vdi disks criou o primeiro caminho (ou do arquivo de imagem)

  4. Agora, conceda permissões ao disco criado para que o VirtualBox possa acessar o arquivo. Apenas significa alterar o proprietário do arquivo para um usuário que esteja no grupo vboxusers . Se a sua instalação do VirtualBox está rodando OK, então este proprietário provavelmente seria você:

    sudo chown 'whoami':'whoami' ./usb.vmdk
    
  5. Agora, basta anexar o disco usb.vmdk a uma máquina virtual. Mas deve ser anexado a um controlador IDE . Eu tentei SATA sem sucesso.

Neste ponto, você está bem.

Basta inicializar a nova VM, pressionar F12 e escolher a unidade inicializável.

Aproveite!

    
por Marcio H Zuchini 14.10.2016 / 20:57
6

A solução mais fácil é copiar o conteúdo da chave USB para um arquivo iso (bem, da próxima vez eu vou baixar a iso na máquina certa, não precisa de uma chave USB em primeiro lugar)

dd if=/dev/sdc of=myusbkey.iso

E, em seguida, adicione este .iso como uma unidade óptica nas configurações do VirtualBox, em Storage, Controller: IDE (ou SATA, eu acho).

Não é necessário criar um arquivo .vmdk, o VirtualBox suporta arquivos .iso.

    
por David Faure 13.11.2016 / 11:00
1

Eu não queria rodar o Virtualbox como root. Eu não queria que meu usuário fosse do grupo de discos, com permissões completas para todos os discos.

Então, aqui está o que eu pude trabalhar:

Descubra o que é o memory stick. Nas instruções a seguir, é sdc .

  • Desmontar cartão de memória

    su
    chmod 666 /dev/sdc1
    chmod 666 /dev/sdc
    VBoxManage internalcommands createrawvmdk -filename usb.vmdk -rawdisk /dev/sdc
    chmod 777 usb.vmdk
    chmod 666 /dev/sdc
    
  • Anexe a máquina virtualbox usb.vmdk

    chmod 666 /dev/sdc
    
  • Iniciar máquina virtualbox
  • Após terminar, redefina a permissão sdc1 para segurança:

    chmod 660 /dev/sdc1
    

Acima, você pode ver que eu tive que redefinir as permissões para o cartão de memória algumas vezes, porque ele seria colocado de volta na raiz toda vez.

Estou usando o Mandriva Linux, mas deve ser o mesmo no Ubuntu

    
por Wayne Sallee 11.05.2016 / 21:37
1

Sugiro os seguintes passos.

  1. Abra discos.
  2. Procure o USB.
  3. Clique aqui e, no canto superior direito, você verá um ícone de configurações com três linhas paralelas.
  4. Clique aqui e escolha Criar imagem de disco ...
  5. Selecione o local e clique em Criar . Ele irá criar um arquivo .img que você pode usar no VirtualBox.
por Madhurjya Dasgupta 22.02.2017 / 10:17