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:
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.
[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] 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.
# vboxmanage internalcommands createrawvmdk -filename /media/backup/VirtualBox\ VMs/Slackware/pendriveboot.vmdk -rawdisk /dev/sdc1
RAW host disk access VMDK file /media/backup/VirtualBox VMs/Slackware/pendriveboot.vmdk created successfully.
Could not open the medium '/media/backup/VirtualBox VMs/Slackware/pendriveboot.vmdk'.
VD: error VERR_ACCESS_DENIED opening image file '/media/backup/VirtualBox VMs/Slackware/pendriveboot.vmdk' (VERR_ACCESS_DENIED).
Código de Resultado:
NS_ERROR_FAILURE (0x80004005)
Componente:
MediumWrap
Interface:
IMedium {4afe423b-43e0-e9d0-82e8-ceb307940dda}