답변:
예, 아니요
VBoxManage 도구를 사용하여 VDI를 디스크 이미지로 변환 할 수 있습니다 . 이 명령 은 등록 된 가상 디스크 이미지 를 다른 이미지 파일로 복제 합니다. 가상 디스크를 다른 형식으로 변환하려면 [*]를 사용하는 공식 VirtualBox 도구입니다.
VBoxManage clonehd file.vdi output.img --format RAW
VBoxManage internalcommands converttoraw file.vdi output.img
그러나 ... 출력 IMG 파일은 ISO 이미지가 아니며 설치된 OS는 부팅 가능한 CD / DVD에서 실행되도록 구성되지 않습니다. IMG를 하드 드라이브에 "굽기"(쓰기) 할 수 있으며 가상 하드웨어가 아닌 베어 하드웨어에서 부팅 될 수 있습니다. 그러나 IMG에 설치된 OS가 VirtualBox가 제공하는 가상 하드웨어를 볼 것으로 예상하고 예상하지 않은 실제 하드웨어로 부팅하기 때문일 수 있습니다.
일부 Windows 버전에서는이 상황을 잘 처리하지 못합니다. 일부 Linux 배포판이 있습니다. 때때로 이와 같이 한 환경에서 다른 환경으로 OS를 마이그레이션하도록 OS를 구성 할 수도 있지만 (이전 또는 이후에) 특정 단계는 마이그레이션되는 OS에 따라 완전히 다릅니다.
Windows에서는 프로그램의 전체 경로를 지정해야합니다.
"C:\Program Files\Sun\VirtualBox\VBoxManage.exe" [...]
짧은 버전을 사용하려면 C : \ Program Files \ Sun \ VirtualBox 를 PATH에 추가하십시오 .
[*] "--format RAW" 옵션이 실제 하드 드라이브 에서 dd 명령을 사용한 것처럼 표준 디스크 이미지로 변환 한다고 가정합니다 . 그러나 솔직히, 나는 이것을 뒷받침하는 문서를 찾지 못했기 때문에 이것이 정확하지 않을 수 있음을 명심하십시오.
[+] VirtualBox 3.1.2에서 두 명령을 모두 테스트했습니다. 두 출력 파일은 md5sum 에 따르면 동일 하지만 출력 파일을 완전히 테스트하지는 않았습니다.
VirtualBox 포럼의 "VDI에 관한 모든 것" 자습서 도 참조하십시오 .
sysprep /generalize
가상 설치를 먼저 했다면 ? 새 하드웨어 (또는이 경우 실제 하드웨어)에 설치할 설치를 확실히 준비합니다.
vdi 파일에 파티션이 포함되어 있고 그 중 하나만 추출하려면 다음을 사용하십시오.
먼저, quick quixote가 말했듯이 vdi 파일을 원시 이미지 파일로 변환하십시오.
# VBoxManage clonehd file.vdi file.raw --format RAW
그런 다음 이미지의 루프 장치를 설정하십시오.
# loopdev=$(losetup --show -r -f file.raw)
kpartx를 사용하여 원시 파일의 각 파티션에 대한 장치를 작성하십시오.
# apt-get install kpartx
# kpartx -a $loopdev
현재 사용중인 장치를 확인하십시오. 이 예에서는 원시 이미지에 파티션이 하나뿐이므로 장치는 하나뿐입니다.
# ls /dev/mapper/loop*
/dev/mapper/loop0p1
이제 마운트하여 모든 것이 올바르게 작동하는지 확인하십시오.
# mkdir /mnt/part1
# mount /dev/mapper/loop0p1 /mnt/part1
# ls /mnt/part1
# umount /mnt/part1
dd를 사용하여 파티션 내용을 다른 대상 파티션에 복사하십시오.
# dd if=/dev/mapper/loop0p1 of=/dev/sda2 bs=1M
완료 후 장치 매핑을 다시 제거하십시오.
# kpartx -d file.raw
호스트 및 게스트 시스템이 Linux 인 경우 대답은 확실합니다. 패키지 qemu
와로 완료되었습니다 TKLPatch
. VDI 또는 VMDK 파일을 모두 사용할 수 있습니다.
더 읽어보기 :
나는 대답VBoxManage clonehd file.vdi output.img --format RAW
에서 시도 했지만 많은 성공을 거두지 못했습니다.
Windows 7 호스트의 Windows 8.1 가상 머신에서 나를 위해 일한 것은 다음과 같습니다.
VBoxManage clonehd source.vdi target.vhd --format vhd
나는 리눅스에서 단 두 줄의 명령 으로이 프로세스를 매우 빠르게 수행합니다.
#
VBoxManage 내부 명령 convert_raw your_disk_virtual.vmdk your_disk_virtual.img
또는
#
VBoxManage 내부 명령 convert_raw your_disk_virtual.vdi your_disk_virtual.img
#
mv your_disk_virtual.img your_disk_virtual.iso