Inicialização via USB no VirtualBox

Publicado por Natanael Henrique em 14/11/2012

[ Hits: 25.336 ]

Blog: http://linuxcounter.net/user/533836.html

 


Inicialização via USB no VirtualBox



O VirtualBox tem várias opções de boot, porém, falta a inicialização por dispositivos USB. E o objetivo desta dica é mostrar como fazer esta configuração.

O VirtualBox não inicializa diretamente pelo dispositivo USB, então será necessário mapeá-lo como uma imagem de disco e montá-lo no VirtualBox.

Estou considerando que você já tenha o VirtualBox instalado e configurado. Também estou considerando que o seu dispositivo USB já está com o boot funcionando em uma máquina real.

Primeiro você precisa conectar o dispositivo USB (cartão de memória, pendrive, HD externo etc). Quando conectá-lo, o GNU/Linux provavelmente o montará automaticamente.

Identifique qual o nome atribuído ao seu dispositivo.

Você pode utilizar o comando:

# fdisk -l

Obs.: "L" minúsculo.

E terá um resultado parecido com o exemplo abaixo:

    Disk /dev/mmcblk0: 1948 MB, 1948254208 bytes
    4 heads, 16 sectors/track, 59456 cylinders, total 3805184 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x000c4e4e

    Device Boot      Start    End     Blocks    Id     System
    /dev/mmcblk0p1     2048    3805183  1901568    c      W95 FAT32 (LBA) 

Atente para o fato de que seu dispositivo pode ser identificado com um nome diferente, então substitua conforme o caso.

Desmonte-o:

# umount /dev/mmcblk0p1

Dê permissão de leitura e gravação ao dispositivo que você vai usar:

# chmod 666 /dev/mmcblk0

Agora, como usuário comum, mapeie o arquivo:

VBoxManage internalcommands createrawvmdk -filename /home/seu_usuario/.VirtualBox/usb.vmdk -rawdisk /dev/mmcblk0

A opção '-filename' indica o local e nome do arquivo a ser criado, e poderá ser mudado a seu critério.

Agora você pode usar este arquivo como um disco virtual. Para utilizá-lo, você deve adicionar um disco à sua controladora SATA ou IDE e informar o arquivo criado.

* Advirto que esta dica pode ser utilizada ainda para inicializar sistemas que estão em outras partições do seu disco, devendo, neste caso, usar a identificação da partição em vez do disco como um todo.

É isso pessoal.

Qualquer dúvida, crítica ou sugestão, deixem nos comentários.

Outras dicas deste autor

Como extrair e instalar pacotes '.deb' sem o DPKG

Grub2 não detecta Windows [Resolvido]

Ctrl+Alt+F1 no VirtualBox

Escondendo o hostname no GDM

Escolhendo que partição SWAP usar

Leitura recomendada

Livro Squid, solução definitiva

Colocar um descanso de tela como plano de fundo da área de trabalho (XFCE)

Instalando KDE 3.3 no Mandrake 10

Rails + Apache = mod_rails

Primeiro ano da Linux Magazine disponível para download

  

Comentários
[1] Comentário enviado por romuloff em 29/08/2012 - 13:05h

Boa tarde!
Após seguir os passos, no qual abaixo está o resultado de cada comando, ao criar o disco de inicialização no virtual box não encontra o arquivo usb.vmdk no diretório .VirtualBox. Dentro deste diretório está arquivos com extensão .log, .xml, e .dat


1° Passo: comando fdisk -l

Disco /dev/sda: 250.1 GB, 250059350016 bytes
255 cabeças, 63 setores/trilhas, 30401 cilindros, total de 488397168 setores
Unidades = setores de 1 * 512 = 512 bytes
Tamanho do setor (lógico/físico): 512 bytes / 512 bytes
Tamanho da E/S (mínimo/ideal): 512 bytes / 512 bytes
Identificador do disco: 0x63bdc1b6

Dispositivo Boot Início Fim Blocos Id Sistema
/dev/sda1 * 2048 2461695 1229824 7 HPFS/NTFS/exFAT
/dev/sda2 2461696 272109194 134823749+ 7 HPFS/NTFS/exFAT
/dev/sda3 467916800 488396799 10240000 7 HPFS/NTFS/exFAT
/dev/sda4 272109566 467916799 97903617 5 Estendida
/dev/sda5 272109568 464007167 95948800 83 Linux
/dev/sda6 464009216 467916799 1953792 82 Linux swap / Solaris

