सारांश:
VBoxManage.exe modifyhd --resize
डिस्क छवि के तार्किक आकार (अतिथि OS द्वारा देखा गया आकार) को बढ़ा सकते हैं (लेकिन घटा नहीं सकते)।
VBoxManage.exe modifyhd inputfile.vdi --compact
भौतिक डिस्क छवि आकार (डिस्क OS पर छवि फ़ाइल का आकार होस्ट OS द्वारा देखा जा सकता है) को कम कर सकता है। हालांकि यह तार्किक डिस्क आकार नहीं बदलता है। ध्यान दें कि यह केवल तभी काम करता है जब पहले अतिथि ओएस में मुफ्त स्थान शून्य किया गया हो।
modifyhd
केवल डायनामिक प्रारूप वाले संस्करण ("डायनामिक रूप से आवंटित छवि") के साथ ही काम करता है।
modifyhd
केवल VDI और VHD छवि प्रारूप के साथ काम करता है।
- यदि आप स्नैपशॉट का उपयोग कर रहे हैं, तो आपको "स्नैपशॉट" सबफ़ोल्डर से नवीनतम स्नैपशॉट VDI क्लोन करना होगा।
विवरण के लिए खंड 8.23 देखें । मैनुअल में VBoxManage संशोधन ।
VDI की तार्किक डिस्क आकार को कम करने का कारण अभी तक लागू नहीं किया गया है, डेटा भ्रष्टाचार को रोकने के लिए है जो हो सकता है और इसके परिणामस्वरूप आपके पास unbootable VMs होगा। इसलिए, जब --resize
विकल्प का उपयोग किया जाता है, तो नया डिस्क आकार वर्तमान आकार से अधिक होना चाहिए। इसे वर्तमान आकार से कम या इसके बराबर होने की अनुमति नहीं है। दूसरे शब्दों में, एक 40 जीबी डिस्क को केवल 41 जीबी या उससे अधिक आकार दिया जा सकता है, इसे 40 जीबी (यह सिर्फ गूंगा) या 39 जीबी या उससे कम नहीं किया जा सकता है।
वर्चुअलबॉक्स के पुराने संस्करणों ने वीडीआई फ़ाइलों को "फिक्स्ड" प्रारूप के रूप में बनाया। नई VDI (वर्चुअल डिस्क छवि) फ़ाइलों को बनाने पर नई डिफ़ॉल्ट सेटिंग अब "डायनामिक" प्रारूप वेरिएंट बनाने के लिए है। (मुझे लगता है कि यह गतिशील प्रारूप संस्करण, जो भी संस्करण में पेश किया गया था की शुरूआत के बाद से मामला है।)
तो क्या त्रुटि संदेश "इस प्रारूप के लिए संचालन अभी तक लागू नहीं हुआ है" इसका मतलब है कि आपकी VDI फ़ाइल "निश्चित" प्रारूप संस्करण का उपयोग करती है। इस समस्या को हल करने के लिए आपको clonehd
कमांड का उपयोग करके अपनी VDI फाइल को क्लोन करना होगा । इस समय आपकी VDI फ़ाइल किस प्रकार की है, यह देखने के लिए, आप showhdinfo
कमांड का उपयोग कर सकते हैं ।
काम करने का उदाहरण
वर्तमान डिस्क के बारे में VDI जानकारी दिखाएं।
इनपुट कमांड: 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>
देखें कि यह "निश्चित डिफ़ॉल्ट" कहां है? यही कारण है कि जब आप इसे आकार देने का प्रयास करते हैं तो यह ऊपर की त्रुटि को थूक देता है।
पुरानी VDI फ़ाइल को एक नई VDI फ़ाइल में क्लोन करें।
इनपुट कमांड: 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>
देखा! पुरानी फाइल को अब नई फाइल पर क्लोन कर दिया गया है। चूंकि वर्चुअलबॉक्स के नए संस्करणों में डिफ़ॉल्ट सेटिंग "डायनामिक" प्रारूप संस्करण का उपयोग करने के लिए है, आपको स्पष्ट रूप से परिभाषित करने की आवश्यकता नहीं है। यद्यपि, यदि आप वर्चुअलबॉक्स के पुराने संस्करण के साथ काम कर रहे हैं, तो आप वर्चुअलबॉक्स के भावी संस्करणों के साथ बेहतर संगतता और / या लचीलेपन सुनिश्चित करने के लिए "डायनेमिक" (यदि उपलब्ध सभी) पर विकल्प सेट करना चाहते हैं।
क्लोन डिस्क के बारे में VDI जानकारी दिखाएं।
इनपुट कमांड: 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>
देखें कि यह अब "डायनेमिक डिफ़ॉल्ट" कैसे कहता है? कितना अच्छा है!
(साइड नोट पर! कारण यह कहता है कि 7806 एमबी भौतिक आकार के रूप में है क्योंकि मैंने --compact
डायनामिक प्रारूप संस्करण में रूपांतरण को लागू करने के प्रयास में मूल VDI फ़ाइल पर विकल्प का उपयोग किया था । बस कुछ मैंने वर्चुअलबॉक्स फोरम पर पढ़ा, यह माना जाता है। पुराने संस्करणों के साथ काम किया होगा, इसलिए मुझे लगा कि मैं भी कोशिश कर सकता हूं। यह काम नहीं किया।)
क्लोन डिस्क का आकार बदलना।
इनपुट कमांड: 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>
सफलता! कोई प्रारूप नहीं बुलबुल। बस नई, क्लोन डिस्क और मूल एक का आकार बदलना याद रखें। ध्यान रखें कि एमबी में आकार व्यक्त किया गया है। मेरा मानना है कि आप जैसे उपयोग कर सकते हैं 51200
और साथ ही 50G
(या संभवतः "जीबी")। वहाँ भी विकल्प है --resizebyte
जो बाइट्स में आकार को व्यक्त करने के लिए इस्तेमाल किया जा सकता है।
आकारित क्लोन डिस्क के बारे में VDI जानकारी दिखाएं।
इनपुट कमांड: 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>
बस! यहाँ से आपको जो करना है वह इस क्लोन ड्राइव को VM के लिए आपके नए VDI के रूप में जोड़ना है। आप VirtualBox के अंदर ऐसा करते हैं। मैं इसमें नहीं जाऊंगा यदि आप इसे अब तक पढ़ और समझ पा रहे हैं तो आपको शायद आगे मार्गदर्शन की कोई आवश्यकता नहीं है। आप या तो पुरानी "निश्चित" फ़ाइल को हटा सकते हैं, या इसे बैकअप के रूप में छोड़ सकते हैं। मूल स्रोत फ़ाइल को हटाने से पहले सुनिश्चित करें कि आप नई VDI फ़ाइल का परीक्षण करें।
ध्यान दें! आपको तुरंत क्लोन किए गए डिस्क का नया आकार दिखाई नहीं देगा। आपको इसके साथ VM को बूट करना होगा, और फिर वर्चुअल डिस्क को भरने के लिए (या अधिक विभाजन बनाने के लिए) अपने विभाजन का विस्तार करने के लिए आपको अपने विभाजन प्रबंधन उपकरण का उपयोग करना होगा। विंडोज के लिए, बस चलाएं diskmgmt.msc
और आप वहां विभाजन का विस्तार करने में सक्षम होंगे।
स्क्रीनशॉट
संदर्भ