VirtualBox: Como posso adicionar (montar) um arquivo de imagem ISO a partir da linha de comando?

17

Houve antes na VirtualBox linha de comando um comando com esta sintaxe:

VBoxManage controlvm <VM> dvdattach <filename>

Então, anexar (inserir) um CD / DVD foi tão fácil quanto:

VBoxManage controlvm "MyVM Windows 7" dvdattach MyDVD.iso

Mas agora esse comando desapareceu .
Eu venho navegando no Manual do VirtualBox e tudo o que eu encontrei são alguns comando storageattach , que se refere a alguns outros storagectl que não é conciso o suficiente (eu odeio docs sem exemplos), nenhum deles referindo-se a algo como arquivos .ISO .
Eu não consegui encontrar uma solução em seu próprio fórum , pelo menos nada além de ser ambíguo e not explicações concisas :

Once you have the controller in place with storagectl (or via the GUI), take a look at VBoxManage storageattach

Em vez de começar a testar aleatoriamente as opções, prefiro perguntar primeiro se alguém conseguiu fazer isso e poderia me ajudar.

    
por Sopalajo de Arrierez 14.04.2014 / 23:13

2 respostas

8

Primeiro, verifique se você tem alguma unidade de CD / DVD instalada, esteja ela vazia ou não (observe o uso do comando find para filtrar os resultados):

1.- Existe alguma unidade vazia de CD / DVD ?

C:\Oracle\VirtualBox>vboxmanage showvminfo "Windows 7 SP1 - SandBox 01" | find "empty" /i
SATA (1, 0): Empty

Parabéns, você encontrou uma unidade de CD / DVD vazia. Então você pode anexar seu ISO a ele, mas ...

... para enfrentar o pior cenário, vamos mostrar outra maneira de encontrar sua unidade de CD / DVD, se instalada:

2.- Localize o nome da sua VM :

C:\Oracle\VirtualBox>VBoxManage.exe list vms
"Windows 7 SP1 - SandBox 01" {e016fcf2-9b6e-4b8e-b89b-49a3c8ba0898}

3.- Listar seus controladores de armazenamento (observe o comando find para filtrar muitos dados de saída) (*):

C:\Oracle\VirtualBox>vboxmanage showvminfo "Windows 7 SP1 - SandBox 01" | find "storage controller name" /i
Storage Controller Name (0):            IDE
Storage Controller Name (1):            SATA

4.- Mostre seus dispositivos conectados :

C:\Oracle\VirtualBox>vboxmanage showvminfo "Windows 7 SP1 - SandBox 01" | find "IDE"
Storage Controller Name (0):            IDE

(este está vazio, portanto não há controladores de dispositivo, seja discos rígidos ou unidades de CD / DVD)

C:\Oracle\VirtualBox>vboxmanage showvminfo "Windows 7 SP1 - SandBox 01" | find "SATA"
Storage Controller Name (1):            SATA
SATA (0, 0): d:\VirtualBox VMs\Windows 7 SP1 - SandBox 01\SnapShots/{71b8bf72-dca1-4816-89ff-feba271ec262}.vmdk (UUID: 71b8bf72-dca1-4816-89ff-feba271ec262)
SATA (1, 0): Empty

SATA (0,0) tem um (a) disco virtual e SATA (1,0) está vazio (o primeiro número entre parênteses é conhecido como type , a segunda é device ), então deve ser a unidade de CD / DVD .

5.- Permite que anexar um arquivo de imagem ISO (Office 2013, por exemplo) a ele:

C:\Oracle\VirtualBox>vboxmanage storageattach "Windows 7 SP1 - SandBox 01" --storagectl "SATA" --port 1 --device 0 --type dvddrive --medium "Office2013-VL-SP1.iso"

(nenhum resultado na tela significa OK ).

$ - Para remover o ISO mantendo o controlador da unidade de CD / DVD:

C:\Oracle\VirtualBox>vboxmanage storageattach "Windows 7 SP1 - SandBox 01" --storagectl "SATA" --port 1 --device 0 --type dvddrive --medium "emptydrive"

$ - Para o caso, não há controlador de drive de CD / DVD "vazio" instalado, o VirtualBox deve adicionar um novo a um controlador existente, assumindo que escolhemos uma porta / dispositivo não ocupada, por exemplo, para o controlador SATA:

