Modifydd komutuyla neden dinamik bir VDI'yı yeniden boyutlandıramıyorum?


29

Burada görüyorum Sanal makinenin sabit disk boyutunu nasıl artırabilirim .

Gibi bir komutla çalışması gerekir

VBoxManage modifyhd xp.vdi --resize 2000

VDI sabit bir boyuta sahip olduğunda bu hatayı alabilirsiniz:

~/VirtualBox VMs/xp$ VBoxManage modifyhd xp.vdi --resize 2000
0%...
Progress state: VBOX_E_NOT_SUPPORTED
VBoxManage: error: Resize hard disk operation for this format is not implemented yet!

Bu konudaki çözüm ve çözüm burada .

Ancak VDI dinamik olduğunda bu hatayı alıyorum

~/VirtualBox VMs/xp$ VBoxManage showhdinfo xp.vdi
UUID:           8880dc58-cd0c-4ffb-a583-f8dd50eda98e
Parent UUID:    base
State:          created
Type:           normal (base)
Location:       /home/cip/VirtualBox VMs/xp/xp.vdi
Storage format: VDI
Format variant: dynamic default
Capacity:       8192 MBytes
Size on disk:   4693 MBytes
In use by VMs:  xp (UUID: e2b70963-3c26-41cf-88f6-4e03ca721e2d)

Neden?


Ubuntu 16.04LTS ve dinamik vdi ile burada aynı sorun. çok garip
Luckyrings

Yanıtlar:


26

Kullanmak VBoxManage modifyhdiçin aşağıdaki uyarılar var:

  • Sürücülerin .VDI veya .VHD formatında olması gerekir.
  • Sürücüler sabit değil, dinamik bir formatta olmalıdır (sabit disk bir klon oluşturarak dinamik hale getirilebilir).
  • Sürücü boyutu , fiziksel boyutu değil yalnızca mantıksal boyutu etkiler .
  • Bir sürücünün fiziksel boyutuna eşit veya altında küçültülmesi mümkün değildir.
  • İçin fiziksel boyutunu küçülen biz kullanılmayan disk alanı doldurmak zorunda 0.
  • Bir Windows VDI, fiziksel boyutunu küçültmeden önce birleştirilmelidir.

Yukarıdaki örnekte, fiziksel boyutu 4693 MB ila 2000 MB arasında olan dinamik bir diski yeniden boyutlandırmaya çalıştı, bu mümkün değil. Dolayısıyla hata.


1
Ben de burada açtım. ne acı.
nicolas

2
Sürücüleri sabit formatta değiştirmek için, cevabı @ ripper234
Aralık'ta

Cevabımı kontrol et, ihtiyacın olan tüm detaylara sahip ve işe
Mauricio Gracia Gutierrez

Bu görüntüyü iki yıl önce yarattım, çok uzun zamandır sabit bir boyut olduğunu ve dinamik olmadığını unuttum. Cevabınızla okumak bana hatırlattı. Bunu neden yapamadığımı öğrenmek için bir saatten fazla zaman harcadım: (... Teşekkürler
Madivad

Teşekkürler, bu yardımcı oldu. Linux için linux pvresizeiçin o alanı kullanmak için komut çalıştırmak için unutma
Maksim Luzik

24

Bu geçici çözüm benim için çalıştı:

  1. Makineyi kapatın
  2. Yönetici arayüzü ile istediğiniz boyuta sahip yeni bir sürücü oluşturun
  3. Kullanım VBoxManage clonemedium ile --existingbayrak

    VBoxManage clonemedium <source-guid> <destinatin-guid> --existing
    

Not : Şimdi yeni disk ayrılmamış olarak fazla boşluğa sahip olacak ve boyutu maksimum seviyeye çıkarmak için gparted kullanmanız gerekecektir.

Emin değilim neden VirtualBox adamlar atma yerine bu uygulamaya yukarıdaki kullanamadı VBOX_E_NOT_SUPPORTEDaz linkten Buna ... :)


1
Fazla boşluğu pencerelere nasıl tahsis edebilirim?
Ken

4
@ Anladın mı emin değilim; Başlat -> Çalıştır -> diskmgmt.msc, C: (ya da birincil sürücü ne olursa olsun) üzerine sağ tıklayın ve genişlet seçeneğini seçin.
Trent,

2
bu yardımcı oldu. GUID ile değil sürücü dosya
ismiyle

