"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برنامج تعليمي > نفاد مساحة القرص؟ استردها من جهاز Linux VirtualBox VM الخاص بك

نفاد مساحة القرص؟ استردها من جهاز Linux VirtualBox VM الخاص بك

تم النشر بتاريخ 2024-08-29
تصفح:844

يتيح لك VirtualBox تشغيل Linux في جهاز افتراضي، وستجد غالبًا أن حجم أقراصك الافتراضية يتزايد باستمرار، على الرغم من قيامك بمسحها من الملفات. سأوضح لك كيفية تقليص حجم هذه المجلدات مرة أخرى، وضغطها وتوفير مساحة القرص لديك.

لماذا لا يتقلص ضيف VirtualBox Linux تلقائيًا

إذا كنت قد استخدمت VirtualBox مع ضيوف Windows (في مصطلحات الجهاز الظاهري، فإن "الضيف" هو نظام التشغيل الذي يعمل داخل الجهاز الظاهري) ، ربما تكون معتادًا على تقلص أحجام أقراص VirtualBox عند قيامك بحذف الملفات منها، بحيث تستخدم فقط المساحة الموجودة على القرص الفعلي التي تحتاجها لاحتواء الملفات الموجودة بها.

هذا هو الغرض المقصود من ميزة التخصيص الديناميكي لـ VirtualBox، ولكنها لا تعمل مع ضيوف Linux. عند استخدام ضيوف Linux، يجد العديد من المستخدمين أن الأقراص تنمو إلى حجمها الكامل، ثم لا تتقلص أبدًا عندما يتم حذف الملفات منها.

ويرجع ذلك إلى كيفية إدارة Linux لأنظمة الملفات الخاصة به وكيفية تفاعله مع مضيف VirtualBox الخاص به. لا يقوم Linux "بإلغاء" الملفات (الكتابة فوقها ببيانات فارغة) عند حذفها لأسباب تتعلق بالأداء، لذلك ليس لدى VirtualBox طريقة لمعرفة البيانات الموجودة على القرص الظاهري التي تعد بيانات نشطة وأيها يتم حذفها.

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

كيفية استعادة مساحة القرص من جهاز Linux الظاهري في VirtualBox

أول شيء عليك القيام به لاستعادة مساحة القرص من الأقراص الافتراضية لضيوف Linux هو التأكد من تمكين التخصيص الديناميكي. إذا لم يكن الأمر كذلك، فستحتاج إلى تحويل القرص الخاص بك إلى قرص مخصص ديناميكيًا.

Running Out of Disk Space? Reclaim It From Your Linux VirtualBox VM

بعد ذلك، قم بعمل نسخة احتياطية للقرص الافتراضي الخاص بك. إذا حدث خطأ ما (مثل أمر مكتوب بشكل خاطئ، أو انقطعت طاقتك جزئيًا خلال العملية)، فإنك تخاطر بفقدان جميع البيانات الموجودة في ضيف Linux الخاص بك.

بعد ذلك، على ضيف Linux الخاص بك، قم بتشغيل الأمر التالي في الوحدة الطرفية:

sudo dd if=/dev/zero of=/var/deleteme

سيقوم هذا الأمر بكتابة بيانات صفرية (فارغة) إلى الملف /var/deleteme حتى يمتلئ القرص بالكامل. يؤدي هذا إلى استبدال جميع ملفاتك المحذوفة مسبقًا، مما يحل مشكلة عدم قيام Linux بالكتابة فوق البيانات المحذوفة تلقائيًا.

كن حذرًا عند استخدام الأمر dd لأنه سيؤدي إلى الكتابة فوق البيانات دون سابق إنذار! تحقق من الأوامر والمسارات الخاصة بك بعناية قبل تشغيلها.

قد تستغرق هذه العملية بعض الوقت حسب حجم المجلد، لذا كن صبورًا ولا تقاطعها. بمجرد الانتهاء، سيتم إنهاء العملية (ربما مع ظهور خطأ يفيد بأن المساحة غير كافية). بمجرد حدوث ذلك، يمكنك حذف الملف الذي تم حذفه وإيقاف تشغيل ضيف Linux الخاص بك:

sudo rm -rf /var/deleteme 

sudo shutdown now -h