C:\Oracle\VirtualBox>vboxmanage storageattach "Windows 7 SP1 - SandBox 01" --storagectl "SATA" --port 5 --device 0 --type dvddrive --medium "Office2013-VL-SP1.iso"

(note que usamos a porta 5)
E para o controlador IDE:

C:\Oracle\VirtualBox>vboxmanage storageattach "Windows 7 SP1 - SandBox 01" --storagectl "IDE" --port 0 --device 0 --type dvddrive --medium "Office2013-VL-SP1.iso"

(note que usamos (0,0) , isto é, a primeira porta e o primeiro dispositivo)

$ - Se quisermos remover (destruir) (qualquer um dos) dispositivos (exemplo do último IDE):

C:\Oracle\VirtualBox>vboxmanage storageattach "Windows 7 SP1 - SandBox 01" --storagectl "IDE" --port 0 --device 0 --type dvddrive --medium "emptydrive"

(a imagem ISO é obtida ao mesmo tempo que executar este comando).

$ - Finalmente, se quisermos criar um novo controlador em vez de usar o (s) existente (s) (exemplo para um controlador SATA que nomearemos SATA3):

C:\Oracle\VirtualBox>vboxmanage storagectl "Windows 7 SP1 - SandBox 01" --name SATA3 --add sata

$ - E talvez removendo mais tarde:

C:\Oracle\VirtualBox>vboxmanage storagectl "Windows 7 SP1 - SandBox 01" --name SATA3 --remove

(*) Se o nome não for suficiente (poderia ter sido alterado) para descobrir que tipo de controlador é, tente:

C:\Oracle\VirtualBox>vboxmanage showvminfo "Windows 7 SP1 - SandBox 01" | find "storage controller" /i
Storage Controller Name (0):            IDE
Storage Controller Type (0):            PIIX4
Storage Controller Instance Number (0): 0
Storage Controller Max Port Count (0):  2
Storage Controller Port Count (0):      2
Storage Controller Bootable (0):        on
Storage Controller Name (1):            SATA
Storage Controller Type (1):            IntelAhci
Storage Controller Instance Number (1): 0
Storage Controller Max Port Count (1):  30
Storage Controller Port Count (1):      2

Como podemos ver, o controlador denominado IDE (# 0) é um dispositivo PIIX4 (IDE) e o denominado SATA (# 1) é um IntelAhci (SATA).

NOTA: controladores IDE aceitam arquivos de imagem possíveis em 4 configurações: (0,0), (0,1), (1,0) e (1,1). Escolha o que não está ocupado. Os controladores SATA aceitam 30. Esses parâmetros podem ser configurados nas propriedades da VM. Lembre-se de que, em ambos os casos, a contagem começa em 0 , não 1 .

NOTA 2: Alguns dispositivos podem ser criados durante a execução da VM (em execução), dependendo do sistema operacional e do dispositivo. Por exemplo, dispositivos SATA podem ser criados em tempo de execução para VMs do Windows 7. De qualquer forma, um arquivo de imagem ISO CD / DVD pode sempre ser inserido em tempo de execução em qualquer mídia vazia. Você pode verificar executando vms fazendo:

C:\Oracle\VirtualBox>vboxmanage list runningvms

Obrigado a @ and31415 e @DanielB pelos seus comentários e informações.

    
por 17.04.2014 / 23:27
20

Gerenciar o controlador IDE

Caso a VM não tenha um controlador IDE, você pode usar o comando storagectl para adicionar um:

VBoxManage.exe storagectl "<uuid|vmname>" --name IDE --add ide

Anexar um arquivo de imagem de disco

Aqui está uma sintaxe de exemplo que você pode usar para anexar um arquivo de imagem de CD / DVD:

VBoxManage.exe storageattach "<uuid|vmname>" --storagectl IDE --port 0 --device 0 --type dvddrive --medium "X:\Folder\containing\the.iso"

Desanexar um arquivo de imagem de disco

Para desanexar um arquivo de imagem, a sintaxe é semelhante: basta substituir o caminho do arquivo por "none" . O parâmetro --type pode ser omitido:

VBoxManage.exe storageattach "<uuid|vmname>" --storagectl IDE --port 0 --device 0 --medium "none"

Leitura adicional

por 15.04.2014 / 00:12