기존 가상 머신과 동일한 UUID를 가진 VM 구성을 열려고합니다.


26

동일한 소스에서 원래 (간단한 파일 복사를 통해) 복사 된 두 개의 VirtualBox 가상 머신을 추가하려고하면 두 번째 가상 머신을 추가 할 때 메시지가 표시됩니다.

Failed to open virtual machine [...]
Trying to open a VM config [...] which has the same UUID as an existing virtual machine.

(예, 머신은 단순한 파일 복사 대신 복제되어야하지만 지금은 너무 늦습니다.)

답변:


40

당신은 사용할 수 VBoxManage internalcommands sethduuid <VDI/VMDK file>는 업데이트되지 않습니다 다음 HD UUID를 변경 (설치 디렉토리 중 VBOX에서 실행을)하지만,이 두 가지 단점을 가지고 .vbox나는 VBoxManage 함께 할 수있는 방법을 찾을 수 없습니다 (파일을, 그리고 기계 UUID를 변경하지 않습니다 ), HD UUID뿐입니다.

다음은 나를 위해 일했습니다 (Win 7, 최신 VirtualBox 버전).

  1. VBoxManage internalcommands sethduuid <VDI/VMDK file> 두 번 실행 하십시오 (처음으로 UUID를 편리하게 생성하는 것이므로 다른 UUID 생성 방법을 대신 사용할 수 있음)
  2. 열기 .vbox텍스트 편집기에서 파일을
  3. UUID를가 발견 대체 <Machine uuid="{...}"당신이 실행했을 때받은 UUID와 함께 sethduuid처음으로
  4. UUID를가 발견 대체 <HardDisk uuid="{...}"하고에 <Image uuid="{}"당신이 실행하면 UUID와 (끝 부분) 당신이있어 sethduuid두 번째 시간

그 후에 가상 머신을 추가 할 수 있습니다. 매우 깨끗한 해결책은 아니지만 문제를 일으키지 않는 것 같습니다.


1
이것은 나를 위해 일했지만 수동으로 복사하는 VM에 DVD를 넣었습니다. .vbox 파일을 편집 할 때 중복 UUID가있는 DVD를 "꺼내기" 로 변경 <DVDImages>...</DVDImages>해야했습니다 <DVDImages />.
JPhi1618

VM에 스냅 샷이있는 경우 "Snapshots"폴더의 vdi 파일에 대해서도 동일한 단계를 수행해야합니다.
laurent

6

더 간단한 방법을 찾았습니다.

기존 가상 머신을 복제하십시오. 이것은 아마도 새로운 uuid를 가진 새로운 버전을 만들지 만 다른 모든 측면에서 동일한 머신입니다.

그런 다음 추가하려는 항목을 \ user (사용자 이름) \ Virtual Box VMs \ (또는 가상 머신의 위치)에 복사하고 기존 머신을 대체하기 위해 기존의 모든 파일을 덮어 씁니다.

기존 시스템을 먼저 백업하기 위해 백업하기 만했지만 여기서는 제대로 작동했습니다. 기존 버전을 복제본으로 유지하면서 VM의 이전 백업으로 돌아가는 데 사용되었습니다.


디스크 공간이 충분하면 Robert가 가장 쉬운 방법입니다.
sddk

이 중 하나가 수행되면 vbox 파일에 시스템 uuid :: <hardware uuid = "{...}">와 일치하는 하드웨어 uuid 태그가 있는지 확인해야합니다. 하드 디스크 uuid 및 시스템 uuid를 어떤 문제. <hardware uuid = "{...}">
StixO

2

나는 이것이 오래된 게시물이라는 것을 알고 있지만이 오류에 부딪쳤다. 나는 그것을 해결했다 :

  1. 가상 박스 관리자 열기
  2. Virtual Box Manager에서 가상 머신을 마우스 오른쪽 버튼으로 클릭하십시오.
  3. "제거"를 클릭하십시오
  4. 팝업이 나타납니다. Virtual Box Manager에서 가상 트레이스의 모든 흔적을 간단히 제거하는 "Remove only"를 선택하십시오.
  5. 가상 상자 관리자를 닫습니다
  6. Linux 파일 관리자를 사용하여 가상 머신이 포함 된 폴더를 찾으십시오.
  7. .vmdk 가상 하드 디스크 파일을 제외한 모든 항목 삭제 (또는 이동)
  8. 가상 박스 관리자 열기
  9. "기계"를 클릭하십시오
  10. "신규"를 클릭하십시오
  11. 새 컴퓨터의 이름을 지정합니다 (원래 사용했던 것과 같은 이름을 사용했습니다)

    참고 : 시스템 이름은 가상 시스템을 포함 할 디렉토리의 이름이되므로 현명하게 선택하고 .vmdk 파일을 새 디렉토리에 상주 시키려면 Virtual Box에서 추가 단계를 수행해야합니다. 매니저

  12. 문제가 발생한 가상 머신에 적합한 유형 및 버전을 선택하고 "다음"을 클릭하십시오.
  13. 가상 머신이 할당 할 메모리 크기를 선택하고 "다음"을 클릭하십시오.
  14. "사용 및 기존 가상 하드 디스크 파일"을 선택하고 해당 위치를 찾아서 선택하십시오
  15. "만들기"를 선택하십시오

거기의 지시를 따르고 가상 머신을 시작하십시오.

창문 등을 다시 활성화 할 필요없이 모든 것이 잘 작동합니다.


1

기존 머신을 복제 한 다음 설정으로 이동하고 스토리지를 변경하여 이전에 복사 한 .vmdk를 사용할 수도 있습니다.


1

이 오류로 인해 시작할 수 없으면 'Oracle VM VirtualBox Manager'에서 해당 항목을 '제거 ...'하십시오 . 이렇게하면 충돌이 사라지고 새 위치에서 VM을 열 수 있습니다.

...이 시점에서 복제본을 원하는대로 수행 할 수 있습니다. 필자의 경우 VM의 원래 위치가 더 이상 필요하지 않기 때문에 추가 노력이 필요하지 않았습니다.


이것은 가장 간단한 해결책이며 그뿐만 아니라 작동합니다.
shmu

-1

사용자 TGR이 제대로 얻었지만 추가 변경이 필요했습니다 .vbox XML에서 하드 디스크 uuid (명령 줄에서 생성 된 두 번째 UUID)와 일치하도록 Image uuid를 변경해야했습니다.

<StorageControllers>
   <StorageController ...>
     <AttachedDevice ...>
       <Image uuid="{ [second UUID] }"/>

-1

다른 방법보다 간단한 방법을 찾았습니다. Virtual Box 인터페이스에서 가상 머신 만 삭제해야합니다 (VM 파일을 삭제할지 묻는 메시지가 표시되면 응답하지 않습니다! 또는 VM을 잃게됩니다). 그런 다음 .vbox 파일로 이동하여 파일을 엽니 다 (가상 상자 사용). VM을 삭제하면서 UUID를 삭제했기 때문에 작동합니다. 적어도 그것은 나를 위해 일했다 ...

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.