virtual-machine - vboxmanage - virtualbox uuid already exists ubuntu




Como faço para alterar o UUID de um disco virtual? (6)

Eu estou tentando criar uma nova máquina virtual com o Oracle VirtualBox, usando um disco rígido já existente. Quando tento selecionar o arquivo de disco rígido existente, um arquivo .vhd, ele exibe um erro informando que o disco rígido virtual não pode ser usado porque o UUID já existe.

Então eu tentei o seguinte comando para alterar seu UUID.

VBoxManage internalcommands sethduuid /home/user/VirtualBox VMs/drupal/drupal.vhd

Eu recebo este erro.

Erro de sintaxe: parâmetro UUID inválido

Como posso resolver isto?


Embora você tenha resolvido o problema, acabei de postar a razão aqui para outras pessoas com o mesmo problema.

A razão é que há um espaço em seu caminho (nome do diretório VirtualBox VMs ) que separará o comando. Então o erro aparece.


Eu pesquisei na web por uma resposta sobre o MAC OS, então ... a solução é

cd /Applications/VirtualBox.app/Contents/Resources/VirtualBoxVM.app/Contents/MacOS/

VBoxManage internalcommands sethduuid "full/path/to/vdi"

Mesmo que esta pergunta seja antiga, note que mudar um UUID em um HDD virtual em um sistema Windows fará com que o Windows o trate como uma máquina não ativada (pois percebe a mudança no disco) e solicitará reativação!


O comando correto é o seguinte.

VBoxManage internalcommands sethduuid "/home/user/VirtualBox VMs/drupal/drupal.vhd"

O caminho para o disco virtual contém um espaço, portanto, ele deve ser colocado entre aspas duplas para evitar que seja analisado como dois parâmetros.


O seguinte funcionou para mim:

  1. execute vboxManage internalcommands sethduuid "Arquivo VDI / VMDK" duas vezes (a primeira vez é apenas para gerar convenientemente um UUID, você pode usar qualquer outro método de geração de UUID)

  2. abra o arquivo .vbox em um editor de texto

  3. substitua o UUID encontrado em Machine uuid = "{...}" pelo UUID que você obteve quando executou o sethduuid pela primeira vez

  4. substitua o UUID encontrado no disco rígido uuid = "{...}" e em Image uuid = "{}" (no final) com o UUID que você obteve quando executou o sethduuid pela segunda vez


Outra alternativa para sua solução original seria usar o caractere de escape \ antes do espaço:

VBoxManage internalcommands sethduuid /home/user/VirtualBox\ VMs/drupal/drupal.vhd