فهم كيفية فتح ملفات VMDK واستخراج المحتوى من ملفات VMDK مفيد عند مواجهة مشكلة مع جهاز افتراضي. قد تجد أن الآليات الافتراضية لا يمكن بدء تشغيلها بعد مشكلات في تثبيت التطبيقات، أو تحديثات نظام التشغيل، أو هجمات البرمجيات الخبيثة، أو حذف البيانات عن طريق الخطأ، وما إلى ذلك. عندما يحدث هذا، فإنك تفقد الوصول إلى القرص الافتراضي لجهاز الافتراضي.
لحسن الحظ، يمكنك فتح ملفات VMDK باستخدام WinZip، أو قارئ Linux، أو VMware Workstation Player. استمر في القراءة لتتعلم عن الطرق لاسترداد محتوى ملفات القرص الافتراضي VMDK. يرجى ملاحظة أن هذه الطرق تنطبق فقط إذا كان القرص الافتراضي غير مشفر أو تالف.
ما هو ملف VMDK؟
VMDK هو تنسيق ملف قرص الجهاز الظاهري، وهو التنسيق المفتوح الذي طورته VMware. هذا التنسيق للقرص الظاهري لديه امتداد .vmdk للملفات ويستخدمه VMware وVirtualBox لآليات الظواهر الافتراضية. ومع ذلك، فإن الآليات الافتراضية التي تقع على خوادم ESXi تستخدم تنسيقاً مختلفاً قليلاً لأقراص الظواهر الافتراضية vmdk. في مخزن بيانات ESXi، يعد ملف الوصف الافتراضي للقرص والمدى الظاهري للقرص الذي يحتوي على البيانات الخامة للقرص الافتراضي ملفين منفصلين.
نمط اسم وصف القرص الظاهري هو diskname.vmdk ونمط اسم مدى القرص الظاهري الذي يحتوي على جميع البيانات الخام هو diskname-flat.vmdk. أما بالنسبة لأقراص VMware Workstation فهي ممثلة بملف diskname.vmdk واحد (sparse monolithic)، وهو ملف بيانات مدى يحتوي على وصف مدى القرص الظاهري المضمن. يحدد وصف مدى القرص الظاهري هيكل القرص الظاهري، وهندسة القرص الظاهري، وإصدار الأجهزة الظاهرية، والمعرفات.
ملف وصف القرص الظاهري
A virtual disk descriptor is represented as plain text. On the left side of the screenshot below, you can see a virtual disk descriptor of the ESXi format (a vmdk file that can be opened with any text editor). On the right side of the screenshot, you can see the data of the virtual disk descriptor that is embedded into a single vmdk file of the VMware Workstation format. The vmdk file can be opened in a HEX editor.
كما يمكنك أن ترى، يتم كتابة البيانات المضمنة لوصف القرص إلى ملف vmdk الأحادي لتنسيق Workstation من العنوان 0x200، وهو رقم البايت الأول. إذا قمت بتحويل القيمة 200 HEX إلى صيغة ثنائية وعشرية، ستحصل على:
200 HEX = 1000000000 Binary = 512 Decimal
وهذا يعني أنه إذا أردت استخراج الوصف المضمن من ملف vmdk، يجب عليك استخراج جزء من البيانات بدءًا من البايت 512. يمكنك العثور على مزيد من المعلومات حول ملفات وصف أقراص VMware الظاهرية ومعرفة كيفية استخراج وتحرير واستيراد وصف قرص ظاهري مضمن في مدونة حول تحويل آلات الافتراضية VMware إلى آلات الافتراضية Hyper-V.
ملف بيانات القرص الظاهري
في الصورة أدناه، يتم فتح ملفين للقرص الافتراضي في محرر HEX. نظام التشغيل نفسه مثبت على كل من الأقراص الافتراضية (تم إنشاء وتهيئة القسم الأول المستخدم لتثبيت نظام التشغيل باستخدام أداة القرص المدمجة في ويندوز). على الجانب الأيسر من الصورة يتم عرض ملف –flat.vmdk (تنسيق ESXi). يتم كتابة البيانات الخام من 0x00000000 على هذا القرص الافتراضي –flat.vmdk. على الجانب الأيمن من الصورة، يتم عرض القرص الافتراضي بتنسيق Workstation، وتتم كتابة نفس البيانات من 0x00150000 (رقم البايت 5376)، وهو ليس بداية ملف vmdk.
الآن، بعد التعرف على النظرية، حان الوقت للجزء العملي. قبل المتابعة، من الأفضل أن تقوم بنسخ احتياطية لبياناتك لتجنب أي ضرر محتمل للقرص الافتراضي. قم بإجراء العمليات على الأقراص الخاصة بك على مسؤوليتك الشخصية وعلى خطرك.
طريقتين لفتح ملفات VMDK عند تشغيل VM
لفتح ملفات VMDK عند تشغيل VMs الحالية، تحتاج إلى وجود مثبت مثل VMware ESXi، VMware Workstation، VMware Player، أو Oracle VirtualBox على الكمبيوتر الفعلي الخاص بك. يمكنك اختيار الطريقة التقليدية عن طريق استخدام DVD مباشر أو عن طريق تركيب ملف VMDK كقرص افتراضي.
الطريقة 1: استخدام DVD مباشر حتى لو كان نظام التشغيل على VM قد توقف
الفكرة وراء هذه الطريقة هي أن لديك جهاز افتراضي ويمكنك تشغيله من قرص DVD. يمكن استخدام صورة القرص ISO كقرص DVD يتم إدراجه في محرك DVD الافتراضي للجهاز الافتراضي. بعد تشغيل نظام التشغيل من وسائط DVD، يمكنك تثبيت أقسام القرص الافتراضي ونسخ الملفات من القرص الافتراضي إلى قرص صلب USB متصل بالجهاز الافتراضي أو بجهاز الاستضافة الخاص بك، أو إلى أي جهاز آخر عبر الشبكة. تقوم بعض توزيعات أقراص Live DVD بتثبيت الأقراص (الأقسام) تلقائيًا.
هذه طريقة تقليدية لأن المبدأ مشابه لنسخ الملفات من أقراص فيزيائية لأجهزة كمبيوتر فيزيائية عندما لا يمكن تشغيل نظام التشغيل المثبت. يمكن استخدام هذه الطريقة لاستخراج البيانات من أقراص VMDK لأجهزة الكمبيوتر الافتراضية التي تعمل على VMware ESXi وVMware Player/Workstation.
كن على علم بأن نظام التشغيل الذي يتم تشغيله من Live DVD يجب أن يتعرف على أنظمة الملفات لأقسام القرص الافتراضي الذي ترغب في الوصول إلى ملفاته. على سبيل المثال، لا يمكن لنظام Windows العمل مع أنظمة ملفات Linux مثل EXT3، EXT4، ReiserFS، إلخ، بشكل افتراضي. يمكن أن تساعد استخدام أدوات إضافية على نظام Windows في حل هذه المشكلة. بدوره، يتعرف نظام Linux الحديث على أنظمة ملفات Windows مثل NTFS وFAT32، وهذا هو السبب في أنه يمكنك استخدام أقراص Live DVD مبنية على Linux لنسخ الملفات المخزنة على الأقراص الافتراضية المستخدمة من قبل جهاز الكمبيوتر الافتراضي الخاص بك الذي لا يمكن تشغيله.
مثال: فتح ملفات VMDK على ESXi
لنأخذ مثالاً على تطبيق هذه الطريقة: لديك جهاز افتراضي مع Windows Server 2016 على مضيف ESXi، ولا يمكن لنظام التشغيل على الجهاز الافتراضي البدء، لكنك بحاجة إلى الحصول على الملفات المسجلة على القرص الظاهري VMDK. هناك قسمان NTFS على القرص الظاهري: القسم النظامي للتمهيد والقرص C. يُستخدم صورة ISO الرسمية لتثبيت Ubuntu 18 في هذا المثال. يمكن استخدام وسائط التثبيت لـ Ubuntu كقرص DVD مباشر.
ملاحظة: يُعتبر سير العمل لإصدارات أحدث من المنتجات المعتبرة في هذا المقال هو نفسه. يمكنك استخدام VMware Workstation 17، ESXi 8.0، Windows Server 2019، Ubuntu Linux 22.04، إلخ، واستخدام مبدأ العمل المشروح في هذه المقالة.
- قم بتحميل صورة ISO إلى مستودع البيانات الذي يمكن الوصول إليه من قبل مضيف ESXi الذي يتواجد عليه الجهاز الافتراضي.
-
افتح VMware vSphere Client، انتقل إلى المضيف والمجموعات، حدد الجهاز الافتراضي الخاص بك، وانقر فوق تعديل الإعدادات.
- في نافذة إعدادات الآلة الظاهرية، انتقل إلى خيارات محرك CD/DVD. حدد خيار ملف الـ ISO في مخزن البيانات إذا كان لديك ملف ISO اللازم في مخزن البيانات الذي يمكن الوصول إليه بواسطة مضيف ESXi. ثم، بالنسبة لخيار وسائط CD/DVD، انقر فوق تصفح وحدد ملف ISO المناسب في مخزن البيانات. اسم الملف هو ubuntu-18.04.1-desktop-amd64.iso في هذه الحالة.
- ابدأ الآلة الظاهرية، وأقلع من صورة الـ ISO، وحدد “جرب أوبونتو بدون تثبيت”. بمجرد أن تبدأ أوبونتو من وسائط DVD المباشرة، افتح الوحدة (Terminal).
- احصل على صلاحيات الجذر:
sudo -i
- قائمة الأجهزة الصلبة المتاحة:
ls -al /dev/sd*
هناك قسمان – /dev/sda1 و /dev/sda2
- قم بإنشاء مجلدات تُستخدم كنقاط تثبيت لكل قسم:
mkdir /mnt/win-disk1
mkdir /mnt/win-disk2
-
mount /dev/sda1 /mnt/win-disk1/
mount /dev/sda2 /mnt/win-disk2/
- ثم قم بسرد الملفات والدلائل في الأقسام المُعَلَّقَة:
ls -al /mnt/win-disk2/
ls -al /mnt/win-disk1/
كما يمكنك رؤية في اللقطة أعلاه، القسم المُعَلَّق على /mnt/win-disk2 هو القسم المستخدم كقرص C: في نظام التشغيل ويندوز.
- يمكنك الآن توصيل قرص صلب USB (HDD) بمنفذ USB في مضيف ESXi الخاص بك وتوصيل هذا القرص الثابت إلى الجهاز الظاهري باستخدام ميزة تمرير USB. بهذه الطريقة يمكنك نسخ الملفات الضرورية المخزنة على ملف VMDK المستخدم كقرص افتراضي من قبل الجهاز الظاهري. طريقة أخرى هي استخدام مشاركة SMB (CIFS) ونسخ محتويات القرص الظاهري (أي ملف VMDK) إلى موقع آخر عبر الشبكة.
في هذا المثال، نشرح كيفية نسخ البيانات إلى مشاركة SMB. تم إنشاء مشاركة SMB على المضيف الذي يحمل عنوان IP 192.168.17.125، اسم المشاركة هو \\192.168.17.125\share، ولدى user10 صلاحيات كتابة لهذه المشاركة. لا تنسى أن Linux، على عكس Windows، يستخدم شرطة القطع عند الاتصال بالمشاركة.
لنقم بتوصيل مشاركة SMB (CIFS) على Linux المحمل من القرص المضغوط المباشر. أولاً، قم بإنشاء دليل يستخدم كنقطة تثبيت.
mkdir /mnt/smb-share
- ثم قم بتوصيل مشاركة SMB (CIFS) إلى هذا الدليل:
mount -t cifs -o user=user10 //192.168.17.125/share /mnt/smb-share
- أدخل كلمة مرور المستخدم.
- الآن، نظام Linux الخاص بك متصل بالمشاركة SMB، ويمكنك نسخ المحتويات المخزنة داخل ملف VMDK إلى المشاركة SMB عبر الشبكة.
لنذهب إلى الدليل الذي تم تثبيت المشاركة SMB عليه وننسخ ملف bootmgr من القسم المثبت للقرص الظاهري (ملف VMDK على مخزن بيانات ESXi) إلى الدليل الحالي (المشاركة SMB).
cd /mnt/smb-share
cp /mnt/win-disk-2/bootmgr
- ثم تأكد من نسخ الملفات اللازمة، وتحقق من محتويات مشاركة SMB الخاصة بك.
ls -al /mnt/smb-share
كما يمكنك رؤية في اللقطة المصورة أعلاه، تم نسخ الملف bootmgr المستخدم في هذا المثال بنجاح. الآن تعرف الطريقة الأولى لنسخ محتويات ملف VMDK إلى موقع آخر عندما لا يمكن لنظام التشغيل المثبت على آلة افتراضية البدء. منطق استخدام هذه الطريقة على VMware Player أو VMware Workstation هو نفسه.
الطريقة الثانية: تثبيت ملف VMDK كقرص افتراضي في آلة افتراضية سليمة (ESXi/Workstation/Player)
هذه الطريقة مشابهة للطريقة السابقة، ولكن في هذه الحالة، يجب تثبيت قرص VMDK الافتراضي على آلة افتراضية موجودة لديها نظام تشغيل يعمل بشكل صحيح. يمكنك تثبيت ملف VMDK كقرص افتراضي إضافي على آلة افتراضية موجودة تعمل على مضيف ESXi، VMware Workstation، و VMware Player.
إذا كنت ترغب في فتح ملف VMDK لآلة افتراضية ESXi على VMware Workstation أو Player ، فيجب عليك نسخ كل من القرص الافتراضي ووصفه (vmdk و-flat.vmdk الملفات) إلى قرص فيزيائي يمكن الوصول إليه لجهاز الكمبيوتر الخاص بك حيث تم تثبيت VMware Workstation أو Player. إذا تم التقاط اللقطات الفورية للآلة الافتراضية ، وتم إجراء تغييرات على أقراص الآلة الافتراضية بعد ذلك ، فلا تنسى نسخ ملفات VMDK لأقراص الفارق (التغيير) الافتراضية بالإضافة إلى ملفات VMDK الأصلية.
لننظر إلى مثالين:
المثال 1: كيفية فتح قرص افتراضي VMDK لآلة افتراضية واحدة باستخدام آلة افتراضية أخرى على مضيف ESXi (كلاهما مسجل على مضيف ESXi)
المثال 2: كيفية استخراج المحتوى من قرص افتراضي VMDK لآلة افتراضية ESXi عن طريق تثبيت القرص الافتراضي على آلة افتراضية بتنسيق VMware Workstation
تذكر أن نظام التشغيل الفعال على الآلة الأولى (السليمة) يجب أن يكون متوافقًا مع أنظمة الملفات المستخدمة على القرص الافتراضي للآلة الثانية التي تحتوي على نظام تشغيل غير قابل للتشغيل (آلة افتراضية تريد تثبيت ملف VMDK كقرص افتراضي إضافي لاستخراج الملفات).
المثال 1: تثبيت قرص افتراضي على آلة تعمل على ESXi
- أوقف تشغيل الآلة التي تستخدم قرصًا افتراضيًا منه تريد استخراج الملفات منه.
- ابحث عن هذا القرص الافتراضي في مخزن البيانات ESXi.
- انسخ القرص الظاهري إلى دليل آخر على نفس مخزن البيانات أو مخزن بيانات آخر لتجنب حدوث خطأ ناتج عن قفل القرص الظاهري. في مثالنا، سنوضح كيفية فتح ملف VMDK الذي يحمل الاسم Win-test2.vmdk (هذا هو قرص ظاهري لجهاز الكمبيوتر الظاهري Win-test2 في حالتنا). يتم إدارة مضيف ESXi بواسطة vCenter. إذا كنت تستخدم مضيف ESXi مستقل دون vCenter، يمكنك استخدام المنطق الموضح في هذا المثال – الفروقات تكمن فقط في واجهة المستخدم.
- افتح عميل VMware vSphere، انتقل إلى التخزين، وحدد مخزن البيانات الذي يحتوي على ملف VMDK اللازم. حدد ملف VMDK وانقر على نسخ إلى.
ملاحظة: إذا كنت تمتلك مضيف ESXi مستقل وليس لديك vCenter، افتح عميل VMware Host عن طريق إدخال عنوان IP لمضيف ESXi الخاص بك في متصفح الويب، ثم انتقل إلى التخزين > [اسم مخزن البيانات الخاص بك] > مستعرض مخزن البيانات، حدد ملف VMDK الخاص بك وانقر على نسخ. حدد المكان الوجهة وانقر على زر نسخ لتأكيد العملية. تذكر أن الأقراص الظاهرية تُعرض كملفات VMDK في واجهة الويب لعميل VMware vSphere وعميل VMware Host، ولكن القرص الظاهري يتألف من ملفات –flat.vmdk و vmdk (قرص ظاهري ووصفه). يمكنك أيضًا فتح واجهة التحكم ESXi مباشرةً على الخادم أو عن طريق الاتصال عبر SSH لنسخ الملفات.
- في النافذة المفتوحة، حدد الوجهة. يمكنك نسخ ملف VMDK إلى موقع ما على نفس مجموعة البيانات أو إلى مجموعة بيانات أخرى. دعنا ننسخ ملف VMDK إلى الدليل الجذري لنفس مجموعة البيانات لهذا التوضيح. يتم نسخ كل من ملفات vmdk و–flat.vmdk في هذه الحالة.
- الآن تحتاج إلى ربط قرص الفيرتوال VMDK بجهاز الـ VM السليم الآخر الذي يعمل نظام التشغيل فيه بشكل صحيح. في هذا المثال، يتم استخدام جهاز VM يعمل بنظام Windows Server 2016 على نفس مضيف ESXi (اسم الـ VM هو WinServer2016). يمكن ربط قرص افتراضي بهذا الـ VM السليم بينما يعمل الـ VM. في عميل vSphere، انتقل إلى Hosts and Clusters، حدد الـ VM السليم، انقر بزر الماوس الأيمن على الـ VM، وانقر على Edit Settings.
- في النافذة التي تظهر، انقر على Add New Device واختر Existing Hard Disk.
- حدد نسخة من ملف VMDK الذي قمت بإنشائه مسبقًا. في المثال الحالي، تم اختيار نسخة من Win-test2.vmdk الموجودة في الدليل الجذري لمستودع البيانات.
- قم بتشغيل الـ VM السليم الذي قمت بربط قرصه الافتراضي به، إذا لم يتم تشغيل الـ VM بعد. يتم إضافة قرص افتراضي على الطاير لـ VM يعمل بنظام Windows Server 2016.
- في نظام التشغيل Windows الضيف، اذهب إلى إدارة الكمبيوتر > إدارة الأقراص (أو قم بتشغيل diskmgmt.msc في سطر الأوامر) وابحث عن القرص الافتراضي المرفق بك. بشكل افتراضي، يكون القرص المرفق الجديد غير متصل بالشبكة. انقر بزر الماوس الأيمن على القرص واضغط على متصل بالشبكة. يجب تعيين حرف للقرص تلقائيًا للأقسام على القرص المضاف. إذا لم يتم تعيين حرف للقرص لقسم ما، انقر بزر الماوس الأيمن على القسم وانقر على تغيير حرف المحرك والمسارات.
- الآن لديك وصول كامل (قراءة/كتابة) إلى الملفات والمجلدات على القرص الافتراضي VMDK. فقط افتح القرص المركب في مستكشف Windows وانسخ المحتوى الضروري من ملف VMDK المركب إلى الآلة الظاهرية السليمة. يمكنك أيضًا حذف البيانات غير الضرورية من القرص الافتراضي VMDK المرفق (على سبيل المثال، إذا كانت هناك ملفات تم إنشاؤها بواسطة فيروسات)، لكن كن حذرًا ولا تؤذي القرص الافتراضي إذا كانت هناك لقطات ذات صلة للقرص VMDK المركب.
مثال 2: تركيب قرص افتراضي على آلة افتراضية تعمل على VMware Player أو Workstation
تم استخدام هذا المثال بطريقة مشابهة للمثال السابق، ولكن باستخدام آلة افتراضية تعمل على برنامج VMware Workstation لفتح ملفات VMDK لآلة افتراضية ESXi. يمكن استخدام هذه الطريقة عندما لا تتوفر مساحة حرة على تخزين البيانات ESXi لنسخ قرص افتراضي، على سبيل المثال. سيتم توصيل قرص افتراضي لآلة افتراضية Win-test2 الذي تم ذكره في المثال السابق إلى آلة افتراضية VMware Workstation لاستخراج محتواه.
- في VMware vSphere Client، انتقل إلى التخزين > [اسم مستودع البيانات الخاص بك] > الملفات، حدد ملف VMDK الخاص بك واضغط تنزيل.
كما تتذكر، يتكون القرص الظاهري بتنسيق ESXi من ملفات vmdk و-flat.vmdk. تحتاج إلى تنزيل كل من هاتين الملفتين إلى جهازك حيث تم تثبيت برنامج VMware Workstation أو VMware Player. عندما تقوم بتنزيل قرص ظاهري من مستودع بيانات ESXi باستخدام عميل HTML5 لـ VMware vSphere، يتم ضغط هاتين الملفتين في أرشيف ZIP واحد.
كبديل، يمكنك تمكين الوصول عبر SSH إلى مضيف ESXi الخاص بك، انتقل إلى دليل المستودع وانسخ كل من ملفات القرص الظاهري إلى جهازك يدويًا باستخدام عميل SCP، على سبيل المثال، WinSCP.
ملاحظة: عندما تقوم بتنزيل قرص ظاهري بتوفير نحيف من مستودع بيانات ESXi الذي يحتوي على نظام ملفات VMFS إلى جهاز الكمبيوتر الخاص بك، ستحصل على ملف vmdk خفيف الوزن وملف –flat.vmdk حجمه يساوي الحجم المقرر بحد أقصى للقرص الظاهري (كما تفعل عندما تقوم بتنزيل قرص ظاهري مقرن بحجم سميك). هذا لأن التوفير النحيف يمكن اعتباره ميزة لنظام ملفات VMFS.
الآن يمكنك رؤية ملفين للقرص الظاهري بتنسيق ESXi قد تم تنزيلهما في أرشيف ZIP. حجم القرص الظاهري بالتوفير النحيف على مستودع بيانات VMFS حوالي 2 غيغابايت الآن (انظر إلى لقطة الشاشة أعلاه)، وحجم نفس القرص المنزل إلى جهاز العمل حوالي 8 غيغابايت (انظر إلى لقطة الشاشة أدناه).
- فك ضغط الملفين من الأرشيف. بشكل افتراضي، يتم استخراج الملفات إلى دليل Win-test2.vmdk، الذي يحمل نفس اسم الأرشيف ولكن بدون امتداد الملف.
- لهذه الخطوة، يجب أن يكون لديك آلة افتراضية سليمة بنظام تشغيل يعمل عليها على جهازك مع VMware Workstation أو Player مثبتة. بينما في المثال السابق، تم استخدام آلة افتراضية تعمل بنظام Windows Server 2016، يتم استخدام آلة افتراضية سليمة تعمل بنظام Windows Server 2008 في هذا المثال.
افتح VMware Workstation أو VMware Player، اختر آلتك الافتراضية السليمة، وعدل إعدادات الآلة الافتراضية.
- في علامة الأجهزة، انقر على زر إضافة.
- في معالج إضافة الأجهزة الذي يفتح، حدد قرص صلب كنوع للجهاز. ثم، حدد نوعًا من الأقراص (يمكنك ترك القيمة الموصى بها). على شاشة تحديد قرص، حدد الخيار استخدام قرص افتراضي موجود.
- حدد ملف vmdk (ليس – flat.vmdk) الذي قمت بتوجيهه من ملف الأرشيف ZIP. يمكنك تصفح الملف أو إدخال المسار الكامل للملف يدويًا.
في هذا المثال، يتم استخدام ESXi 6.5 و VMware Workstation 15. يحتوي جهاز VMware Workstation الذي يعمل بنظام التشغيل Windows Server 2008 في مثالنا على إصدار عتاد Workstation 12 (إصدار VM 12). الجهاز الافتراضي ESXi الذي نريد توصيل قرصه الافتراضي لديه إصدار VM 7.
- يتم الحصول على رسالة خطأ في VMware Workstation تقول أن القرص الافتراضي الذي تم نسخه من مضيف ESXi ليس متوافقًا مع هذا الجهاز الافتراضي:
يمكن حل هذا الخطأ عن طريق تحرير ملف وصف القرص (الملف الخفيف vmdk في حالة الأقراص الافتراضية لأجهزة ESXi). قم بفتح ملف VMDK الخاص بك في محرر النصوص وقم بتحرير الرقم في سلسلة Ddb.virtualHWVersion. في حالتنا، يتم تغيير الرقم 13 إلى 12.
ملاحظة: تذكر أنه بالنسبة لأقراص VMware Workstation VMs الافتراضية، يتم بناء وصف قرص افتراضي في ملف VMDK للقرص الافتراضي (لا يوجد ملف وصف منفصل كما هو الحال بالنسبة لأقراص VMs ESXi).
بعد تحرير الملف، يتم إضافة القرص الافتراضي بنجاح إلى الجهاز الافتراضي الحالي.
- قم بتشغيل الآلة الافتراضية إذا لم يتم تشغيلها بعد.
- افتح إدارة الأقراص في نظام Windows، وقم بتغيير حالة القرص الافتراضي إلى متصل بالإنترنت، وقم بتعيين حرف محرك للقسم، وتصفح الملفات.
كيفية استخراج البيانات من ملف VMDK دون تشغيل آلة افتراضية
للأساليب التي لا تتطلب تكوين وتشغيل آلة افتراضية لها مزاياها الخاصة. بعض هذه الطرق لا تتطلب تثبيت مفرز الأجهزة الافتراضية. يمكنك توصيل ملفات VMDK مباشرة بنظام التشغيل الخاص بالمضيف في فترة زمنية قصيرة.
الطريقة 1: توصيل ملفات VMDK في نظام التشغيل المضيف باستخدام VMware Workstation
هذه الطريقة تتطلب تثبيت VMware Workstation على نظام التشغيل Windows أو Linux الذي يعمل على جهاز الكمبيوتر الخاص بك. توفر VMware Workstation ميزة جميلة تسمح لك بتركيب ملفات VMDK على نظام التشغيل المضيف الخاص بك. تدعم أقراص ESXi وأقراص الدلتا المتعلقة باللقطات الافتراضية. بالمثل، مثل جميع الطرق السابقة المعتبرة في هذا المنشور في المدونة، يجب أن يدعم نظام التشغيل الخاص بك أنظمة ملفات أقسام القرص الافتراضي.
إذا كانت لديك لقطات لجهاز الكمبيوتر الافتراضي الخاص بك، يتم إنشاء الأقراص الافتراضية الدلتا بعد إنشاء كل لقطة. يجب أن تكون لديك أقراص افتراضية رئيسية وأقراص دلتا متاحة إذا كنت ترغب في فتح حالة القرص الافتراضي في اللحظة التي تلي أخذ إحدى اللقطات الافتراضية. في هذه الحالة، يجب عليك تركيب القرص الافتراضي الدلتا المناسب على نظام التشغيل المضيف الخاص بك. سيتم حل التبعيات المتعلقة بالقرص الافتراضي الرئيسي تلقائياً.
إذا كانت لديك لقطات ولكن ترغب في فتح القرص الافتراضي الرئيسي، فافتح القرص الافتراضي الرئيسي في وضع القراءة فقط. هذا لأن إجراء تغييرات على القرص الافتراضي الرئيسي قد يتسبب في تلف اللقطات الافتراضية أو النسخ المرتبطة التي تم إنشاؤها من جهاز كمبيوتر افتراضي رئيسي بالقرص الافتراضي الرئيسي. يمنعك وضع القراءة فقط من كتابة البيانات على القرص الافتراضي بعد تركيب القرص على نظام التشغيل المضيف. يمكنك تثبيت ملفات القرص الافتراضي VMDK إذا كان جهاز كمبيوتر افتراضي يستخدم هذا القرص الافتراضي متوقفًا، أو إذا لم يكن جهاز كمبيوتر افتراضي معين يستخدم هذا القرص الافتراضي.
دعونا نلقي نظرة على كيفية تثبيت قرص افتراضي VMDK لجهاز VMware Workstation الذي يحتوي على لقطات. يتم تثبيت نظام التشغيل Windows على قسم NTFS واحد على قرص افتراضي للجهاز الافتراضي. بعد التقاط اللقطة الأولى، يتم إنشاء ملف Snapshot1.txt في الدليل الجذري للقرص C: وبالمثل، بعد التقاط اللقطة الثانية، يتم إنشاء ملف Snapshot2.txt هناك. المثال الأول لنظام Linux، والمثال الثاني لنظام Windows. تستخدم ملفات القرص الافتراضي لجهاز VMware القديم الذي يعمل بنظام Windows XP في هذا المثال.
المثال 1: تثبيت VMDK على مضيف Linux
- افتح VMware Workstation لنظام Linux وانتقل إلى ملف> تثبيت الأقراص الافتراضية.
- انقر فوق تثبيت القرص، ويفتح نافذة منبثقة. انقر فوق استعراض وحدد ملف قرص الافتراضي VMDK.
- لنختار ملف VMDK للقرص الافتراضي التفاضلي الثاني الذي تم إنشاؤه بعد أخذ لقطة الآلة الظاهرية الثانية. يظهر اسم هذا الملف على أنه VM_name-000002.vmdk في مثل هذه الحالات (WinXP-test-000002.vmdk يستخدم في هذا المثال).
- قم بإنشاء الدليل على نظام الملفات الخاص بك لتثبيت قرص افتراضي بتنسيق VMDK في ذلك الدليل. لنقم بإنشاء الدليل /mnt/vmdk/ في وحدة التحكم في Linux.
mkdir /mnt/vmdk/
- قم بتعيين الأذونات للمستخدم الخاص بك (اسم المستخدم هو user1 وهو عضو في group1 في هذا المثال):
chown -R user1:group1 /mnt/vmdk/
chmod -R 0775 /mnt/vmdk/
- الآن، حدد الدليل الذي قمت بإنشائه كدليل هدف، ثم قم بالتحقق من خانة الاختيار “تثبيت بوضع القراءة فقط” وانقر تثبيت.
- الآن يمكنك فتح الدليل /mnt/vmdk/ في مستكشف الملفات الخاص بنظام Linux الخاص بك وتصفح الملفات والدلائل الموجودة على القرص الافتراضي VMDK. يمكنك رؤية ملفات Snapshot1.txt و Snapshot2.txt التي تم إنشاؤها بعد إنشاء اللقطات الأولى والثانية في هذا المثال. كل من هذين الملفين موجود على قرص افتراضي VMDK تفاضلي منفصل.
- لا تنسَ فصل القرص الافتراضي VMDK من الدليل (نقطة الارتباط) على نظام Linux المضيف الخاص بك عند الانتهاء من العمليات على محتوى القرص الافتراضي.
إذا كنت تفضل استخدام واجهة السطر، يمكنك تثبيت صور الأقراص VMDK على مضيف Linux في واجهة السطر باستخدام هذا الأمر:
vmware-mount /media/user1/vms/vm_name/vm_disk_name-000002.vmdk /mnt/vmdk
حيث:
اسم_vm هو اسم الجهاز الافتراضي الذي يكون نفس اسم دليل الجهاز الافتراضي في هذه الحالة. WinXP-test هو اسم الجهاز الافتراضي في مثالنا.
اسم_قرص_vm هو اسم القرص الافتراضي (WinXP-test.vmdk يُستخدم في هذا المثال).
vm_disk_name-000001.vmdk هو اسم القرص التفاعلي الأول (الفارق) الذي تم إنشاؤه بعد التقاط لقطة الشاشة الأولى للآلة الظاهرية (WinXP-test-000001.vmdk في هذه الحالة).
vm_disk_name-000002.vmdk هو اسم القرص التفاعلي الثاني الذي تم إنشاؤه بعد التقاط لقطة الشاشة الثانية للآلة الظاهرية بالتالي (WinXP-test-000002.vmdk في هذه الحالة).
- قم بتثبيت القرص الظاهري. بشكل افتراضي، يتم تثبيت القرص الظاهري في وضع القراءة/الكتابة. يمكنك استخدام المفتاح -r في سطر الأوامر لتثبيت القرص بوضع القراءة فقط.
vmware-mount /media/user1/vms/vm_name/vm_disk_name-000002.vmdk /mnt/vmdk
- عرض جميع الأقراص الظاهرية المثبتة VMDK:
vmware-mount -L
- قبل الانتهاء من العمل مع الأقراص الظاهرية المثبتة VMDK، قم بإلغاء تثبيت جميع الأقراص الظاهرية:
vmware-mount -x
المثال 2: كيفية تثبيت VMDK على المضيف الخاص بنظام Windows
فكرة كيفية تثبيت ملفات VMDK في نظام Windows مماثلة. بالإضافة إلى الخيار الملف > تعيين الأقراص الظاهرية في واجهة المستخدم الرسومية (GUI) لبرنامج VMware Workstation، يمكنك اتباع الخطوات أدناه. دعونا نقوم بتثبيت ملف VMDK للقرص الظاهري التفاعلي الفرقي الأول الذي تم إنشاؤه بعد التقاط لقطة الشاشة الأولى للآلة الظاهرية. اسم هذا الملف VMDK له الصيغة التالية: اسم_الآلة-000001.vmdk (WinXP-test-000001.vmdk مفتوح في هذا البرنامج التعليمي).
- انقر بزر الماوس الأيمن فوق ملف VMDK في مستكشف Windows وانقر على تعيين قرص افتراضي.
- حدد المعلمات لتثبيت ملف VMDK. من المُفضل فتح ملف VMDK في وضع القراءة فقط لتجنب أي ضرر محتمل للأقراص الافتراضية التابعة لسلسلة اللقطات بعد كتابة البيانات. حرف القرص الافتراضي هو Z: في هذه الحالة، ويتم فتح المحرك في مستكشف Windows تلقائيًا بعد التعيين إذا تم تحديد مربع الاختيار المناسب. انقر على موافق للمتابعة.
- الآن تم تثبيت القرص الافتراضي كقرص Z: في Windows، ويمكنك قراءة محتويات ملف vmdk. في اللقطة الشاشية أدناه، يمكنك رؤية ملف Snapshot1.txt الذي تم إنشاؤه بعد أخذ اللقطة الأولى. ملف Snapshot2.txt غير موجود لأنه تم إنشاؤه بعد أخذ اللقطة الثانية للآلة الظاهرية، وقمنا بفتح قرص افتراضي تابع للقرص الأول.
- عند الانتهاء من العمل مع قرص الـ VMDK الافتراضي، لا تنسَ فصل القرص. انقر بزر الماوس الأيمن فوق ملف VMDK المناسب ثم انقر على فصل القرص الافتراضي. بعد فصل القرص الافتراضي، يمكنك تشغيل ذلك الآلة الظاهرية التي تستخدم هذا القرص الافتراضي.
الطريقة الثانية: استخدام 7-zip لاستخراج المحتوى من ملفات VMDK
إذا كنت تبحث عن كيفية فتح ملفات VMDK دون تشغيل الآلات الظاهرية، يمكنك تثبيت 7-zip واستخراج المحتوى من صور الأقراص الظاهرية. 7-zip هي أداة مجانية مصممة لضغط الملفات وفك ضغط الملفات من الأرشيفات والصور الأخرى. يمكنك استخدام 7zip كمستخرج لملفات vmdk. يمكن استخدام هذه الأداة على أجهزة Linux و Windows.
يمكن لـ 7-zip فتح ملفات vmdk و –flat.vmdk (يمكن لهذه الأداة فتح ملف –flat.vmdk الفردي إذا كان ملف الوصف vmdk مفقودًا) – في الواقع، فإن 7-zip مخصصة للأقراص الظاهرية بتنسيق ESXi. لا يمكن لـ 7-zip فتح ملفات VMDK دلتا التي تم إنشاؤها بعد التقاط لقطات VM.
كيفية فتح ملف VMDK باستخدام 7-zip على Linux
- قم بتثبيت حزمة كاملة من 7-zip على جهاز Linux الخاص بك. يتم استخدام Ubuntu في هذا المثال.
apt-get install p7zip-full
- قائمة محتويات ملف vmdk باستخدام 7-zip:
7z l اسم_الآلة_الظاهرية.vmdk
- لنجد الملفات التي تحتوي على “boot” في أسمائها، على سبيل المثال:
7z l /media/user1/vms/WinXP-test/WinXP-test.vmdk | grep boot[.]
حيث user1 هو اسم مستخدم Linux الخاص بنا، l – قائمة.
- لنستخرج (e) ملف boot.ini من صورة VMDK:
7z e /media/user1/vms/WinXP-test/WinXP-test.vmdk boot.ini
يمكنك استخراج ملفات ومجلدات أخرى من ملف VMDK بنفس الطريقة.
كيفية فتح ملفات VMDK باستخدام 7-zip على نظام Windows
- قم بتنزيل الإصدار المتوافق من 7-zip من الموقع الرسمي وقم بتثبيت التطبيق على جهاز الكمبيوتر الخاص بك. استخدم مثبت EXE للمزيد من الراحة.
- بعد تثبيت 7-zip على Windows، يتم إضافة خيارات 7-zip الجديدة إلى القائمة المنسدلة عند النقر بزر الماوس الأيمن على أي ملف أو مجلد في مستكشف Windows (انظر إلى الصورة أدناه). استخدم هذه الخيارات لفتح ملف VMDK كأرشيف أو استخراج الملفات الآن.
- في الصورة أدناه، يتم عرض محتوى الملف Win-test2-flat.vmdk المستقل في واجهة المستخدم الرسومية لـ 7-zip المستخدمة في Windows. يمكنك استخراج محتويات VMDK التي تحتاجها.
كيفية تثبيت ملفات VMDK في Linux (طرق أخرى)
أحد أقوى قدرات Linux هو القدرة على أداء أعلى عدد من العمليات في وحدة التحكم، حتى مع الأدوات المدمجة. ستساعدك هذه الأدوات في تثبيت ملفات VMDK والوصول إلى المحتوى المخزن على الأقراص الافتراضية. يتم استخدام Ubuntu Linux في الأمثلة المقدمة.
الطريقة 1: كيفية تثبيت ملف VMDK باستخدام /dev/loop
أجهزة الحلقة هي أجهزة زائفة في نظام Linux، تجعل الملفات متاحة كأجهزة كتلة ويمكن استخدامها لتحميل صور الأقراص التي تحتوي على نظم الملفات. تسمى أجهزة الحلقة باسم /dev/loopX حيث يكون X هو رقم جهاز الحلقة. هذه الطريقة جيدة لتحميل ملفات – flat.vmdk حتى بدون وجود وصف تخطيط افتراضي للقرص.
لنستكشف كيفية تحميل ملف VMDK في نظام Linux للوصول إلى ملفات القرص الافتراضي كمثال. هناك قرص افتراضي بتنسيق ESXi يحتوي على قسم واحد – ويفتقد ملف الوصف. منذ وقت طويل، تم تثبيت Windows XP على ذلك القرص الافتراضي.
- استخدم أحد الأوامرين التاليين للتحقق من عدد أجهزة الحلقة الموجودة في نظام Linux الخاص بك.
fdisk -l | grep /dev/loop
df -h | grep /dev/loop
- في حالتنا، الأجهزة ذات الأرقام من 1 إلى 21 موجودة بالفعل (/dev/loop1 – /dev/loop21). لذا، دعونا ننشئ جهاز حلقة بالرقم 30 – هذا الرقم متاح. سنقوم بربط هذا الجهاز بالملف – flat.vmdk.
losetup /dev/loop30 /vms/Win-test2-flat.vmdk
-
losetup -o 32256 /dev/loop31 /dev/loop30
حيث 32256 هو الإزاحة التي تُساوي 63 * 512 لقرص مهيئ في نظام تشغيل Windows XP/Server 2003 والإصدارات القديمة من نظام Windows الأخرى (63 هو رقم القطاع الأول للقسم، و512 بايت هو حجم القطاع). بالنسبة لـ Windows 7/Server 2008 وإصدارات Windows الأحدث، جرب الإزاحة 105906176.
يمكنك استرداد المعلومات حول حجم القطاع والقطاع الأول المستخدم لبدء التمهيد باستخدام الأمر التالي:
fdisk -l /dev/loop30 /vms/Win-test2-flat.vmdk
بدلاً من ذلك، لأقراص افتراضية تحتوي على عدة أقسام، يمكنك استخدام parted لتحديد بداية ونهاية كل قسم:
parted /dev/loop30
في واجهة الـ parted، أدخل الأوامر التالية:
unit
B
print
- قم بإنشاء دليل ليتم استخدامه كنقطة تعليق لصورة VMDK:
mkdir /mnt/vmdk-image
- قم بتوصيل جهاز loopback المرتبط بصورة VMDK بالدليل المنشأ:
mount /dev/loop31 /mnt/vmdk-image
- قم بعرض محتوى الصورة الموصولة:
ls -al /mnt/vmdk-image
- بعد الانتهاء من العمل مع محتوى القرص الافتراضي، قم بفصل صورة vmdk وقم بفصل الجهاز الحلقي:
umount /mnt/vmdk-image
losetup -d /dev/loop31
الطريقة الثانية: كيفية تركيب ملفات VMDK باستخدام kpartx
kpartx هو أداة يمكن أن تركب الأقسام داخل ملفات الصور إلى الدلائل في نظام ملفات Linux الحقيقي الخاص بك. يمكن استخدام هذه الأداة لإعداد تعيينات الأجهزة لأقسام أجهزة الكتلة. تعمل هذه الطريقة أيضًا لتركيب صور –flat.vmdk المستخدمة على خوادم ESXi. دعنا نرى كيفية تركيب الملف –flat.vmdk المستخدم في المثال السابق.
- قم بتثبيت kpartx:
apt-get install kpartx
- أضف تعيين الأقسام لصورة VMDK في وضع التشغيل التفصيلي:
kpartx -av /vms/Win-test2-flat.vmdk
- قم بتركيب القسم إلى الدليل /mnt/vmdk-image
mount /dev/mapper/loop30p1 /mnt/vmdk-image/
حيث loop30 هو رقم جهاز الحلقة، و p1 هو رقم القسم داخل الصورة (القسم الأول على صورة القرص).
- قائمة محتوى القسم الافتراضي للقرص الافتراضي الذي قمت بتركيبه:
ls -al /mnt/vmdk-image/
- عند الانتهاء من العمليات مع ملفات صورة VMDK، قم بإلغاء تركيب صورة القرص الافتراضي VMDK:
umount /mnt/vmdk-image
kpartx -d /vms/Win-test2-flat.vmdk
الاستنتاج
معرفة العديد من الطرق لاستخراج محتوى VMDK يمنحك المرونة والموثوقية لأن كل طريقة قد تكون الخيار الأفضل في حالات معينة. علاوة على ذلك، من الأفضل حتى أن يكون لديك نسخ احتياطية من الآليات الظاهرية الخاصة بك بالإضافة إلى تلك المعرفة.
NAKIVO Backup & Replication يمكنه التزامن واستعادة الأماكن الافتراضية (VMs) التي تعمل في VMware vSphere بأفضل طريقة. يمكنك استرداد الموقع الافتراضي بأكمله أو القرص الافتراضي المحدد أو الملفات الفردية من النسخة الاحتياطية إلى موقع مخصص.
Source:
https://www.nakivo.com/blog/extract-content-vmdk-files-step-step-guide/