سؤال هل من الممكن تحويل الأجهزة الافتراضية إلى البيئات المادية؟


هل من الممكن تحويل ملف .vdi إلى .iso التي يمكن حرقها على قرص مضغوط أو دي في دي وجعلها مثل المثبت. أم هل من الممكن تحويل الأجهزة الافتراضية إلى البيئات المادية؟


74
2018-02-28 04:26


الأصل


ربما تنطبق هذه الإجابة على AskUbuntu.com على الكثير من البيئات التي تعمل على الأجهزة المضيفة لنظام Linux: askubuntu.com/a/32506/31592 - blong


الأجوبة:


نعم و لا.

أنت يستطيع تحويل VDI إلى صورة قرص مع VBoxManage أداة. هذا الأمر يستنسخ صورة قرص ظاهرية مسجلة إلى ملف صورة آخر. إذا كنت ترغب في تحويل القرص الظاهري إلى تنسيق آخر ، فهذه هي أداة VirtualBox الرسمية لاستخدام [*].

VBoxManage clonehd file.vdi output.img --format RAW
  • إذا كنت تستخدم VDI ديناميكيًا ، وكان لديك إصدار قديم من VirtualBox ، clonehd قد لا يعمل بشكل صحيح. وVBoxManage internalcommands تتضمن الأداة converttorawوالتي يمكنها تحويل VDI ديناميكية إلى صورة قرص خام (مصدر) [+].

VBoxManage internalcommands converttoraw file.vdi output.img

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

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


في Windows ، قد تحتاج إلى تحديد المسار الكامل للبرنامج:

"C:\Program Files\Sun\VirtualBox\VBoxManage.exe" [...]

إضافة C: \ Program Files \ Sun \ VirtualBox إلى PATH الخاص بك لاستخدام الإصدار القصير.


[*] أفترض "--form RAW" سيتم تحويل الخيار إلى صورة قرص قياسية ، كما لو كنت تستخدم دد الأمر على قرص صلب حقيقي. لكن بصراحة ، لم أجد أي وثائق تدعم هذا الأمر ، لذا كن على علم بأن هذا قد لا يكون صحيحًا.

[+] لقد اختبرت فقط كلا الأمرين تحت VirtualBox 3.1.2. كلا ملفات الإخراج متطابقة وفقا ل MD5SUM، لكني لم أختبر بشكل كامل ملفات الإخراج.

انظر أيضا "كل شيء عن VDIs" الدورة التعليمية في منتديات VirtualBox.


60
2018-02-28 05:50



ماذا عن حجم VDI؟ هل هذا يهم؟ لنفترض أن حجم VDI هو 20 غيغابايت ، وحجم الأقراص الصلبة الفعلي هو 200 غيغابايت ... ماذا سيحدث؟ - Pwnna
تلك الطريقة الأولى "clonehd" تبدو بطيئة بشكل مذهل. لكن الثاني عمل علاج. - Matt H
لاحظ أيضًا أنه إذا تمكنت من الحصول على نظام تشغيل windows للتشغيل ، فسيتعين عليك إعادة تنشيطه في معظم الحالات. - Kimmax
ماذا لو كنت sysprep /generalize التثبيت الظاهري لأول مرة؟ هذا من شأنه بالتأكيد إعداد التثبيت ليتم تثبيتها على الأجهزة الجديدة (أو الأجهزة المادية في هذه الحالة) - Robula
Pwnna أنت تقوم بنسخ img لقرص صلب (ليس مجرد قسم بل خريطة كاملة بالأقسام). لقد فعلت هذا في الماضي وتذكرت رؤية ما تصفه هذه الإجابة ، المساحة غير المستخدمة / غير المقسمة في النهاية: serverfault.com/questions/268889/... - sudo


إذا كان ملف vdi الخاص بك يحتوي على أقسام وكنت ترغب في استخراج أحدها فقط استخدم ما يلي:

أولاً ، كما قال quack quixote من قبل ، قم بتحويل ملف vdi إلى ملف صورة خام:

# VBoxManage clonehd file.vdi file.raw --format RAW

ثم قم بإعداد جهاز loop للصورة:

# loopdev=$(losetup --show -r -f file.raw)

استخدم kpartx لإنشاء أجهزة لكل قسم في الملف الخام:

# apt-get install kpartx
# kpartx -a $loopdev

معرفة الأجهزة التي لدينا الآن. في هذا المثال ، يوجد جهاز واحد فقط حيث يوجد قسم واحد فقط في الصورة الأولية:

# ls /dev/mapper/loop*
/dev/mapper/loop0p1

الآن حمله للتحقق من أن كل شيء يعمل بشكل صحيح:

# mkdir /mnt/part1
# mount /dev/mapper/loop0p1 /mnt/part1
# ls /mnt/part1
# umount /mnt/part1

استخدم dd لنسخ محتويات القسم إلى قسم هدف آخر:

