VirtualBox 파일을 이동하는 방법?


165

기본적으로 VirtualBox는 모든 데이터를 홈 디렉토리 아래의 디렉토리에 저장합니다. 변경 방법을 알고 있지만 VirtualBox.xml을 수동으로 편집하지 않고 기존 이미지의 위치를 ​​어떻게 변경할 수 있습니까?

Windows에서 작업 중이며 NTFS 링크를 사용하고 싶지 않습니다 .


4
Awww, symlinks를 제안하려고했지만 (
The

2
Windows의 링크는 전혀 신뢰하지 않습니다. NTFS는 가능하지만 Windows XP는 그에 대해 아무것도 알지 못하며 이미 충분한 문제가 있습니다. 나는 불필요하게 겁쟁이일지도 모른다…
maaartinus

아, 그래요. XP에서는 다루지 않겠습니다. 그러나 7에 대한 지원은 매우 견고합니다. 여전히 cmd 라인에서 빌드해야하지만 실제로 그다지 중요하지는 않습니다. Vista에 대해 잘 모르겠습니다 ...
DMA57361

더 나쁜 것은, XP 버전의 NTFS는 하드 링크를 지원하지만 볼륨을 확장 할 수는 없다는 것 입니다. 분명히 데이터를 다른 파티션으로 옮기고 싶었습니다.
maaartinus

하드 링크가 없습니다 이제까지 볼륨에 걸쳐 만 심볼릭 링크가 할 수있는 (그리고 이런 종류의 사용할 수 있습니다, 내 사용자 폴더는 모든 예를 들어 제 2의 HDD에 심볼릭 링크되어 있습니다). 그러나 개인적으로 XP에서는 하드 링크를 피할 수 있습니다 (옵션이더라도).
DMA57361

답변:


137

모든 VM을 완전히 새로운 위치로 옮기려면 다음 두 가지 회신을 따라야합니다.

게시물을 여기에 복사 :

  1. VirtualBox를 종료하고 .VirtualBox \ VirtualBox.xml 파일을 백업하십시오.
  2. 기존 "Virtualbox VMs"폴더를 찾아 내용이있는 전체 폴더를 새 드라이브 E로 복사 (이동하지 않음)하십시오.
  3. VirtualBox를 실행 한 다음 각 VM에 대해 차례로 다음을 수행하십시오.

    3.1 VM 이름을 마우스 오른쪽 버튼으로 클릭하고 팝업 메뉴에서 "제거"를 선택하십시오. "물리적으로 파일을 삭제 하시겠습니까?" 질문.

    3.1b UI에서 VM을 제거한 후 VirtualBox를 닫고 백그라운드 VBoxSVC 작업이 시간 초과되고 종료 될 수있을 정도로 오랫동안 닫힌 상태로 두어야합니다. 그런 다음 VirtualBox 앱을 다시 시작하고 Machine | Add를 사용하여 이전 단계에서 제거 된 VM을 다시 추가 할 수 있습니다.

    3.2 Machine | Add .. 메뉴 항목을 선택하고 E : 드라이브의 VMs 새 위치로 이동 한 다음 .vbox 파일을 선택하십시오.

    3.3. 나머지 VM에 대해 반복하십시오.

  4. File | Preferences에서 기본 시스템 경로를 "E : \ VirtualBox VMs"로 설정하십시오.
  5. 각 VM을 테스트하십시오. 모두 작동하는지 확인한 후에 만 ​​이전 VM 포함 폴더를 삭제하십시오 (예 : "C : \ VirtualBox VMs"삭제).

연결된 클론 시스템에 대해이 작업을 수행하면 시작되지 않습니다.
Nam G VU

1
.VirtualBox\VirtualBox.xml파일 을 편집하고 찾기 / 바꾸기를 수행 하여 각 하드 디스크 및 스냅 샷 이미지의 경로를 업데이트해야했지만 나에게 도움이되었습니다 . 또한에 포함 된 모든 파일이 아닌 MachinesHardDisk폴더 만 이동했습니다. .VirtualBox모든 전역 구성 및 로깅이기 때문입니다.
Dave Andersen

4
Mac OS X 사용자의 경우 VirtualBox.xml에 있습니다 ~/Library/VirtualBox/VirtualBox.xml. VM은에 있습니다 ~/VirtualBox VMs.
Siu Ching Pong -Asuka Kenji-

2
Virtual Box 4.3.0+는 "Last Important Thing"을 해결 했으므로 명령 을 닫을 필요조차 없습니다 .
PCaetano

명령 행 "version"도 추가 할 수 있습니다. 1)을 통해 기존 VM을 나열 VBoxManage list vms합니다. 2) 중괄호 안에있는 VM 이름 옆에 해당 UUID가 참조됩니다. 관심있는 것을 복사하십시오. 자세한 내용은을 통해 검색 할 수 있습니다 VBoxManage showvminfo UUID. 3)을 통해 관심있는 VM을 등록 취소합니다 VBoxManage unregistervm UUID. 4) 관심있는 VM의 디렉토리를 이동하십시오. 5) 마지막으로 VBoxManage register NameOfVM.vboxNameOfVM은 .vbox등록 할 VM 파일 의 실제 이름을 의미합니다 .
Nikos Alexandris