Partições lógicas fora da ordem do disco

Disco /dev/mapper/cryptswap1: 2000 MB, 2000683008 bytes
255 cabeças, 63 setores/trilhas, 243 cilindros, total de 3907584 setores
Unidades = setores de 1 * 512 = 512 bytes
Tamanho do setor (lógico/físico): 512 bytes / 512 bytes
Tamanho da E/S (mínimo/ideal): 512 bytes / 512 bytes
Identificador do disco: 0xab786b2f

O disco /dev/mapper/cryptswap1 não contém uma tabela de partições válida

Disco /dev/sdb: 1967 MB, 1967128576 bytes
255 cabeças, 63 setores/trilhas, 239 cilindros, total de 3842048 setores
Unidades = setores de 1 * 512 = 512 bytes
Tamanho do setor (lógico/físico): 512 bytes / 512 bytes
Tamanho da E/S (mínimo/ideal): 512 bytes / 512 bytes
Identificador do disco: 0xcad4ebea

Dispositivo Boot Início Fim Blocos Id Sistema
/dev/sdb4 * 63 3842047 1920992+ 6 FAT16

2° Passo: umount /dev/sdb4

3° Passo: VBoxManage internalcommands createrawvmdk -filename ~/.VirtualBox/usb.vmdk -rawdisk /dev/sdb4

RAW host disk access VMDK file /root/.VirtualBox/usb.vmdk created successfully.

[2] Comentário enviado por n4t4n em 31/08/2012 - 16:45h

Olá Rômulo, primeiramente quero lhe dar as boas vindas ao Viva o Linux.

O problema que você está enfrentando (e que iria enfrentar caso não tivesse tido esse) se deve a dois aspectos:

1 - Os dois primeiros comandos usados na dica são como usuário root (Veja o # antes do comando), já o terceiro passo, que é para criar o arquivo usb.vmdk, é passado como usuário comum (Observe o $ antes do comando). Desse modo o arquivo deve ser criado dentro do seu home (~) na pasta oculta do VirtualBox (iniciada por .) com o nome de usb.vmdk (seguindo o exemplo da dica).

Nesse ponto, se você observar, verá que o terceiro comando foi usado como root e portanto o arquivo foi criado em /root/.VirtualBox/usb.vmdk, porém normalmente executamos o VirtualBox como usuário comum que não tem acesso à pasta root.

2 - O exemplo da dica usa um cartão de memória que é identificado por mmcblk0 tendo sua primeira partição identificada como mmcblk0p1.

No seu caso o dispositivo é identificado por /dev/sdb e a partição por /dev/sdb4.

Observe que na dica não é indicado a partição e sim o dispositivo, então, no seu caso, o correto seria você indicar /dev/sdb apenas.

Qualquer dúvida estou por aqui.

Abraço.

[3] Comentário enviado por Carlos_Cunha em 02/11/2012 - 17:24h

Opa amigo Funcionou!
Porém tive que dar permissão chmod 777 /dev/pendrive para funcionar estava acusando erro de permissão
Abraço


Fonte: http://mesbalivernes.blogspot.com.br/2008/01/virtual-box-booting-from-existing.html

[4] Comentário enviado por n4t4n em 14/11/2012 - 14:02h

Obrigado Carlos.

A dica foi atualizada com a sua contribuição.

Continue contribuindo com a comunidade. Esse é o maravilhoso trabalho colaborativo.

Abraço e sucesso.

[5] Comentário enviado por alvir218 em 14/01/2020 - 00:43h

obs...

o diretório aqui é:
/home/USUARIO/.config/VirtualBox

é melhor criar uma nova maquina virtual com o disco virtual usb.vmdk depois de criar a imagem de disco virtual.

mudar a uuid da imagem pode ser útil

VBoxManage internalcommands sethduuid "/home/USUARIO/VirtualBox VMs/usb.vmdk" COLOCAR-ID-AQUI



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts