VirtualBox Não é possível registrar o disco rígido já existe

151

Eu criei um arquivo de disco virtual VM_1_Ubuntu.vdi . Então eu mudei para outra pasta. Tentei atualizar as configurações da VM (clique com o botão direito na máquina virtual -> configurações -> armazenamento -> guia SATA do controlador, caminho VM_1_Ubuntu.vdi ). Eu queria definir um novo caminho.

Ele diz que Não é possível registrar o disco rígido já existe

Yan Khonski
fonte

Respostas:

220

Eu encontrei uma solução

Arquivo -> Virtual Media Manager -> Removidas imagens existentes (observe, eu as removi apenas do registro).

Eu segui esses passos.

http://www.webdesignblog.asia/software/virtualbox-moving-vdi-file-re-linking-guest/#sthash.1QOHeiw5.dpbs

Depois disso, eu poderia atualizar o caminho nas configurações da VM.

Yan Khonski
fonte
2
Se a unidade em que o disco foi armazenado não estiver disponível, primeiro libere o disco (Ctrl + L) da VM e o botão Excluir (Ctrl + D). Caso contrário, antes de liberar o disco, você não poderá excluir. Depois disso, siga as etapas no link acima ou abra "Configurações" da máquina virtual, vá em "Armazenamento", clique em "Adicionar anexo", selecione "Adicionar disco rígido" e "Escolha o disco existente", depois selecione o arquivo vdi e você estão feitos.
Syed Nasir Abbas
1
você precisa excluir todos os instantâneos para que o botão remover não fique acinzentado.
Rishi
150

É possível alterar o UUID no arquivo VDI usando o comando:

 VBoxManage internalcommands sethduuid <file.vdi>

Parece que este comando atribui um novo UUID "aleatório" ao arquivo. Porém, não há muita documentação.

O Empalador
fonte
2
Perfeito para minhas necessidades (o redimensionamento de um disco rígido virtual não estava funcionando sem movê-lo).
shiri 11/09/17
3
O VBoxManage é um exe que, para mim, estava em "C: \ Arquivos de Programas \ Oracle \ VirtualBox", portanto, basta executar a partir de uma janela do cmd.
Giles
1
Essa é a solução ideal quando você tem uma imagem do SO base e deseja fazer uma instalação para instalar vários aplicativos em cópias da base sem precisar alterar a própria base.
Jersey_Guy
Ajudou-me a redimensionar uma unidade
Zumteufel 7/09/19
Essa solução também resolveu uma situação em que eu havia copiado a VM para outro local, removido o original do VirtualBox e tentando compactar o disco. O comando: $ VBoxManage modifymedium Windows \ 7 \ Professional.vdi --compact O erro: VBoxManage: error: Não é possível registrar o disco rígido '/ Users / c / VMs do VirtualBox / Windows 7 Professional / Windows 7 Professional.vdi' {a510ee0d- 2cef-47db-b25f-acae9e341d45} porque já existe um disco rígido '/ Volumes / ramdisk / Windows 7 Professional / Windows 7 Professional.vdi' com UUID {a510ee0d-2cef-47db-b25f-acae9e341d45}
Zahnon
27
  1. Selecione Arquivo no Oracle VM VirtualBox Manager
  2. Virtual Media Manager
  3. Remova o arquivo (destacado em amarelo) da guia Discos rígidos.
Syed Nasir Abbas
fonte
7

Se não houver possibilidade de remover ou alterar o caminho para um arquivo de disco rígido usando o Virtual Media Manager (no meu caso), então:

  1. Abra os arquivos ' .vbox' e ' .vbox-prev' (se existir) em qualquer editor de texto.
  2. Edite o atributo 'location' do elemento 'HardDisk' no seu caminho, por exemplo: "d: /VM/VirtualBox/Win10/Win10.vmdk" ( captura de tela ).
Oleg Tatarchuk
fonte
4

Em alguns casos, primeiro é necessário liberar e remover e adicionar novamente via Virtual Media Manager

Stefan Georgiev
fonte
3

1 - Abra os arquivos '.vbox' e '.vbox-prev' (se existir) em qualquer editor de texto e substitua o primeiro caractere do HardDisk uuid (observe a reversão dessa alteração na etapa 6)

Exemplo: nano /home/virtualbox/WindowsServer/WindowsServer.vbox

Mudança:

<HardDisks>
        <HardDisk uuid="{3ebaa9b6-8318-4b81-b853-8f30dd278bdc}" location="/home/virtualbox/WindowsServer/WindowsServer.vdi" format="VDI" type="Normal"/>

Para:

<HardDisks>
        <HardDisk uuid="{2ebaa9b6-8318-4b81-b853-8f30dd278bdc}" location="/home/virtualbox/WindowsServer/WindowsServer.vdi" format="VDI" type="Normal"/>

2 - Reinicializar a máquina

4 - Parar máquina virtual (se iniciado)

5 - No terminal:

su vbox
cd /home/virtualbox/WindowsServer/
VBoxManage modifyhd WindowsServer.vdi --resize SIZE
exit
exit

altere SIZE para um número em megabytes, por exemplo, 80000 (80GB)

6 - Abra novamente os arquivos '.vbox' e '.vbox-prev' (se existir) em qualquer editor de texto e substitua o primeiro caractere do HardDisk uuid pelo valor original

Exemplo: nano /home/virtualbox/WindowsServer/WindowsServer.vbox

Mudança:

<HardDisks>
        <HardDisk uuid="{2ebaa9b6-8318-4b81-b853-8f30dd278bdc}" location="/home/virtualbox/WindowsServer/WindowsServer.vdi" format="VDI" type="Normal"/>

Para:

<HardDisks>
        <HardDisk uuid="{3ebaa9b6-8318-4b81-b853-8f30dd278bdc}" location="/home/virtualbox/WindowsServer/WindowsServer.vdi" format="VDI" type="Normal"/>

7 - Reinicie a máquina

Lucas Catani
fonte
3

Eu realmente aprecio as sugestões aqui. Os comentários do Empalador e do Oleg me ajudaram a juntar minha solução.

Use a CLI do VBoxManage. Há um comando modifymedium com uma --setlocationopção.

Sugiro abrir a GUI do VBox (no VM VirtualBox Manager 6.0)
- selecione "Virtual Media Manager" (usei o menu Arquivo)
- selecione o botão "Informações" do disco que está causando esse erro
- copie o UUID
Nota: removi o controlador da configuração "Armazenamento" antes da próxima etapa.
- abra o prompt de comando e navegue até o local do arquivo .vdi.
É uma boa idéia digitar VBoxMange para ver uma lista de opções, mas este é o comando a ser executado:

VBoxManage modifymedium[insira o tipo de mídia aqui] [UUID] --setlocation[caminho completo para o arquivo .vdi]

Por fim, reconecte o controlador a qualquer VM - de preferência a que você deseja corrigir.

C Marshall
fonte
0

A solução que funcionou para mim é a seguinte:

  1. Verifique se o VirtualBox Manager não está em execução.
  2. Faça backup dos arquivos ~\.VirtualBox\VirtualBox.xmle ~\.VirtualBox\VirtualBox.xml-prev.
  3. Edite esses arquivos para modificar a <HardDisks>...</HardDisks>seção para remover a entrada duplicada de <HardDisk />.
  4. Agora execute o VirtualBox Manager.

Exemplo:

  <HardDisks>
    <HardDisk uuid="{38f266bd-0959-4caf-a0de-27ac9d52e3663}" location="~/VirtualBox VMs/VM1/box-disk001.vmdk" format="VMDK" type="Normal"/>
    <HardDisk uuid="{a6708d79-7393-4d96-89da-2539f75c5465e}" location="~/VirtualBox VMs/VM2/box-disk001.vmdk" format="VMDK" type="Normal"/>
    <HardDisk uuid="{bdce5d4e-9a1c-4f57-acfd-e2acfc8920552}" location="~/VirtualBox VMs/VM2/box-disk001.vmdk" format="VMDK" type="Normal"/>
  </HardDisks>

Observe no fragmento acima que as duas últimas entradas se referem à mesma VM, mas têm diferentes uuids. Um deles é inválido e deve ser removido. Qual deles é inválido pode ser encontrado por acerto e tentativa - primeiro remova a segunda entrada e tente; se não funcionar, remova a terceira entrada.

Sanjeev Sachdev
fonte
0

Depois de lutar por muitos dias, finalmente encontrei uma solução que funciona perfeitamente.

O Mac OS abre a pasta ~ / Library (no seu diretório pessoal) e exclua a pasta VirtulBox. Isso removerá todas as configurações e você poderá iniciar a caixa virtual novamente!

Outros procuram a pasta .virtualbox no seu diretório pessoal. Remova-o e abra o VirtualBox para resolver seu problema.

Felicidades!!

Lasithds
fonte