[virtual-machine] 가상 디스크의 UUID를 어떻게 변경합니까?

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

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

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

이 오류가 발생합니다.

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

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



답변

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

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

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


답변

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

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

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

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

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


답변

한 시스템에서 다른 시스템으로 디스크 (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에서 실행


답변

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

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


답변

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

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

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


답변

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

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

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

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


답변

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