58

몇 개의 VM 만 있었으며 VirtualBox의 기본 저장소 위치를 변경 한 다음 VM을 복제 할 수 있다는 것을 알았습니다. 내가 원했던 새로운 HD의 새로운 위치에서 생성 된 클론. 모든 것이 그대로 유지되고 스냅 샷이 생성되며 가상 HD의 위치를 ​​다시 매핑 할 필요가 없습니다.


3
+1 이것이 최선의 방법이라고 생각합니다. VirtualBox는 깔끔한 작은 번들로 모든 것을 이동시킵니다.
Dave Andersen

3
이것이 가장 좋은 방법이며 수동 cfg 편집이 필요하지 않습니다
Bojan Bjelic

어떻게합니까 ???
FlipFloop

이건 정말 허용 대답해야한다
theV0ID

1
경고 : 복제는 완벽한 복사본을 생성하지 않으며 컴퓨터 / 디스크 ID가 변경 될 때 설치된 소프트웨어의 라이센스를 업데이트해야 할 수도 있습니다. VM에서 이전 Quicken 사본을 새 디스크로 이동할 때이 문제가 발생했습니다.
MZB

36

가장 쉬운 방법은 가상 머신을 제거하고 해당 설정을 제거 할 필요가 없습니다.

  1. Virtualbox VM 폴더를 새 드라이브에 복사하십시오.

  2. Virtual Box Machine Manager를 실행하십시오. 매체 관리자 파일-> 가상 매체 관리자를 실행하십시오.

    2a. 스토리지를 이동할 VM을 선택하십시오. 해제 단추를 클릭 한 다음 제거 단추를 클릭하십시오. 다음 대화 상자에서 가상 드라이브를 제거하거나 유지할 수 있습니다. Virtualbox Machine Manager에서 관리자를 닫습니다.

  3. 미디어를 방금 제거한 VM을 선택하고 설정 버튼을 클릭 한 다음 스토리지 섹션을 클릭 하십시오. 미디어 용 컨트롤러 (일반적으로 SATA)를 추가 한 다음 하드 드라이브를 추가하고 기존 디스크를 선택하고 새 위치에서 VD를 선택하십시오.

  4. 이동중인 각 머신에 대해 반복

새 위치에서 가상 머신을 시작하여 확인하십시오. 다음에 Virtual Media Manager 를 방문하면 VM 항목 위로 마우스를 가져 가면 VD가 저장된 위치가 표시됩니다.

스냅 샷 폴더를 사용중인 경우 새 드라이브를 가리 키도록 변경하십시오. 각 머신에는 스냅 샷 폴더 설정이 있으며 VM 관리자는 파일-> 설정에서 기본 머신 폴더 설정 도 변경해야합니다.

또한 XML 파일의 경로도 수정해야했습니다. 그 후 그것은 완벽하게 작동했습니다.

참고 : 이 내용이 작성된 후 약간 변경되었습니다 .Rob의 답변을 참조하십시오. 지금은 매우 간단합니다.


2
나는 이것이 가장 쉬운 방법이라고 생각합니다.
Peter Perháč

17