الآن تمت تصفية المساحة غير المستخدمة على القرص الافتراضي الخاص بك وسيتمكن VirtualBox من استعادة المساحة على مضيفك عن طريق تقليصها. الخطوة الأخيرة هي استخدام الأمر vboxmanage لضغط صورة القرص الظاهري. قم بذلك عن طريق تشغيل:

vboxmanage modifymedium disk /path/to/image.vdi -compact 

يجب عليك تغيير /path/to/image.vdi إلى المسار من القرص الظاهري الذي تريد ضغطه. إذا كنت تستخدم نظام التشغيل Windows، فستحتاج إلى استخدام VBoxManage.exe كما يلي:

VBoxManage.exe modifymedium disk /path/to/image.vdi -compact

إذا لم يكن VBoxManage.exe متاحًا من سطر الأوامر على نظام Windows لديك، فتابع القراءة للحصول على إرشادات حول كيفية تمكينه.

ماذا فعل الأمر dd Linux؟

تستخدم هذه الطريقة لضغط ضيف VirtualBox Linux الأمر dd لكتابة ملف فارغ على القرص بحيث يمكن التعرف على المساحة الفارغة بواسطة VirtualBox.

يقوم الأمر dd (نسخ البيانات) بتحويل الملفات ونسخها، ويمكن استخدامه أيضًا لكتابة البيانات. يوفر الخيار "if" الذي تم تمريره إليه ملف الإدخال (في هذه الحالة، يوفر /dev/zero دفقًا ثابتًا من البيانات ذات القيمة الصفرية أو البيانات الخالية). يحدد الخيار "of" ملف الإخراج، ويتم كتابة هذا الدفق من البيانات الصفرية إليه. سيستمر هذا حتى يمتلئ القرص لأن /dev/zero لا يتوقف أبدًا عن تقديم بيانات فارغة.

استخدام VboxManage.exe في Windows

بشكل افتراضي، لا يتوفر VBoxManage.exe في سطر أوامر Windows. يمكنك إضافته عن طريق تحديث مسار نظام Windows الخاص بك ليشمل دليل تثبيت VirtualBox، أو استدعاء المسار الكامل للملف القابل للتنفيذ عند استخدامه:

& "C:/Path/To/VBoxManage.exe" modifymedium disk /path/to/image.vdi -compact
الرمز "&"، يسمى عامل الاتصال، الذي ينفذ الأمر المقتبس. يتيح لك هذا استخدام المسافات في المسار إلى الملف القابل للتنفيذ.

المزيد حول إدارة ضيوف VirtualBox

مع نمو ضيوفك، يمكنك زيادة حجم الأقراص الافتراضية الخاصة بهم وكذلك تقليلها. يتيح لك Snapshotting معرفة حالة جهازك الافتراضي في وقت معين وحفظه؛ إذا كنت تريد لاحقًا العودة إلى ما كانت عليه الأمور في تلك اللحظة بالضبط (على سبيل المثال بعد اختبار تغيير التكوين)، فيمكنك ببساطة التراجع وسيعود كل شيء كما كان.

VirtualBox هي أداة افتراضية قوية يتم استخدامها بشكل احترافي من قبل المطورين لبناء واختبار البرامج، والمستخدمين المنزليين لتشغيل البرامج والألعاب القديمة على أجهزة الكمبيوتر الحديثة، أو تشغيل أنظمة تشغيل أخرى دون الحاجة إلى شراء جهاز ثانٍ . يمكنك تشغيل Windows، وLinux، وChromeOS، وAndroid، وأنظمة التشغيل الأخرى على أجهزة MacOS، وWindows، وLinux Hosts.

تم حفظ تغييراتك

تم إرسال البريد الإلكتروني

لقد تم إرسال البريد الإلكتروني بالفعل

يرجى التحقق من عنوان بريدك الإلكتروني.

أرسل رسالة تأكيد عبر البريد الإلكتروني

لقد وصلت إلى الحد الأقصى في حسابك للموضوعات التي تتم متابعتها.

بيان الافراج هذه المقالة مستنسخة على: https://www.howtogeek.com/how-to-reclaim-disk-space-from-a-linux-virtual-machine-in-virtualbox/ إذا كان هناك أي انتهاك، يرجى الاتصال بـ Study_golang@ 163.com لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3