Można przekonwertować plik .vdi na plik .iso, który można nagrać na płytę CD lub DVD i ustawić go jak instalator. Lub Czy można konwertować maszyny wirtualne do środowisk fizycznych?
Można przekonwertować plik .vdi na plik .iso, który można nagrać na płytę CD lub DVD i ustawić go jak instalator. Lub Czy można konwertować maszyny wirtualne do środowisk fizycznych?
Odpowiedzi:
Tak i nie.
Za pomocą narzędzia VBoxManage możesz przekonwertować VDI na obraz dysku . To polecenie klonuje zarejestrowany obraz dysku wirtualnego do innego pliku obrazu. Jeśli chcesz przekonwertować dysk wirtualny na inny format, jest to oficjalne narzędzie VirtualBox do użycia [*].
VBoxManage clonehd file.vdi output.img --format RAW
VBoxManage internalcommands converttoraw file.vdi output.img
Ale ... ten wyjściowy plik IMG nie jest obrazem ISO, a zainstalowany system operacyjny nie zostanie skonfigurowany do uruchamiania z rozruchowego dysku CD / DVD. Możesz „wypalić” (zapisać) IMG na dysk twardy i może on zostać uruchomiony na nagim sprzęcie (np. Nie na maszynie wirtualnej). Ale może nie, ponieważ system operacyjny zainstalowany na tym IMG spodziewa się zobaczyć wirtualny sprzęt, który zapewnia VirtualBox, i uruchamiasz go na prawdziwym sprzęcie, którego się nie spodziewa.
Niektóre wersje systemu Windows nie radzą sobie dobrze z tą sytuacją; niektóre dystrybucje Linuksa tak robią. Czasami możliwe jest skonfigurowanie systemu operacyjnego (wcześniej lub później) w celu migracji go z jednego środowiska do drugiego w ten sposób, ale określone kroki całkowicie zależą od migrowanego systemu operacyjnego.
W systemie Windows może być konieczne podanie pełnej ścieżki do programu:
"C:\Program Files\Sun\VirtualBox\VBoxManage.exe" [...]
Dodaj C: \ Program Files \ Sun \ VirtualBox do ŚCIEŻKI, aby użyć krótkiej wersji.
[*] Zakładam, że opcja „--format RAW” zostanie przekonwertowana na standardowy obraz dysku, tak jakbyś używał polecenia dd na fizycznym dysku twardym. Ale szczerze mówiąc, nie znalazłem żadnej dokumentacji, która to potwierdza, więc pamiętaj, że może to nie być poprawne.
[+] Właśnie przetestowałem oba polecenia w VirtualBox 3.1.2. Oba pliki wyjściowe są identyczne zgodnie z md5sum , ale nie w pełni przetestowałem pliki wyjściowe.
Zobacz także samouczek „Wszystko o VDI” na forach VirtualBox.
sysprep /generalize
byłbyś najpierw w instalacji wirtualnej? To z pewnością przygotowałoby instalację do zainstalowania na nowym sprzęcie (lub fizycznym w tym przypadku)
Jeśli plik vdi zawiera partycje i chcesz wyodrębnić tylko jedną z nich, użyj następujących poleceń:
Po pierwsze, jak powiedział wcześniej quixote, przekonwertuj plik VDI na plik RAW:
# VBoxManage clonehd file.vdi file.raw --format RAW
Następnie skonfiguruj urządzenie pętlowe dla obrazu:
# loopdev=$(losetup --show -r -f file.raw)
Użyj kpartx, aby utworzyć urządzenia dla każdej partycji w surowym pliku:
# apt-get install kpartx
# kpartx -a $loopdev
Sprawdź, jakie urządzenia mamy teraz. W tym przykładzie jest tylko jedno urządzenie, ponieważ w surowym obrazie jest tylko jedna partycja:
# ls /dev/mapper/loop*
/dev/mapper/loop0p1
Teraz zamontuj go, aby sprawdzić, czy wszystko działa poprawnie:
# mkdir /mnt/part1
# mount /dev/mapper/loop0p1 /mnt/part1
# ls /mnt/part1
# umount /mnt/part1
Użyj dd, aby skopiować zawartość partycji na inną partycję docelową:
# dd if=/dev/mapper/loop0p1 of=/dev/sda2 bs=1M
Po zakończeniu ponownie usuń mapowania urządzeń:
# kpartx -d file.raw
Odpowiedź jest jednoznaczna: tak, jeśli twoim hostem i systemem-gościem jest Linux. To się dzieje z pakietami qemu
i TKLPatch
. Możesz używać zarówno plików VDI, jak i VMDK.
Czytaj więcej:
Próbowałem VBoxManage clonehd file.vdi output.img --format RAW
z zaakceptowanej odpowiedzi, ale bez większego powodzenia.
W przypadku maszyny wirtualnej z systemem Windows 8.1 na hoście z systemem Windows 7 zadziałało:
VBoxManage clonehd source.vdi target.vhd --format vhd
Robię ten proces bardzo szybko, używając tylko dwóch linii poleceń w Linuksie:
#
VBoxManage internalcommands converttoraw your_disk_virtual.vmdk your_disk_virtual.img
LUB
#
VBoxManage internalcommands converttoraw your_disk_virtual.vdi your_disk_virtual.img
#
mv your_disk_virtual.img your_disk_virtual.iso
Mój pełny artykuł: http://www.previsioni.com.br/jailsonjan/?p=389