훨씬 간단합니다. 1) 새 위치로 이동 2) 가상 상자 메뉴에서 마우스 오른쪽 버튼으로 제거 3) 컴퓨터 메뉴에서 '추가'를 선택하십시오. 4) '가상 컴퓨터 정의'유형의 8kb 파란색 아이콘을 찾으십시오. 그것을 선택하면 가상 상자 목록에 추가됩니다. 가상 머신을 두 번 클릭하면 작동합니다.


이보다 더 간단한 방법은 VM을 VirtualBox에 다시 추가하려는 경우 *.vbox해당 폴더 에서 파일을 클릭하면 됩니다.
Joel Mellon

2
3 년 동안 상황이 어떻게 변하는가? 그들이 이것을 볼 수 있도록 내 대답에 메모를 추가했습니다.
Fiasco Labs

1
이것은 실제로 더 높아야합니다. 나는 장난을 치며 작동시키지 못했습니다. UI에서 "액세스 할 수없는"파일을 제거한 다음 .vbox 파일을 두 번 클릭하여 새 위치를 사용하여 다시 추가했습니다.
wenbert

Linux 호스트에서 작동하지 않습니다. 이 오류 발생 : 전원을 켜기 전에 VM 세션이 닫혔습니다. 결과 코드 : NS_ERROR_FAILURE (0x80004005) 구성 요소 : SessionMachine 인터페이스 : ISession {7844aa05-b02e-4cdd-a04f-ade4a762e6b7}
최대 N

1
이 개념의 "제거"부분은 잘못된 설정처럼 느껴지지만 설정이 손실되는 것은 아닙니다. 이 방법은 모든 설정을 유지하며 내가 시도한 모든 방법 중 가장 쉬운 방법입니다. Windows 7 및 Windows Sever 2016 게스트와 함께 Windows 10 호스트에서 작동했습니다.
Night Owl

13

Mac에서이 파일의 경로를 편집하십시오.

/Users/pleddy/Library//VirtualBox/VirtualBox.xml

그것은 쉬웠다, 프레스토!


3
그는 Windows를 사용하고 있으며 VirtualBox.xml을 편집하고 싶지도 않습니다.
ChrisN

4
맥에 있다면이 질문은 여전히 ​​엉망이기 때문에 이것은 나에게 도움이되었습니다.
NReilingh

나는 맥 사용자이고 구글이 여기에 착륙 했고이 솔루션은 가장 단순하고 완벽하게 이해되고 나를 위해 일했습니다 :)
Mohit Singh

나는 리눅스에 있고이 답변의 소리를 좋아했지만 파일 상단의 경고에 의해 연기되었습니다. 여전히 XML을 직접 편집하는 것이 좋습니다? 경고는 다음과 같습니다. **이 파일을 편집하지 마십시오. VirtualBox 관련 응용 프로그램이 실행되는 동안이 파일을 변경하면 변경 사항이 적용되지 않고 나중에 덮어 씁니다. VBoxManage 또는 VirtualBox Manager GUI를 사용하여 변경하십시오. **
craq

11

아치 리눅스에서 Virtualbox 5.0.12를 사용 하여이 문제에 하루 종일 낭비한 후 마침내 thomthom의 답변이 제안하는 방식으로 해결되었습니다. 정확한 절차를 잘 모르는 경우 전체 머신을 복제하는 명령 (스냅 샷 포함)은 다음과 같습니다.

VBoxManage clonevm --mode all --basefolder </new/path/> --register <VM_to_clone>

로 VM의 이름을 얻습니다.

VBoxManage list vms

필요한 경우 경로와 이름을 인용하십시오.

마지막으로 모든 것이 정상인지 확인하고 원본을 제거하십시오.

그게 다야. xml 파일이나 16 진 편집기를 신경 쓸 필요가 없습니다. GUI를 사용할 필요도 없습니다.

http://www.virtualbox.org/manual/ch08.html#vboxmanage-clonevm


이것은 나를 위해 일한 유일한 대답이었습니다. 더 높아야합니다.
Max N

