Özet:
VBoxManage.exe modifyhd --resize
Disk görüntüsünün (misafir işletim sistemi tarafından görülen boyut) mantıksal boyutunu artırabilir (ancak azaltamaz).
VBoxManage.exe modifyhd inputfile.vdi --compact
Fiziksel disk görüntü boyutunu düşürebilir (diskteki görüntü dosyasının ana işletim sistemi işletim sistemindeki gibi). Ancak bu, mantıksal disk boyutunu değiştirmez. Bunun yalnızca konuk işletim sisteminde boş alan sıfırlanmışsa işe yaradığını unutmayın.
modifyhd
yalnızca dinamik biçim değişkeni ile çalışır ("dinamik olarak ayrılmış görüntü").
modifyhd
sadece VDI ve VHD görüntü formatları ile çalışır.
- Anlık görüntüler kullanıyorsanız, "Anlık Görüntüler" alt klasöründen en son anlık görüntü VDI'yi klonlamanız gerekir.
Detaylar için bölüm 8.23'e bakınız . VBoxManage kılavuzdaki modifikasyonu .
Bir VDI'nın mantıksal disk boyutunu azaltmanın henüz uygulanmamasının nedeni, ortaya çıkabilecek veri bozulmalarını önlemek ve bunun sonucunda önlenemez VM'lere sahip olmanızdır. Bu nedenle, --resize
seçenek kullanıldığında, yeni disk boyutunun geçerli boyuttan büyük olması gerekir. Mevcut boyuttan daha küçük veya ona eşit olması yasaktır. Başka bir deyişle, 40 GB'lık bir disk yalnızca 41 GB'a veya daha büyük bir boyuta yeniden boyutlandırılabilir, 40 GB'a (sadece aptal) veya 39 GB'a veya daha küçük bir boyuta yeniden boyutlandırılamaz.
VirtualBox'ın eski sürümleri VDI dosyalarını "sabit" format değişkeni olarak yarattı. Yeni varsayılan ayar şimdi yeni VDI (sanal disk görüntüsü) dosyaları oluşturulduğunda "dinamik" biçim değişkenleri oluşturmaktır. (Sanırım bu, hangi sürümde tanıtılsa olsun, dinamik format varyantının kullanılmasından bu yana böyle bir durumdur.)
Bu nedenle, "bu biçim için işlem henüz uygulanmadı" hata iletisinin, VDI dosyanızın "sabit" biçim değişkenini kullandığı anlamına gelir. Bu sorunu aşmak için VDI dosyanızı clonehd
komutu kullanarak klonlamanız gerekecektir . Şu anda VDI dosyanızın hangi formatta olduğunu görmek için showhdinfo
komutu kullanabilirsiniz .
Çalışma örneği
Geçerli disk hakkında VDI bilgilerini göster.
Giriş komutu: vboxmanage.exe showhdinfo path\inputfile.vdi
C:\Program Files\Oracle\VirtualBox>VBoxManage.exe showhdinfo "%userprofile%\virt
ualbox vms\sg2_win7_x64_lab\sg2_win7_x64_lab.vdi"
UUID: 132e9af1-0428-49f4-bc45-4d84680e17f5
Parent UUID: base
State: created
Type: normal (base)
Location: C:\Users\Name\VirtualBox VMs\sg2_win7_x64_lab\sg2_win7_x64_lab.
vdi
Storage format: VDI
Format variant: fixed default
Capacity: 40960 MBytes
Size on disk: 40962 MBytes
In use by VMs: sg2_win7_x64_lab (UUID: dcd106b3-7ed6-4f19-ad94-820ab4dc10d3)
C:\Program Files\Oracle\VirtualBox>
"Sabit varsayılan" yazdığını gördün mü? Bu yüzden yeniden boyutlandırmaya çalıştığınızda yukarıdaki hatayı dağıtıyor.
Eski VDI dosyasını yeni bir VDI dosyasına klonlayın.
Giriş komutu: vboxmanage.exe clonehd path\inputfile.vdi path\outputfile.vdi
C:\Program Files\Oracle\VirtualBox>VBoxManage.exe clonehd "%userprofile%\virtual
box vms\sg2_win7_x64_lab\sg2_win7_x64_lab.vdi" "%userprofile%\virtualbox vms\sg2
_win7_x64_lab\sg2_win7_x64_lab_clone.vdi"
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone hard disk created in format 'VDI'. UUID: 34dafa68-3093-4946-926a-8237ea263
e5c
C:\Program Files\Oracle\VirtualBox>
Voila Eski dosya şimdi yeni bir dosyaya kopyalandı. VirtualBox'ın yeni sürümlerinde varsayılan ayar "dinamik" biçim değişkenini kullanmak olduğundan, bunu açıkça tanımlamanız gerekmez. Bununla birlikte, daha eski bir VirtualBox sürümüyle çalışıyorsanız, VirtualBox'ın gelecekteki sürümleriyle daha iyi uyumluluk ve / veya esneklik sağlamak için bu seçeneği "dinamik" (eğer varsa) olarak ayarlamak isteyebilirsiniz.
Klonlanmış disk hakkındaki VDI bilgilerini gösterin.
Giriş komutu: vboxmanage.exe showhdinfo path\inputfile_clone.vdi
C:\Program Files\Oracle\VirtualBox>VBoxManage.exe showhdinfo "%userprofile%\virt
ualbox vms\sg2_win7_x64_lab\sg2_win7_x64_lab_clone.vdi"
UUID: 34dafa68-3093-4946-926a-8237ea263e5c
Parent UUID: base
State: created
Type: normal (base)
Location: C:\Users\Name\virtualbox vms\sg2_win7_x64_lab\sg2_win7_x64_lab_
clone.vdi
Storage format: VDI
Format variant: dynamic default
Capacity: 40960 MBytes
Size on disk: 7806 MBytes
C:\Program Files\Oracle\VirtualBox>
Şimdi "dinamik varsayılan" yazdığını gördün mü? Ne kadar güzel!
(Yan notta, burada fiziksel boyut olarak 7806 MB yazmasının nedeni --compact
, orijinal VDI dosyasındaki seçeneği dinamik format değişkenine dönüştürmeyi zorlamak amacıyla kullanmamdı. Sözde, VirtualBox forumunda okuduğum bir şey, sözde eski sürümlerle çalışacaktı, bu yüzden denemeye çalışabileceğimi düşündüm. İşe yaramadı.)
Klonlanmış diski yeniden boyutlandırma.
Giriş komutu: vboxmanage.exe modifyhd path\inputfile.vdi --resize 51200
C:\Program Files\Oracle\VirtualBox>VBoxManage.exe modifyhd "%userprofile%\virtua
lbox vms\sg2_win7_x64_lab\sg2_win7_x64_lab_clone.vdi" --resize 51200
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
C:\Program Files\Oracle\VirtualBox>
Başarı! Artık biçim saçmalığı yok. Sadece yeni, klonlanmış diski değil, orijinali yeniden boyutlandırmayı unutmayın. Boyutun MB cinsinden ifade edildiğini unutmayın. Sana örneğin kullanabilirsiniz inanıyoruz 51200
yanı sıra 50G
(veya muhtemelen "GB"). --resizebyte
Boyutu bayt cinsinden ifade etmek için kullanılabilecek bir seçenek de vardır .
Yeniden boyutlandırılmış klon disk hakkındaki VDI bilgilerini gösterin.
Giriş komutu: vboxmanage.exe showhdinfo path\inputfile_clone.vdi
C:\Program Files\Oracle\VirtualBox>VBoxManage.exe showhdinfo "%userprofile%\virt
ualbox vms\sg2_win7_x64_lab\sg2_win7_x64_lab_clone.vdi"
UUID: 34dafa68-3093-4946-926a-8237ea263e5c
Parent UUID: base
State: created
Type: normal (base)
Location: C:\Users\Name\virtualbox vms\sg2_win7_x64_lab\sg2_win7_x64_lab_
clone.vdi
Storage format: VDI
Format variant: dynamic default
Capacity: 51200 MBytes
Size on disk: 7806 MBytes
C:\Program Files\Oracle\VirtualBox>
Bu kadar! Buradan yapmanız gereken, bu klonlanmış sürücüyü VM için yeni VDI'nız olarak eklemek. Bunu VirtualBox içinde yaptınız. Buna girmeyeceğim. Bunu şimdiye kadar okuyup anlayabildiyseniz, daha fazla rehberliğe ihtiyacınız yoktur. Eski "sabit" dosyayı silebilir veya yedek olarak bırakabilirsiniz. Orijinal kaynak dosyayı silmeden önce yeni VDI dosyasını test ettiğinizden emin olun.
Not! Klonlanmış diskin yeni boyutunu hemen göremezsiniz. Sanal Makineyi onunla başlatmanız gerekir ve sonra sanal diski doldurmak için (veya daha fazla bölüm oluşturmak için) bölümünüzü genişletmek üzere bölüm yönetimi aracınızı kullanmanız gerekir. Windows için, sadece çalıştırın diskmgmt.msc
ve oradaki bölümü genişletebileceksiniz.
Ekran görüntüleri
Referans