سؤال كيف أقوم بزيادة حجم القرص الثابت للجهاز الظاهري؟


enter image description here

لقد نفدت مساحة على الجهاز الظاهري لـ WinXP ، الذي أعطيته مساحة 10 غيغا بايت فقط عندما قمت بإنشائه. هل هناك طريقة سهلة لزيادة ذلك ، على سبيل المثال ، 20 غيغابايت؟ لا أستطيع رؤية أي خيار واضح في إعدادات VirtualBox.


الاقتراح أدناه يعطي هذا الخطأ

wim@wim-ubuntu:/media/data/winxp_vm$ VBoxManage modifyhd wim.vdi --resize 20000
VBoxManage: error: Cannot register the hard disk '/media/data/winxp_vm/wim.vdi' {46284957-2c09-4e70-8a49-bfbe0f7f681d} because a hard disk '/home/wim/VirtualBox VMs/winxp_vm/wim.vdi' with UUID {46284957-2c09-4e70-8a49-bfbe0f7f681d} already exists
VBoxManage: error: Details: code NS_ERROR_INVALID_ARG (0x80070057), component VirtualBox, interface IVirtualBox, callee nsISupports
Context: "OpenMedium(Bstr(pszFilenameOrUuid).raw(), enmDevType, AccessMode_ReadWrite, fForceNewUuidOnOpen, pMedium.asOutParam())" at line 210 of file VBoxManageDisk.cpp

إزالة .vdi من VirtualBox قبل استدعاء الأمر VBoxManage ، ثم إضافته مرة أخرى ، تم بنجاح. ولكن الآن لا يمكنني تشغيل الجهاز الظاهري ، أحصل على هذه الشاشة المقلقة:

enter image description here

بالمناسبة ، تقول FATAL: Could not read from the boot medium! System halted.


يجب أن يكون vdy reeattached إلى VM بعد الأمر VBoxManage. علاوة على ذلك ، يجب تغيير حجم القسم من النوافذ WITHIN ، لأنه سيكون لديك هذه المساحة الفارغة:

enter image description here

كنت قادرا على تغيير حجم القسم بسهولة باستخدام القليل من البرامج المجانية EASEUS Partition Master 9.1.0 الإصدار المنزلي.


234
2017-12-18 11:51


الأصل


تكمن مشكلتك في ارتباطك بالقرص إلى موقع "/ media / data" وعدم وجوده على الموقع الأصلي "/ home / wim / VirtualBox VMs". لقد أجبت بكيفية إصلاح هذا. - stolsvik
لدي تفاصيل تجربتي هنا: kmonsoor.wordpress.com/2012/05/26/virtualbox-increase-disk-size   الإجابة "المقبولة" أدناه هي أبعد ما تكون عن الصحيح. - kmonsoor
هناك احتمال آخر "لنسخ الـ vdi الحالي" إلى "vdi فارغ جديد ، حجمه أكبر من الموجود" (راجع justintung.com/2011/01/06/... ) - parasrish
لاحظ أيضًا أن مجرد تغيير الحجم قد لا يساعد ، حيث أن حجم "vdi" قد ازداد ، ولكن استنادًا إلى "vm-os-installation" ، يبقى قسمك الأساسي كما هو ، وعادةً ما يتم عرض المساحة المخصصة حديثًا "غير مخصصة ". تحتاج إلى القيام بذلك "قسم إعادة تخصيص" (راجع الرابط أعلاه). - parasrish


الأجوبة:


افتح جهاز طرفي وانتقل إلى المجلد الذي به صورة قرص VirtualBox ، ثم استخدم الأمر التالي:

VBoxManage modifyhd YOUR_HARD_DISK.vdi --resize SIZE_IN_MB

استبدال YOUR_HARD_DISK و SIZE_IN_MB مع اسم الصورة والحجم المطلوب. sudo قد تكون ضرورية في بعض الأجهزة أو قد تصادف خطأ. هذه الإجابة والشرح أكمل هي هنا ، على webupd8. الائتمان إلى أندرو هناك لنشر هذه الإجابة.