2
VM_to_cloneVM의 UUID 또는 이름입니다. UUID를 사용하여 주어진 명령으로 디렉토리가에 만들어졌으며 /new/path/_<UUID>_ Clone포함 파일도 _<UUID>_ Clone이름으로 사용 되었습니다. 더 나은 이름을 명시 적으로 나타내려면 --name "Your preferred name here"플래그를 사용하십시오 .
Rob W

... 및 CLI를 통해 원래 VM을 제거하려면 VBoxManage unregistervm UUID(를 통해 얻은 VM의 UUID , 원래 이름을 유지하는 데 VBoxManage list vms사용 --name하는 경우 동일한 이름을 가진 여러 개의 VM이 있으므로 VM 이름 을 사용하지 마십시오 )
Rob W

경고 : 복제는 완벽한 복사본을 생성하지 않으며 컴퓨터 / 디스크 ID가 변경 될 때 설치된 소프트웨어의 라이센스를 업데이트해야 할 수도 있습니다. VM에서 이전 Quicken 사본을 새 디스크로 이동할 때이 문제가 발생했습니다.
MZB


4

루카스 Pottersky의에서와 동일한 기능을 수행 할 대답 하지만, 명령 줄 (Windows의 대체를 통해 vboxmanage함께 VBoxManage.exe) :

  1. 모든 가상 머신을 나열하십시오.

    vboxmanage list vms
    

    또는 단지 실행 중 :

    vboxmanage list runningvms
    

    각 머신마다 이름과 UUID가 출력됩니다.

    이동할 각 머신에 대해 다음 단계를 수행하십시오.

  2. 정상적으로 종료하십시오 :

    vboxmanage controlvm UUID acpipowerbutton
    
  3. 등록 취소 :

    vboxmanage unregistervm UUID
    
  4. 가상 머신 폴더를 새 위치로 이동하십시오.

  5. .vbox파일 경로를 제공하여 다시 등록 하십시오.

    vboxmanage registervm /path/to/machine.vbox
    

2

이것은 VirtualBox의 MacOS 릴리스 (릴리스 4.1.12)에서도 효과적이었습니다. 다시 시작하기 전에 VirtualBox가 종료 될 때까지 5-10 초 동안 기다렸습니다. Activity Monitor에서 VBoxSVC가 올바르게 종료되었는지 확인했습니다.

이 작업을 수행하지 않으면 다음과 같은 오류가 발생합니다 (Windows에서 온 다른 사람의 오류 메시지를 복사하여 붙여 넣는 중입니다). 이 오류가 발생하면 VirtualBox를 종료하지 않았거나 VBoxSVC가 종료 될 때까지 오래 기다렸 기 때문입니다.

Failed to open virtual machine located in E:/<path>/<machine_name>/<machine_name>.vbox.

Cannot register the hard disk 'E:\<path>\<machine_name>\Snapshots/{0ece4bff-9185-4cff-9069-b3d1f4536394}.vdi' {0ece4bff-9185-4cff-9069-b3d1f4536394} 
because a hard disk 'C:\<path>\<machine_name>\Snapshots/{0ece4bff-9185-4cff-9069-b3d1f4536394}.vdi' with UUID {0ece4bff-9185-4cff-9069-b3d1f4536394} already exists.

Result Code: E_INVALIDARG (0x80070057)
Component: VirtualBox
Interface: IVirtualBox {c28be65f-1a8f-43b4-81f1-eb60cb516e66}

2

VirtualBox v4.3.14가 설치된 OS X에서는 .vbox새 위치에서 파일을 두 번 클릭하기 만하면 VirtualBox가 열리고 사용 가능한 VM 목록에 추가되었습니다.


답변으로 "감사합니다"를 추가하지 마십시오. 대신 도움이되는 답변에 투표하십시오.
Scott

내 대답은 '감사합니다'가 아닙니다. 더 명확하게 표현하기 위해 문구를 편집했습니다. 감사.
Tyson Phalp

2

VirtualBox의 설정에 기본 저장 위치가 있습니다. http://mattvelic.com/default-vm-location/

이제 죽었어 웨이 백 머신에는 다음과 같은 내용이 있습니다.

http://web.archive.org/web/20131116130725/http://mattvelic.com/default-vm-location

