मुझे वही समस्या थी जहां मैंने एक डिस्क को स्थानांतरित किया था, और मूल को एक सिमलिंक के साथ बदल दिया था । यह बाद में ठीक काम करता है, लेकिन आप 'मॉडिफाइडएचडी' कमांड के साथ समस्याओं में भाग लेते हैं, क्योंकि इसके साथ काम करते समय स्पष्ट रूप से वीडीआई-फाइल के पथ को कैनोनिकलाइज़ करता है । इससे ऐसा लगता है कि आप एक ही यूयूआईडी के साथ एक नई डिस्क जोड़ने की कोशिश कर रहे हैं लेकिन एक अलग पथ पर - या ऐसा कुछ ।
दो समस्याएं थीं:
डिस्क को वीएम से हटाया जाना था जो इसका इस्तेमाल करता था, लेकिन फिर "एचडीडी की वर्चुअलबॉक्स सूची से"भी । यह 'क्लोजमेडियम' कमांड के साथ तय किया गया था, जो इसे उस सूची से हटा देता है ।
आकार बदलने वाली डिस्क" डायनेमिक "के बजाय" फिक्स्ड डिस्क " थी, और केवल डायनेमिक डिस्क का आकार बदला जा सकता है । यह एक 'क्लोन' कमांड (क्लोन गतिशील है) के साथ तय किया गया था, और फिर परिणामी डिस्क का आकार बदलें ।
यह मेरा लॉग है कि यह कैसे किया गया था । ध्यान दें कि मैं हूं नहीं किसी भी बिंदु पर रूट के रूप में चल रहा है, सिवाय इसके कि जब मैं बाद में विभाजन और फाइल सिस्टम का आकार बदलता हूं ।
वीएम से डिस्क पर एसोसिएशन निकालें।
समस्या अभी भी बनी हुई है:
virt_box@TestBox:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage modifyhd TestInception\ 64\ bit.vdi --resize 8192VBoxManage: error: Cannot register the hard disk '/datadisk/VirtualBox VMs/TestInception 64 bit/TestInception 64 bit.vdi' {6cd99209-e4db-4178-a6c2-53f9581b1fad} because a hard disk '/home/virt_box/VirtualBox VMs/TestInception 64 bit/TestInception 64 bit.vdi' with UUID {6cd99209-e4db-4178-a6c2-53f9581b1fad} already existsVBoxManage: error: Details: code NS_ERROR_INVALID_ARG (0x80070057), component VirtualBox, interface IVirtualBox, callee nsISupportsVBoxManage: error: Context: "OpenMedium(Bstr(pszFilenameOrUuid).raw(), enmDevType, enmAccessMode, fForceNewUuidOnOpen, pMedium.asOutParam())" at line 178 of file VBoxManageDisk.cpp
आह, डिस्क अभी भी "सिस्टम में"है:
virt_box@TestBox:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage list hddsUUID: ba58276a-bbe1-4354-8ae5-246bdac390c8Parent UUID: baseFormat: VDILocation: /home/virt_box/VirtualBox VMs/TestInception 32 bit/TestInception.vdiState: locked writeType: normalUsage: TestInception 32 bit (UUID: a693ac62-7caa-4f11-9d00-51d3a149f5f7)UUID: 6cd99209-e4db-4178-a6c2-53f9581b1fadParent UUID: baseFormat: VDILocation: /home/virt_box/VirtualBox VMs/TestInception 64 bit/TestInception 64 bit.vdiState: createdType: normal
वर्चुअलबॉक्स डिस्क सूची ("क्लोजमेडियम") से डिस्क को हटाएं / हटाएं:
virt_box@TestBox:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage closemedium disk 6cd99209-e4db-4178-a6c2-53f9581b1fadvirt_box@TestBox:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage list hddsUUID: ba58276a-bbe1-4354-8ae5-246bdac390c8Parent UUID: baseFormat: VDILocation: /home/virt_box/VirtualBox VMs/TestInception 32 bit/TestInception.vdiState: locked writeType: normalUsage: TestInception 32 bit (UUID: a693ac62-7caa-4f11-9d00-51d3a149f5f7)
फिर से आकार बदलने का प्रयास करें:
virt_box@TestBox:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage modifyhd TestInception\ 64\ bit.vdi --resize 81920%...Progress state: VBOX_E_NOT_SUPPORTEDVBoxManage: error: Resize hard disk operation for this format is not implemented yet!
धिक्कार है," निश्चित आकार " काम नहीं करता है! बचाव के लिए' क्लोनएचडी', क्योंकि यह' गतिशील रूप से आवंटित ' क्लोन डिस्क को छोड़ देता है:
virt_box@TestBox:/datadisk/VirtualBox VMs/TestInception 64 bit$ VBoxManage clonehd TestInception\ 64\ bit.vdi TestInception\ 64\ bit-cloned.vdi0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%Clone hard disk created in format 'VDI'. UUID: 8e237500-173b-401a-9e63-9e64da110da9
अब आकार बदलें (तत्काल):
virt_box@TestBox:/datadisk/VirtualBox VMs/TestInception 64 bit$ VBoxManage modifyhd --resize 8192 TestInception\ 64\ bit-cloned.vdi 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
फिर आकार बदलने के लिए कुछ वीएम से संलग्न करें । यह रूट के रूप में किया जाता है । मानता है कि आपके पास केवल एक विभाजन है और संभवतः स्वैप है ।
# fdisk /dev/sdb # <- The extra disk, just attached to be resized// The procedure looks like this:// m - print help// p - print table// d ... - delete partition (delete both if you have root and swap)// n - new partition (create root/first partition starting on exact same sector as before, typically 2048, but ends on last, or last minus swap)// ... n.. (.. then add the swap partition. Calculate how many sectors using original table)// t - change type of partition (swap partition, if any, to 82 - not 83 which is "normal Linux").// w - write partition table (write out, with the resized partition)# e2fsck -f /dev/sdb1e2fsck 1.42.5 (29-Jul-2012)Pass 1: Checking inodes, blocks, and sizesPass 2: Checking directory structurePass 3: Checking directory connectivityPass 4: Checking reference countsPass 5: Checking group summary information/dev/sdb1: 99918/122160 files (0.3% non-contiguous), 471032/487936 blocks# resize2fs /dev/sdb1resize2fs 1.42.5 (29-Jul-2012)Resizing the filesystem on /dev/sdb1 to 1965824 (4k) blocks.The filesystem on /dev/sdb1 is now 1965824 blocks long.