كيمو (QEMU) - محاكي الأنظمة
QEMU
الشرح المبسط
الشرح التقني المتقدم
يعد كيمو (QEMU) أحد أهم الأدوات في عالم لينكس والمحاكاة (Emulation)، فهو ليس مجرد برنامج لإدارة الأجهزة الوهمية (Virtual Machines)، بل هو محاكي ومعالج افتراضي قادر على تشغيل أنظمة كاملة مبنية على معماريات (Architectures) مختلفة مثل ARM أو MIPS على أجهزة بمعمارية x86.
كيف يعمل كيمو خلف الكواليس؟
يعتمد كيمو على تقنية الترجمة الديناميكية (Dynamic Translation) لتحويل التعليمات البرمجية من المعمارية الضيف (Guest Architecture) إلى المعمارية المضيفة (Host Architecture). كما يمكنه العمل مع وحدة كيه في إم (KVM) الموجودة في نواة لينكس (Linux Kernel) لتقديم أداء شبه أصلي (Near-native Performance) عند تطابق معمارية المضيف والضيف.
تثبيت وإنشاء جهاز وهمي باستخدام كيمو
قبل البدء، يمكنك تثبيت حزمة كيمو الأساسية على توزيعات ديبيان (Debian) وأوبونتو (Ubuntu) باستخدام مدير الحزم:
sudo apt install qemu-system
لإنشاء قرص افتراضي (Virtual Disk) لتثبيت النظام عليه، نستخدم الأداة المدمجة:
qemu-img create -f qcow2 mydisk.qcow2 20G
لتشغيل جهاز وهمي باستخدام هذا القرص وملف أيزو (ISO)، نكتب الأمر التالي:
qemu-system-x86_64 -m 2048 -boot d -smp 2 -hda mydisk.qcow2 -cdrom os-image.iso
شرح خيارات الأمر السابق:
- الخيار
-m 2048: يحدد حجم الذاكرة العشوائية (RAM) المخصصة للنظام الضيف وهي هنا 2 جيجابايت. - الخيار
-boot d: يخبر المحاكي بالإقلاع (Boot) من محرك الأقراص الضوئية أولا. - الخيار
-smp 2: يخصص نواتين (Cores) من المعالج (CPU) للجهاز الوهمي. - الخيار
-hdaو-cdrom: تحدد مسار (Path) القرص الصلب وملف الأيزو على التوالي.
ملاحظة ختامية: الصورة الكبرى
للحصول على أفضل أداء ممكن عند محاكاة أنظمة تشارك نفس معمارية جهازك الأساسي، احرص دائما على دمج كيمو مع وحدة كيه في إم عن طريق إضافة الخيار -enable-kvm إلى سطر الأوامر، حيث يقوم بتخطي طبقة الترجمة ويتيح للنظام الضيف الوصول المباشر إلى موارد العتاد (Hardware Resources).