... 파일 메뉴에서 기본 설정을 확인하십시오. 보다! 일반 탭의 첫 번째 항목은 기본 컴퓨터 폴더입니다. http://web.archive.org/web/20131116130725im_/http://54.225.211.105/wp-content/uploads/2012/11/VB_Preferences.png 스토리지 드라이브를 가리 키도록 위치를 편집하고 빠르게 VM. 이번에는 VirtualBox가 올바른 위치에 머신 파일과 VDI를 모두 생성했습니다. 여기서 실제 교훈은 때때로 솔루션이 기술적 인 것이 필요하지 않다는 것입니다. 우리는 IT 전문가로서 문제에 대한 답변이 복잡 할 것이라고 생각하는 경향이 있습니다. 확실한 해결책을 위해 눈을 뜨십시오!


이 링크는 이제 죽었습니다. 답변으로 링크를 게시하지 마십시오. 그들이 죽을 때, SU는 청소를 위해 부스러기로 남습니다.
mrtsherman

archive.org의 내용으로 업데이트 됨
Rebecca

1

나는 이것이 가능하다고 생각하지 않습니다.

VDI를 새로운 위치로 옮길 수는 있지만 XML 수정을 피할 수는 없다고 생각합니다. 대안으로 (그러나 실제로는 XML 에디션과 동일) GUI를 사용하여 새 가상 머신을 생성하고 디스크로 이동 된 이미지를 선택하면 필요에 적합합니까?


1
XML을 다시 살펴본 결과 실제로 매우 간단합니다. 설정을 유지하고 싶기 때문에 새 컴퓨터를 만드는 것은 좋지 않습니다 (변경 한 내용이 기억 나지 않습니다. 중요하지 않을 수도 있습니다).
maaartinus

1

원래 방법 (VDI 제거, 새 사본 첨부)을 시도하고 이전 방법이 여전히 존재한다는 메시지가 표시되어 OS를 다시 시작해도 새 사본을 첨부 할 수 없었습니다 (Mac OS X El Capitan).

수정 사항은 메뉴 / 파일 / 가상 미디어 관리자에있었습니다. 기존 VDI를 제거하십시오. 스냅 샷이 있어도 작동합니다. 모든 스냅 샷 VDI를 역순으로 제거하십시오. VirtualBox를 닫았다가 다시 열 필요가 없습니다.


0

나는 Windows에서 virtualbox를 사용하지 않았지만 우분투에서는 VDI를 이동하고 virtualbox GUI에서 VM을 마우스 오른쪽 버튼으로 클릭하고 Configuration Menu-> storage를 사용하여 VDI 지역화를 파일 이동 위치로 변경할 수 있습니다. 다른 머신 파일 정의와 관련하여 해당 머신 파일을 이동하고 GUI에서 환경 설정으로 이동하여 기본 머신 디렉토리의 위치를 ​​이동 한 디렉토리로 변경합니다.


0

이 방법을 사용합니다.

  1. VirtualBox GUI에서 VM을 선택하고 연결된 HDD를 제거하십시오.
  2. 파일 (예 : vdi)을 새 위치로 복사
  3. 명령 vboxmanage internalcommands sethduuid "my path to myhdd.vdi"6912BF7F-13BB-4E70-A2CA-C92300FEC3DC를 사용하여 새 위치에서 .vdi에 대한 새 UUID를 생성하십시오.

    (이전 예제에서는 고유 한 UUID를 사용하거나 전혀 추가하지 마십시오. 명령이 자동 생성됩니다. 또한이 단계를 생략하면 새 위치에서 .vdi를 추가 할 때 UUID가 이미 존재한다는 오류가 표시됩니다. ).

  4. 이제 VirtualBox GUI로 돌아가서 VM을 선택하고 Setttings / Storage에서 HD (.vdi 파일)를 새 위치에서 연결합니다.

그리고 완료.


-1

Oracle VM VirtualBox (버전 6.0.4로 테스트)에서 VM을 종료하고 VirtualBox Manager에서 VM을 마우스 오른쪽 단추로 클릭 한 다음 "Move ..."를 클릭하고 새 디렉토리를 선택합니다. 그게 다야!


@Moreaki : 그건 그렇고,“가독성”(그리고“가독성”)은 “D” 없이 철자가 됩니다 .
스캇
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.