3
@ ripper234 Üç adımda biraz derinlemesine bir açıklama yapılması gerekiyor - benim gibi ne yaptıklarından tam olarak emin olmayan insanlar için. 2) yeni bir sabit disk mi oluşturuyoruz? .vdi .vdmk ?? Lütfen uygun bir örnek verin, belki bir grafik ile. Ayrıca 3) Clonemedium'un clonehd yerine ne işi var? İki rehber nereden geliyor - özellikle varış yeri - klonlarken bile zaten var? Teşekkürler
mwarren

Teşekkür ederim. Şimdi, buraya bir Windows kullanıcısı olarak yönlendirildim (bu askUbuntu olsa bile), bu yüzden buraya ekleyeceğim, VBoxManage'ın Windows sürümünde sanal makine sürücüleri yerine sanal sabit sürücü yollarını koymak zorunda kalacağınızı Guıd.
Sean Burchett

4

İşte tüm süreç, mümkün olduğunca ayrıntılı olmaya çalışacağım

  1. Boyut olarak büyüyeceğiniz makinenin "Kapat" durumunda olduğundan emin olun ("kaydedilmiş" veya başka bir durumda değil)

Benim durumumda bu 32 GB boyutunda bir makine ve SMALL VM olarak adlandırılacak

  1. İstenilen boyutta yeni bir Sanal Makine oluşturun

Benim durumumda bu yeni VM içindeki küçük makinenin içeriğini geri yüklerken 70 GB'lik bir Sanal Makine yapmaya karar verdim ve buna BÜYÜK VM olarak bakacağım

  1. SMALL VM’nin GUID’ini (orijinali) ve ayrıca LARGE VM’nin GUID’sini (hedef) elde etmek için komutu çalıştırın VBoxManage list hddsveya Virtual Media Manager’ı açın.

Bu GUID'ler ile aşağıdaki komutu oluşturun

VBoxManage clonemedium SMALL_VM_GUID LARGE_VM_GUID - mevcut

Benim durumumda ORİJİN - KÜÇÜK VM : 39143127-42b6-478a-afb2-5e58f14218b

Benim durumumda DESINATION - BÜYÜK VM : bb808b5b-b88c-49b2-a646-3414af906d84

Elbette GUID'lerin benimkinden farklı olacak

GUID'leri ters çevirmediğinizden emin olun, aksi takdirde yeni makine mevcut makinenizin içeriğini değiştirir !!!!

Orijini hedef ile karıştırmadığınızdan emin olduktan sonra şu komutu çalıştırın:

$ VBoxKlonuyu yönetin 39143127-42b6-478a-afb2-5e58f14218b2 bb808b5b-b88c-49b2-a646-3414af906d84 - mevcut

% 0 ...% 10 ... 20 ...% 30% ...% 40 ... 50 ...% 60,% ...% 70 ... 80 ...% 90,% ... 100%

'VDI' formatında oluşturulan ortam klonlama. UUID: bb808b5b-b88c-49b2-a646-3414af906d84

  1. 2. adımda oluşturduğunuz yeni LARGE VM'yi başlatın .

  2. Bilgisayar Yönetimi penceresi aracında, makinenin gerçekte daha fazla kullanılmayan / biçimlendirilmemiş alana sahip olduğunu kontrol edin

  3. İsterseniz, her şeyin hazır olduğundan emin olmak için C sürücüsündeki "chkdsk" komutunu çalıştırabilirsiniz (bu, sizi LARGE VM'de iki yeniden başlatmaya götürebilir )

  4. Gparted-live * .iso programını kullanarak yeni sanal makineye "yerleştirin" ve yeniden başlatın

  5. Bölmeli ortama önyükleme yapın

  6. Bölümünüzü büyütün ve değişiklikleri kaydedin

  7. Windows'a yeniden başlatmak için gparted-live * .iso'yu "Çıkart"

  8. Bilgisayar Yönetimi pencere aracında, makinenizin şimdi sorununuzu çözmek için daha büyük bir C sürücüsü olduğunu kontrol edin

Bu sürecin ekran görüntülerini aldım, ancak Windows sanal makinelerinde boş yer bulmak için "aceleci" insanlar için büyük ve korkutucu olan cevabımı vereceği için onları dahil etmemeye karar verdim


Rehber için teşekkürler. 3. adımda, GUID'leri nereden alıyorsunuz? Sanal Medya Yöneticisi'nin ne olduğundan emin değilim.
A.Wan

3
Aldırma, sanırım bunu aldımVBoxManage list hdds
A.Wan

@ A.Wan bu Sanal Medya Yöneticisi - google.com.co/…
Mauricio Gracia Gutierrez
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.