بعد تغيير الحجم ، والكبير تحتاج مساحة القرص الصلب الافتراضية إلى تقسيمها وتنسيقها للضيف لاستخدامها. يمكن أن يتم ذلك عن طريق gparted عن طريق تشغيل الضيف من ISO الحية. يمكننا أيضا تغيير حجم القسم الموجود باستخدام gparted. لهذا قد نحتاج إلى تعطيل /swap وإنشاء قسم مبادلة جديدة.


299
2017-12-18 12:07



+1. فقط استخدم هذا لزيادة حجم قرص Windows 7 الخاص بي من 20 إلى 30 جيجابايت ، وعمل بسلاسة تامة (لا حاجة إلى إلغاء تسجيل الخ). $ VBoxManage modifyhd Windows7.vdi --resize 30720 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%  في البداية ، لم يكتشف Windows المساحة الزائدة ، ولكن بعد التشغيل ، تمكنت من استخدام أداة "إدارة الأقراص" المضمنة لزيادة حجم C: القسم. - Jonik
+1 ، وهذا هو بالتأكيد أنظف طريقة للقيام بذلك. - Starx
asd لا يكفي تغيير حجم القرص ، بل تحتاج أيضًا إلى تغيير حجم القسم. - Bruno
هذا سيفي بالغرض! ومع ذلك ، تحتاج إلى زيادة القسم بعد ذلك يمكن windows تسجيل المساحة الجديدة. أفضل وأسرع / أسهل طريقة: howtogeek.com/howto/windows-vista/... - tfont
أعتقد في الإصدارات الأخيرة من فيرتثلبوإكس هو .\VBoxManage.exe modifymedium disk 4d30d154-f8c2-4a3b-bd8b-ddcfbfe64aaf --resize 30720 الآن. modifyhd يعمل أيضا على الرغم من - هناك التوافق مع الإصدارات السابقة مع الأوامر القديمة. - TranslucentCloud


عملت التالية لي:

VBoxManage modifyhd YOUR_HARD_DISK.vdi --resize SIZE_IN_MB

ومع ذلك ، أنا أفهم كيف يمكن أن تختلف المسافة المقطوعة :-) بقدر ما تغيير حجم القسم ، في Windows 7 ، كنت قادرا على تغيير حجم في الشاشة التي أظهرتها عن طريق النقر بزر الماوس الأيمن على C: محرك الأقراص في اللوحة السفلية واختيار تمديد حجم.

Computer management screen


23
2018-04-15 11:53



sudo هو ليس ضروري. قد يتلف أذونات في الدليل الرئيسي الخاص بك ، مما يتطلب منك استخدام sudo ل virtualbox وهو أ سيئة فكرة. - Lekensteyn
Lekensteyn: جيد أن تعرف أنه ليس من الضروري. لقد استخدمتها لأن الآخرين قالوا أنها لم تنجح دون أن تكون جذورها. بقدر ما يذهب إذن فساد ، يعمل chmod بشكل جيد لإصلاح مثل هذه الأخطاء. - Richard Povinelli
Lekensteyn: chown سوف يصلح أخطاء الملكية. أذكر chmod و chown ، لأنني اضطررت لإصلاح المشكلة كنت الرجوع عدة مرات :-) - Richard Povinelli
هذا أمر رائع بالنسبة لنظام التشغيل Windows ، ولكن إذا كان لديك نظام تشغيل Linux خاص بالضيف ، فيمكن أن يساعد هذا الارتباط في إعادة تحجيم الأقسام: forums.virtualbox.org/viewtopic.php؟f=35&t=50661 - Jon
إذا كنت تقوم بتشغيل windows داخل linux ، فستحتاج إلى اتباع هذه الخيارات ، وتوسيع القرص ، وإلا لن تقوم النوافذ بإضافة المساحة الإضافية التي أضفناها - Ajith R Nair


