Inicialização via USB no VirtualBox
Dica publicada em Linux / Miscelânea
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:
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.
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.
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.