가상 디스크의 UUID를 어떻게 변경합니까?


131

이미 존재하는 하드 디스크를 사용하여 Oracle VirtualBox로 새 가상 머신을 만들려고합니다. 기존 하드 디스크 파일 인 .vhd 파일을 선택하려고하면 UUID가 이미 존재하므로 가상 하드 디스크를 사용할 수 없다는 오류가 표시됩니다.

그래서 UUID를 변경하기 위해 다음 명령을 시도했습니다.

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

이 오류가 발생합니다.

구문 오류 : 잘못된 UUID 매개 변수

이 문제를 어떻게 해결할 수 있습니까?


1
공백 문자가있는 경로는 이미 발견 한대로 큰 따옴표로 묶어야합니다.
— AB

답변:


171

올바른 명령은 다음과 같습니다.

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

가상 디스크의 경로에는 공백이 포함되므로 두 개의 매개 변수로 구문 분석되지 않도록 큰 따옴표로 묶어야합니다.


25
VirtualBox에 UI를 변경하거나 창을 변경하여 창을 변경할 수 있기를 바랍니다.
— fedmich

1
파일 경로의 공간으로 인해 따옴표가 필요합니다.
— Chris Stryczynski

VirtualBox UI가 이미 알려진 디스크를 열려고 할 때 새 UUID를 생성하는 옵션을 제공하면 좋을 것입니다. 솔직히 나는 실제로 디스크 관리자를 사용하지 않고 오히려 VirtualBox가 가상 디스크를 파일 경로로 처리하고 관리하고 추적하는 리소스처럼 취급하려고하지 않습니다.
— jrh

34

다음은 나를 위해 일했습니다.

  1. 실행 VBoxManage의 internalcommands는 "VDI / VMDK 파일"sethduuid 두 번을 (처음으로 편리하게 UUID를 생성하는 그냥 대신 다른 UUID 생성 방법을 사용할 수 있습니다)

  2. 텍스트 편집기에서 .vbox 파일을 엽니 다

  3. UUID를가 발견 대체 UUID = "{...}"기계 는 sethduuid 실행할 때 UUID를 당신이있어 처음

  4. UUID를가 발견 대체 UUID = "{...} '저장 판 과의 이미지 UUID ="{} " 당신은 당신이 두 번째 시간을 sethduuid 실행했을 때받은 UUID와 (끝으로)


1
이 답변은 가상 머신을 복사하려는 사람 (나 포함)에게 더 도움이된다고 생각합니다.
— cbuchart

1
궁금해-왜 기계 UUID를 변경해야 했습니까? 한 컴퓨터에서 다른 컴퓨터로 vmdk 디스크를 복사하려면 필요하지 않습니다.
— 올렉 Gryb

1
동일한 머신에서 가상 디스크를 복사하는 경우 머신 uuid를 변경해야합니다.
— borchvm

1
내 경우에 완벽하게 작동했습니다-감사합니다! Machine UUID를 조정할 필요가 없었습니다.
— 벤코

1
@FabrizioBertoglio는 대답이 있기를 바랍니다. 그러나 해당 파일을 편집하려면 모든 종류의 vbox 서비스를 중지해야합니다. 그렇지 않으면 동일한 ole이됩니다. 또한 구성 파일 맨 아래에있는 SATA 하드 디스크 용 UUID <연결된 장치>가 구성 파일 맨 위의 하드 드라이브 섹션에있는 하드 디스크의 UUID와 일치하는지 확인하십시오. 이 작업을 수행하기 전에 <Hardware UUID = myMachineUUID>도 추가하려고합니다.
— Ken

12

한 시스템에서 다른 시스템으로 디스크 (vmdk 파일)를 복사하고 사본에서 디스크의 UUID를 변경해야하는 경우 다른 응답에서 제안한대로 시스템 UUID를 변경할 필요가 없습니다.

디스크 이미지에 새 UUID를 지정하기 만하면됩니다.

VBoxManage internalcommands sethduuid your-box-disk2.vmdk
UUID changed to: 5d34479f-5597-4b78-a1fa-94e200d16bbb

이전 UUID를 * .vbox 파일의 두 곳에 새로 생성 된 UUID로 바꿉니다.

<MediaRegistry>
  <HardDisks>
    <HardDisk uuid="{5d34479f-5597-4b78-a1fa-94e200d16bbb}" location="box-disk2.vmdk" format="VMDK" type="Normal"/>
  </HardDisks>

그리고

    <AttachedDevice type="HardDisk" hotpluggable="false" port="0" device="0">
      <Image uuid="{5d34479f-5597-4b78-a1fa-94e200d16bbb}"/>
    </AttachedDevice>

그것은 VirtualBox ver에서 나를 위해 일했습니다. 5.1.8 Mac OS X El Capitan에서 실행


당신 말이 맞을 것입니다. 지시에 따라 하드 디스크 file -> Virtual Media Manager가 올바른 UUID로 시스템 설정과 시스템 설정 모두에 올바르게 표시 되더라도 UUID 쿼리 실패 오류가 계속 발생합니다
— Fabrizio Bertoglio

사건이 무엇인지 잘 모르겠습니다. 위에서 설명한 것은 정확히 내가 한 일이며 VB 5.1.8이 설치된 Mac에서 나를 위해 일했습니다.
— Oleg Gryb

나는 다음과 같은 단계에 따라 문제를 해결 한 : 1. re-installing virtual box using synaptic package manager다음 2. In the virtual box machine configuration, I did not disable the Floppy disk and EFI Setting. I kept them enabled.문제가 수정되었습니다.
— Fabrizio Bertoglio

@OlegGryb 호스트 OS 및 게스트 OS에 따라 달라질 수 있습니다.
— Ken

11

문제를 해결했지만 비슷한 문제가있는 다른 사람들의 이유를 여기에 게시합니다.

그 이유는 경로 (디렉토리 이름 VirtualBox VMs)에 명령을 구분 하는 공백이 있기 때문입니다 . 따라서 오류가 나타납니다.


11

MAC OS에 대한 답변을 웹에서 검색 했으므로 해결책은 다음과 같습니다.

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

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

1
정말 도움이되었습니다 !!
— Addo Solutions

6

폴더 이름 중 하나에 공백이있어 명령이 실패합니다 (예 : 'VirtualBox VMs').

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

폴더 이름 또는 파일 이름에 공백이 없으면 명령을 인용하지 않아도 (예 : 'VirtualBox VMs'를 'VBoxVMs'로 변경 한 후) 명령이 작동합니다

VBoxManage internalcommands sethduuid /home/user/VBoxVMs/drupal/drupal.vhd

4

이 질문이 오래되었지만 Windows 시스템의 가상 HDD에서 UUID를 변경하면 Windows가 디스크를 인식하는 것처럼 활성화되지 않은 시스템으로 간주하여 재 활성화를 요구합니다.


4

Windows x64 용 @ Al3x와 동일한 솔루션 cmd.exe:

cd %programfiles%\Oracle\VirtualBox

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

이것은 디스크의 UUID를 무작위 화합니다. 전문가 팁 : Shift 키를 누른 상태에서 .vdi 파일을 마우스 오른쪽 단추로 클릭하고 "경로로 복사"를 선택 "full/path/to/.vdi"하여 cmd.exe에서 빠른 편집을 수행 한 다음 마우스 오른쪽 단추를 클릭하여 붙여 넣기하십시오.


2

원래 솔루션의 또 다른 대안 \은 공백 앞에 이스케이프 문자를 사용하는 것입니다 .

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