ويم ، أعتقد أنك ستحتاج إلى إلغاء تسجيله من Vbox أولاً. ملف ، مدير وسائل الإعلام ، انقر فوق لك الأقراص الصلبة ، وإلغاء تسجيله. ثم حاول مرة أخرى.


17
2017-12-19 11:40



غير مطلوب على Linux في VirtualBox. فقط كان لا بد من إغلاق نظام التشغيل الضيف أولا. - Underverse


بعد تغيير الحجم وعدم القدرة على عرض تغيير الحجم على جهاز windows XP الضيف ، اضطررت إلى ذلك

  1. استنساخها
  2. حجمه مع "VBoxManage modifyhd winxppro \ Clone.vdi --resize 30720" وعمل كل شيء

لقد رأيت في منتديات أخرى أن اللقطات يمكن أن تتدخل لتغيير حجمها وعدم قدرتها على إزالة كل اللقطات عن الأخطاء المختلفة التي حصلت عليها ، فالحل الوحيد الذي وجد لي هو استنساخها لإزالة اللقطات ثم تغيير حجمها ، وعمل كل شيء. لتغيير حجم النوافذ الخارجية ، يمكن العثور على قرص تمهيد gparted يمكن العثور عليه هنا استطيع المساعدة


7
2018-05-28 11:11





واجهت نفس المشكلة حيث قمت بنقل قرص واستبدلت النص الأصلي بنمط symlink. هذا يعمل بشكل جيد بعد ذلك ، لكنك تواجه مشاكل مع الأمر 'modify' ، حيث أن ذلك من شأنه أن يحدد المسار إلى ملف vdi عند العمل معه. هذا يجعل الأمر يبدو كما لو كنت تحاول إضافة قرص جديد بنفس UUID ولكن على مسار مختلف - أو شيء من هذا القبيل.

كانت هناك مشكلتان:

  1. كان لا بد من إزالة القرص من VM الذي استخدمه ، ولكن أيضا "من قائمة VirtualBox من الأقراص الصلبة". تم إصلاح هذا الأمر باستخدام الأمر 'closemedium' ، والذي يقوم بإزالته من تلك القائمة.

  2. كان القرص المراد تغيير حجمه عبارة عن "قرص ثابت" بدلاً من "ديناميكي" ، ويمكن تغيير حجم الأقراص الحيوية فقط. تم إصلاح ذلك باستخدام أمر 'clone' (يكون الاستنساخ ديناميكيًا) ، ثم تغيير حجم القرص الناتج.

هذا هو السجل الخاص بي عن كيفية القيام به. هل لاحظت ذلك ليس في أي نقطة تعمل كجذر، إلا عندما أفعل بعد ذلك تغيير حجم القسم ونظام الملفات.

إزالة التكتل إلى القرص من VM. 

المشكلة لا تزال تنتقد:

virt_box@TestBox:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage modifyhd TestInception\ 64\ bit.vdi --resize 8192
VBoxManage: 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 exists
VBoxManage: error: Details: code NS_ERROR_INVALID_ARG (0x80070057), component VirtualBox, interface IVirtualBox, callee nsISupports
VBoxManage: 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 hdds
UUID:        ba58276a-bbe1-4354-8ae5-246bdac390c8
Parent UUID: base
Format:      VDI
Location:    /home/virt_box/VirtualBox VMs/TestInception 32 bit/TestInception.vdi
State:       locked write
Type:        normal
Usage:       TestInception 32 bit (UUID: a693ac62-7caa-4f11-9d00-51d3a149f5f7)

UUID:        6cd99209-e4db-4178-a6c2-53f9581b1fad
Parent UUID: base
Format:      VDI
Location:    /home/virt_box/VirtualBox VMs/TestInception 64 bit/TestInception 64 bit.vdi
State:       created
Type:        normal

إزالة / حذف القرص من قائمة قرص VirtualBox ("closemedium"):