# dd if=/dev/mapper/loop0p1 of=/dev/sda2 bs=1M

بعد الانتهاء ، أزل تعيينات الجهاز مرة أخرى:

# kpartx -d file.raw

19
2017-09-26 19:57



هل هذا ممكن مع ويندوز؟ - Ehsan


الإجابة هي نعم محددة ، في حال كان مضيفك ونظام الضيف هو Linux. انتهى مع الحزم qemu و TKLPatch. يمكنك استخدام كل من ملفات VDI أو VMDK.

قراءة المزيد:


12
2018-02-28 09:20



+1 "واضح" مع التحذير ".. طالما أن ضيفك هو linux". ويعتمد حلهم (؟) على بعض أدوات TurnKey Linux. لكن الإجراء يبدو سليمًا. (مرحبًا بك في Super User!) - quack quixote


لقد حاولت VBoxManage clonehd file.vdi output.img --format RAW من عند الجواب المقبول ولكن دون نجاح كبير.

ما نجح في استخدام جهاز ظاهري Windows 8.1 على مضيف Windows 7 هو:

  1. جعل جهاز ويندوز 8.1 في فيرتثلبوإكس ، تثبيت واستخدام كما تفعل عادة مع جهاز VM.
  2. قم بتحويل القرص الثابت .vdi إلى Windows VHD مع VBoxManage clonehd source.vdi target.vhd --format vhd
  3. جبل VHD في الجهاز المضيف Windows كمحرك (يمكنك تحميل VHD في إدارة الأقراص في إدارة الكمبيوتر.
  4. استنساخ VHD (مركب كمحرك أقراص) إلى قرص صلب آخر (جهاز كمبيوتر محمول متصل بـ USB في حالتي) DriveImage XML أو أداة مشابهة لاستنساخ القرص. أنت الآن أساسا استنسخت القرص الثابت الظاهري .vdi إلى المعدن.
  5. قم بتثبيت القرص الثابت الجديد في الجهاز. (في حالتي مبادلة الكمبيوتر المحمول HDD)
  6. قم بإدراج USB / CD على Windows 8.1 ، ثم قم بالتمهيد منه ، واختر Advanced Options (خيارات متقدمة) و Automatic Repair (إصلاح تلقائي). سيجعل الإصلاح التلقائي القرص الثابت الجديد قابل للتمهيد.
  7. قم بالتمهيد من القرص الثابت الجديد باستخدام Windows 8.1 المستنسخة وتشغيل Windows Update. سيؤدي هذا إلى تنزيل برامج تشغيل أجهزة الكمبيوتر التي لم تكن تعرف متى قمت بتشغيل Windows في VirtualBox. سيكون عليك تثبيت برامج التشغيل المفقودة يدويًا إن وجدت.
  8. إلغاء تثبيت VirtualBox ضيف إضافات. قم بتثبيت VirtualBox اختياريًا بحيث يمكن أن يكون المعدن العاري Windows 8.1 مضيفًا في جهاز VirtualBox.

5
2017-09-07 08:44



منsum: يمكنك المحاولة BootICE لاستبدال الخطوة السادسة وتأكد من تثبيت MBR الصحيح. - fixer1234
شكر. هل يعد BootICE أكثر موثوقية في بعض وات من تثبيت Windows 8.1؟ هل الخطوة 6 وصفت ربما الفوضى MBR؟ - Jan H
تم نشر هذا كإجابة من قبل مستخدم جديد (على ما أعتقد superuser.com/users/523958/sum). كان سيتم حذفه لأنه لم يكن مؤهلاً كإجابة ، لذلك قمت بنسخ المنشور وحفظته كتعليق حتى لا يتم فقده. أنا لست على دراية بها شخصيا. - fixer1234


أفعل هذه العملية بسرعة كبيرة ، مع سطرين فقط من الأوامر في Linux:

#VCoxManage internalcommands converttoraw your_disk_virtual.vmdk your_disk_virtual.img

أو

#VCoxManage internalcommands converttoraw your_disk_virtual.vdi your_disk_virtual.img

# mv your_disk_virtual.img your_disk_virtual.iso

مقالتي الكاملة: http://www.previsioni.com.br/jailsonjan/؟p=389


3
2017-08-17 14:17



هل سيكون .img في هذه الحالة قابل للتمهيد؟ - Pumphouse
أعتقد لا. لقد رأيت إجابة مماثلة من مستخدم 0-rep ، والتي بدت طريقة سهلة ، ومع ذلك ، تبين غير مجدية. - T.Todua


استخدم الأمر التالي لتحويل:

VBoxManage clonehd CactiEZ-disk1.vmdk output.iso --format VMDK

هنا هو الإخراج:

0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone hard disk created in format 'VMDK'. UUID: 7f297ac6-95eb-4814-9237-1acfd6be976c

0
2017-10-18 09:31