Coisas para experimentar:
De acordo com o Manual do FreeBSD §21.6 .3: VirtualBox ™ Host DVD / CD Access …
HAL needs to run for VirtualBox™ DVD/CD functions to work
Assim você precisa…
enable it in
/etc/rc.conf
and start it if it is not already running
Isso é feito adicionando hald_enable="YES"
ao seu arquivo /etc/rc.conf
e, em seguida, executando
# service hald start
Isso é um acréscimo ao requisito de que o usuário precise de acesso a /dev/xpt0
, /dev/cdN
e /dev/passN
, que, de acordo com a mesma seção do manual, "geralmente são atingidos tornando o usuário membro de operator
", e corrigindo as permissões do dispositivo" adicionando estas linhas a /etc/devfs.conf
"
perm cd* 0660
perm xpt0 0660
perm pass* 0660
e (para que o sistema faça uso dessas mudanças) reiniciando o devfs
service
# service devfs restart
Se, depois de tudo isso, sua VM ainda não iniciar quando estiver conectada à sua unidade de CD / DVD, considere seguir este conselho (tirado do mesma página como acima):
If needed, create an empty IDE CD/DVD device first. Then choose the Host Drive from the popup menu for the virtual CD/DVD drive selection.
Se você não pode usar o 'menu pop-up' mencionado, acho que (a partir da leitura da documentação) o seguinte deve ser o equivalente na linha de comando:
-
Com a VM desligada: conecte um dispositivo de CD / DVD IDE virtual vazio
VBoxManage storageattach MyVM --storagectl "SATA Controller" --port 1 --device 0 --type dvddrive --medium emptydrive
-
Inicialize sua VM:
VBoxManage startvm MyVM
-
Enquanto a VM ainda está em execução: Mude para o uso da unidade host
VBoxManage storageattach MyVM --storagectl "SATA Controller" --port 1 --device 0 --type dvddrive --medium host:/dev/cd0
Infelizmente, ainda pode não funcionar:
Parece que pode haver um bug no VirtualBox que está impedindo que isso funcione no seu sistema. Sugiro que o problema seja relatado aos desenvolvedores do VirtualBox no Bugtracker do projeto.
Solução alternativa:
Até que esse problema seja resolvido, recomendo que você trabalhe com o problema criando um arquivo ISO a partir do (s) disco (s) físico (s) para uso com o VirtualBox. (Algumas pessoas podem preferir isso de qualquer maneira.)
-
Leia o tamanho do bloco e do volume do disco para que você possa criar um ISO perfeito (esse passo não é realmente necessário , mas um ISO feito sem ele terá uma soma de verificação diferente do arquivo ISO original usado para criar o CD devido a "Um par de blocos de dados nulos no final", mais o tamanho do volume pode ser útil posteriormente.
isoinfo -d -i /dev/cd0 | grep -i -E 'block size|volume size'
Você terá uma saída semelhante a esta:
Logical block size is: 2048 Volume size is: 327867
-
Use
dd
para copiar o conteúdo do disco-
dd if=/dev/cd0 of=<cd name>.iso bs=<block size from step 1> count=<volume size from step 1>
Por exemplo, farei um ISO chamado "MyVirtualCD.iso" no disco de exemplo acima:
dd if=/dev/cd0 of=MyVirtualCD.iso bs=2048 count=327867
- Se você pulou a etapa 1, apenas deixe
bs
ecount
da seguinte forma:
dd if=/dev/cd0 of=MyVirtualCD.iso
Seu ISO ainda funcionará bem, ele terá apenas alguns "blocos de dados zero" desnecessários no final. - Se você estiver usando uma nova versão de
dd
, ele poderá ser compatível com a exibição do status adicionandostatus=progress
à linha de comando acima -
Se você estiver usando uma versão mais antiga de
dd
ou desejar um indicador de progresso mais atraente, instalepv
via " A coleção de portes " ou " FreshPorts ", e canaliza add
output através depv
para ver as estatísticas e, como sabemos o tamanho do volume da etapa 1, uma barra de progresso precisa:
dd if=/dev/cd0 | pv -s <volume size from step 1> | dd of=<cd name>.iso
No nosso exemplo, isso seria o seguinte:
dd if=/dev/cd0 of=MyVirtualCD.iso | pv -s 327867 | dd of=MyVirtualCD.iso
-
-
Agora você pode anexar o ISO à VM e inicializá-lo:
-
VBoxManage storageattach MyVM --storagectl "SATA Controller" --port 1 --device 0 --type dvddrive --medium /path/to/MyVirtualCD.iso
-
VBoxManage startvm MyVM
- Além disso, se você inicializar sua VM com ela configurada para usar a mídia
emptydrive
mencionada anteriormente, a unidade de CD virtual vazia estará disponível para você usar o mesmo comandostorageattach
enquanto a VM estiver em execução para trocar seus CDs virtuais sempre que quiser.
-
Fontes:
Manual do FreeBSD , VBoxManage docs , Thomas-Krenn Wiki , Pergunte ao Ubuntu por "phoibos"