virt_box@TestBox:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage closemedium disk 6cd99209-e4db-4178-a6c2-53f9581b1fad
virt_box@TestBox:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage list hdds
UUID:        ba58276a-bbe1-4354-8ae5-246bdac390c8
Parent UUID: base
Format:      VDI
Location:    /home/virt_box/VirtualBox VMs/TestInception 32 bit/TestInception.vdi
State:       locked write
Type:        normal
Usage:       TestInception 32 bit (UUID: a693ac62-7caa-4f11-9d00-51d3a149f5f7)

حاول تغيير الحجم مرة أخرى:

virt_box@TestBox:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage modifyhd TestInception\ 64\ bit.vdi --resize 8192
0%...
Progress state: VBOX_E_NOT_SUPPORTED
VBoxManage: error: Resize hard disk operation for this format is not implemented yet!

DAMN ، "حجم ثابت" لا يعمل! "clonehd" للانقاذ ، حيث أن يترك القرص المستنسخ "بشكل ديناميكي":

virt_box@TestBox:/datadisk/VirtualBox VMs/TestInception 64 bit$ VBoxManage clonehd TestInception\ 64\ bit.vdi TestInception\ 64\ bit-cloned.vdi
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone hard disk created in format 'VDI'. UUID: 8e237500-173b-401a-9e63-9e64da110da9

الآن القيام بمقياس (instantanious):

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%

ثم إرفاق لبعض VM ، من أجل التسعير. يتم هذا كجذر. يفترض أنه لديك قسم واحد فقط ومن الممكن التبديل.

# 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/sdb1

e2fsck 1.42.5 (29-Jul-2012)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdb1: 99918/122160 files (0.3% non-contiguous), 471032/487936 blocks

# resize2fs /dev/sdb1

resize2fs 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.

5
2018-04-09 12:01



هذا العمل بالنسبة لي ، اتبعت الدليل هنا: yinfor.com/2015/05/... - marijnz0r


عملت هذه بالنسبة لي مع Virtualbox 5.2.6 مثبت على Ubuntu 16.04 Host Machine و Windows 10 Guest: open Virtualbox Manager ، انقر فوق "أدوات عمومية" (الزاوية اليسرى العليا) واختر Virtual Media Manager. انقر فوق علامة التبويب القرص الثابت واختر نظام تشغيل الضيف الخاص بك. في الجزء السفلي من المربع ، انقر على علامة التبويب "السمات". في الأسفل ، يمكنك رؤية حجم القرص الظاهري ، ومع شريط التمرير يمكنك زيادة الحجم حسب رغبتك. (يمكنك فقط زيادة ، وليس تقليل الحجم باستخدام هذه الطريقة). انقر على تطبيق. ابدأ تشغيل نظام التشغيل Windows Guest OS ، وافتح إدارة الكمبيوتر ، وانقر بزر الماوس الأيمن على C: Drive ، وحدد Extending Volume لتوسيع نظام الملفات مع الجزء غير المخصص.

هذا كل ما كان علي القيام به ، يعمل بشكل مثالي بالنسبة لي.


2
2018-01-24 17:55



عملت كبيرة. ألا ينبغي أن تكون هذه هي الإجابة المقبولة ، على الأقل بالنسبة للإصدارات الأخيرة من فيرتثلبوإكس؟ - AlwaysLearning


إن الطريقة المؤكدة هي أن تفعل ذلك مثل الانتقال إلى محرك أقراص ثابت أكبر لا يعمل في جهاز VM. قم أولاً باستخدام برنامج ccleaner أو برنامج مماثل في XP لتنظيف جميع الملفات غير المرغوب فيها. ثم قم بإنشاء قرص صلب افتراضي ثانوي بالحجم الذي تريده. التمهيد مع clonezilla ISO في محرك الأقراص الضوئي الافتراضي الخاص بك واستنساخ مع خيار "تغيير الحجم إلى حجم القسم الجديد" المحدد. ثم قم بتعيين محرك الأقراص الثابت الافتراضي الجديد على أنه أساسي ، ولا تحذفه القديم حتى تعرف أنه يعمل.


1
2017-12-19 14:03