أعماق الافتراضيّة في Windows (الجزء 1) ── أين يعمل Windows فعليّاً؟ الـ hypervisor والأقسام

· آخر تحديث: · · Windows, الافتراضيّة, Hyper-V, Hypervisor, SLAT, VMBus

سجل التعديلات (النسخة الأولى، نُشرت في 22 Aug، 2026)
النشر الأول
الاستشهاد بهذا المقال(DOI (الأرشيف المسجّل): 10.5281/zenodo.22176829)

تشير معرّفات DOI أدناه إلى إصدارات مؤرشفة سابقًا، وقد تختلف عن النص الحالي. للإشارة إلى النص الحالي، استخدم رابط هذه الصفحة.

غو كومورا (2026). أعماق الافتراضيّة في Windows (الجزء 1) ── أين يعمل Windows فعليّاً؟ الـ hypervisor والأقسام. شركة كومورا سوفت ذ.م.م.. https://comcomponent.com/ar/blog/windows-virtualization-internals-hypervisor/

DOI (الأرشيف المسجّل)
10.5281/zenodo.22176829
DOI (آخر إصدار مسجّل)
10.5281/zenodo.22241142

لم تُنشئ آلة افتراضيّة واحدة قطّ، ومع ذلك تُظهر معلومات النظام (msinfo32) على Windows 11 «Virtualization-based security: Running». ماذا يعني ذلك العرض؟

على ذلك الحاسوب، يعمل Windows المضيف نفسه فوق hypervisor أصلاً. على Windows 11، يُفعَّل VBS افتراضيّاً على التكوينات التي تستوفي الشروط، كتثبيت نظيف على عتاد متوافق، وذلك الأساس مستخدَم حتّى إن لم تُنشئ آلة افتراضيّة قطّ.1 يستخدم WSL2 وWindows Sandbox hypervisor Windows نفسه أيضاً.

يشرح الجزء 1 أين ينتهي Windows المضيف إلى العمل عندما تفعِّل Hyper-V، عبر تقسيم الأدوار عبر المعالج والذاكرة وإدخال/إخراج الأجهزة. إنّه الجزء الذي يستقيم فيه أوّلاً منظور «برمجيّة آلات افتراضيّة تجلس فوق Windows».

«أعماق الافتراضيّة في Windows» ── الأجزاء الثلاثة كلّها

ننظر إلى hypervisor Windows نفسه بترتيب الأساس → عزل الأمان → التطبيق على آلات افتراضيّة خفيفة.

الجزء السؤال المركزي
الجزء 1: الـ hypervisor والأقسام (هذا المقال) أين يعمل Windows المضيف؟
الجزء 2: VBS وHVCI وCredential Guard أين تضع سرّاً لا تستطيع النواة حتّى قراءته؟
الجزء 3: WSL2 وWindows Sandbox والحاويات لماذا يمكن جعله خفيفاً مع الإبقاء على العزل؟

مقدّمات هذا المقال

البند التفاصيل
القرّاء المستهدَفون مطوِّرون ومشغِّلون يريدون فهم الآليّات تحت Hyper-V وWSL2 وWindows Sandbox
البيئة Windows 10/11 x64 أو Windows Server الحالي. نقاش الحلقات وVT-x/AMD-V وEPT/RVI يفترض x64؛ يستخدم Arm64 آليّات مختلفة مثل مستويات الاستثناء
المعرفة الخلفيّة التمييز بين وضع النواة ووضع المستخدم. لا تُشترَط خبرة تشغيل آلات افتراضيّة ولا معرفة تطوير hypervisor
الصعوبة والنطاق متوسّط. يغطّي مفهوم امتدادات افتراضيّة المعالج دون الدخول في تفاصيل مجموعة التعليمات

كيف تقرأ هذا المقال

ما تريد معرفته الأقسام التي تقرأها
العلاقة بين Windows والآلات الافتراضيّة، وتنفيذ المعالج، وتقسيم الأدوار القسم 1، الصورة الكبيرة ← القسم 2، المعالج ← القسم 3، الأقسام
من يتوسّط الذاكرة وإدخال/إخراج الأجهزة القسم 4، SLAT ← القسم 5، VMBus
الأثر على حواسيب لا تُنشئ آلة افتراضيّة، وكيف تفحص حاسوبك القسم 6، الميزات اليوميّة والتعايش ← القسم 7، كيفيّة الفحص

خريطة المعرفة أدناه قائمة علاقات. إن كانت هذه قراءتك الأولى، اتّبع النصّ من القسم 1، الصورة الكبيرة.

في المخطّط، يشير الخطّ المتّصل إلى علاقة قائمة دائماً، ويشير الخطّ المتقطّع إلى علاقة مشروطة (شروط قيامها مذكورة في شرح كلّ علاقة في الصفحة التفصيليّة). القائمة الكاملة للعلاقات (المجموع 22، مع الأدلّة ودرجة اليقين) وتعريفات المفاهيم الرئيسة مجمّعة في صفحة تفاصيل خريطة المعرفة (باليابانية). البيانات: JSON-LD / Turtle

1. الخلاصة أوّلاً

عندما يسمع الناس Hyper-V، قد يتصوّرون «برمجيّة تشغيل آلات افتراضيّة تجلس فوق Windows». البنية الفعليّة معكوسة.

من لحظة تفعيل Hyper-V وإعادة التشغيل، يكون الـ hypervisor هو من يتحكّم بالمعالجات الفيزيائيّة والذاكرة، ويعمل Windows المضيف فوقه بوصفه القسم الأوّل المميَّز، «القسم الجذر».

الـ hypervisor طبقة برمجيّة رقيقة تجلس بين العتاد ونظام التشغيل، وتنشئ بيئات تنفيذ معزولة تُسمَّى «أقساماً»، وتتوسّط الوصول إلى العتاد.2 يدخل Windows المضيف القسم الجذر؛ وتدخل الآلات الافتراضيّة الأقسام الأبناء.

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

البنية الكلّيّة بعد تفعيل Hyper-Vيجلس الـ hypervisor مباشرة على العتاد الفيزيائيّ، وفوقه يجلس القسم الجذر الذي يمسك Windows المضيف والأقسام الأبناء التي تمسك الآلات الافتراضيّةالعتاد الفيزيائيّالـ hypervisorالقسم الجذر (Windows المضيف)الأقسام الأبناء (الآلات الافتراضيّة)يمسك مكدّس إدارة الافتراضيّة وبرامج تشغيل الأجهزة

الشكل 1: Hyper-V ليس «برمجيّة آلات افتراضيّة فوق Windows» بل طبقة تذهب تحت Windows، ونظام التشغيل المضيف نفسه يعمل داخل القسم الجذر.

قد تفكّر: «لا شيء يبدو مختلفاً قبل التفعيل وبعده، فهل حدث حقّاً انقلاب بهذا الحجم؟» لقد حدث. ولهذا بالضبط تمرّ هذه البنية عادة دون أن تُلاحَظ. في هذا المقال نفكّك هذا المخطّط الواحد من ثلاثة اتّجاهات: المعالج، والذاكرة، وإدخال/إخراج الأجهزة.

2. من المعالج ── امتياز إضافي تحت الحلقات

في نقاش المعالج، نميِّز الحلقات التي تفصل النواة عن التطبيقات عن أوضاع التنفيذ التي تفصل الـ hypervisor عن الضيوف. سؤال هذا القسم: نواة الضيف تعمل أيضاً عند الحلقة 0، فلماذا لا يحدث تصادم؟

2.1. مراجعة حماية الحلقات

لمعالجات x64 مستويات امتياز (حلقات)، ويعمل Windows وضع النواة عند الحلقة 0 ووضع المستخدم عند الحلقة 3. لا تستطيع التطبيقات لمس العتاد مباشرة لأنّ التعليمات المميَّزة لا يمكن تنفيذها من الحلقة 3.

فكيف تؤوي بأمان عدّة نوى أنظمة تشغيل، كلّ منها تعمل عند الحلقة 0، على المعالج الفيزيائيّ نفسه؟ كلّ نواة مكتوبة على افتراض أنّ «أنا أتحكّم بالمعالج». أعطِ الحلقة 0 لكلّها فتتصادم؛ احجبها فلا تعمل.

مشكلة نوى أنظمة تشغيل متعدّدة تطالب بالحلقة 0نواتا المضيف والضيف مكتوبتان بافتراض سلطة كاملة عند الحلقة 0، لذا سلّم الحلقات التقليديّ وحده لا يستطيع إيواءهما بأمان على المعالج الفيزيائيّ نفسهنواة المضيف (تفترض الحلقة 0)تطالب بالتحكّم بالمعالج الفيزيائيّنواة الضيف (تفترض الحلقة 0)الحلقات التقليديّة وحدها لا تستطيع التوفيقيلزم وسيط فوق الحلقة 0

الشكل 2: بُني سلّم الحلقات بافتراض نظام تشغيل واحد، لذا إيواء نوى متعدّدة يحتاج امتيازاً إضافيّاً فوقه.

2.2. امتدادات الافتراضيّة ── وضع محجوز للـ hypervisor

ما يحلّ هذه المشكلة امتدادات الافتراضيّة في المعالج (Intel VT-x/AMD-V). يشترط Hyper-V معالجاً يملك هذه الميزة.2 تضيف امتدادات الافتراضيّة، على محور منفصل عن الحلقات التقليديّة، «وضع تنفيذ للـ hypervisor» و«وضع تنفيذ للضيوف». إنّه امتياز أقوى حتّى من الحلقة 0، يُلقَّب أحياناً «الحلقة -1».

  • تواصل نواة الضيف العمل عند الحلقة 0، كما كان. لا يلزم إعادة كتابة.
  • غير أنّ تلك الحلقة 0 هي «الحلقة 0 داخل وضع الضيف»، وهي لا تتحكّم بالمعالج الفيزيائيّ ككلّ.
  • عندما يصطدم الضيف بعمليّة معيّنة تحتاج تدخّل الـ hypervisor (تعليمة مضبوطة اعتراضاً، أو استثناء أو انتهاك)، ينقل المعالج التحكّم تلقائيّاً إلى الـ hypervisor (VM Exit). عندما يُنهي الـ hypervisor معالجتها، يعود إلى الضيف (VM Entry). تمرّ وصولات الذاكرة العاديّة مباشرة بلا VM Exit، ما دام ترجمة SLAT تنجح.

تعمل المقاطعات بالطريقة نفسها. لا تلمس الأقسام المعالجات الفيزيائيّة مباشرة؛ يتلقّى الـ hypervisor المقاطعات ويوجّهها إلى كلّ قسم.2

تدفّق تنفيذ الضيف وVM Exitتعمل نواة الضيف والتطبيقات عند الحلقة 0 والحلقة 3 في وضع الضيف؛ وتمرّ وصولات الذاكرة العاديّة عبر ترجمة SLAT، بينما تسبّب العمليّات المضبوطة اعتراضاً والاستثناءات VM Exit ينقل التحكّم إلى الـ hypervisor، الذي يعود إلى الضيف عبر VM Entry بعد معالجتهالانعميعمل في وضع الضيف (بما فيها نواة الحلقة 0)عمليّة تحتاج تدخّلاً؟ (اعتراضات/استثناءات مضبوطة)واصل التنفيذ كما هوVM Exit (المعالج ينقل التحكّم)الـ hypervisor يعالجهاالعودة إلى الضيف عبر VM Entry

الشكل 3: يظلّ نظام تشغيل الضيف يعمل عند الحلقة 0 بلا إعادة كتابة، ويستدعي المعالج الـ hypervisor فقط عند الحاجة.

يشبه هذا الذهاب والإياب كثيراً التدفّق الذي تبعناه في سلسلة الذاكرة: «ادخل النواة عند خطأ صفحة، ثمّ عُد إلى التعليم نفسها». يأخذ المعالج التحكّم عبر آليّة استثناء أو انتقال، يدع مديراً أعلى يقرِّر، ثمّ يعود. في أعماق Windows، يظهر هذا الشكل مرّة بعد مرّة.

2.3. النوع 1 والنوع 2 ── الفرق أين يجلس

تُقسَم الـ hypervisors إجمالاً إلى النوع 1 (على العتاد مباشرة)، الذي يعمل مباشرة على العتاد، والنوع 2 (مستضاف)، الذي يعمل فوق نظام تشغيل مضيف. Hyper-V من النوع 1.3 يُصنَّف VirtualBox وVMware Workstation (عند التشغيل مستقلَّين) نوعاً 2.

بسماع النوع 1، يميل الناس إلى تخيّل «تكوين خادم فقط بلا نظام تشغيل مضيف»، لكن Hyper-V مختلف. لا يختفي Windows المضيف؛ إنّه «ينتقل» إلى القسم الجذر. عندما تفعِّل Hyper-V وتعيد التشغيل، يبدأ الـ hypervisor أوّلاً أثناء الإقلاع، ثمّ يصعد Windows المضيف بوصفه القسم الجذر فوقه.

الفرق بين hypervisor من النوع 1 والنوع 2في النوع 2 يجلس نظام التشغيل المضيف على العتاد ويجلس الـ hypervisor والآلات الافتراضيّة على نظام التشغيل المضيف، بينما في Hyper-V من النوع 1 يجلس الـ hypervisor مباشرة على العتاد ويدخل نظام التشغيل المضيف نفسه القسم الجذر فوقهالنوع 1 (Hyper-V)النوع 2 (مستضاف)الـ hypervisorالعتادالقسم الجذر (نظام التشغيل المضيف)آلة افتراضيّةنظام التشغيل المضيفالعتادالـ hypervisorآلة افتراضيّة

الشكل 4: في النوع 2 يجلس الـ hypervisor على نظام التشغيل المضيف، بينما في Hyper-V من النوع 1 ينعكس الترتيب ويجلس نظام التشغيل المضيف نفسه على الطبقة درجة أسفل.

منظوراً على خطّ زمني للإقلاع، يبدو التغيير الذي يحدث عندما تفعِّله هكذا.

ترتيب الإقلاع بعد تفعيل Hyper-Vبعد التشغيل، يبدأ الـ hypervisor أوّلاً أثناء الإقلاع، ثمّ يصعد Windows المضيف بوصفه القسم الجذر فوقه، وتبدأ الآلات الافتراضيّة وVBS وما شابه بعد ذلكالتشغيل وبدء الإقلاعيبدأ الـ hypervisor أوّلاًيبدأ Windows المضيف بوصفه القسم الجذرتبدأ الآلات الافتراضيّة وVBS وWSL2 وما شابه فوق ذلكتجربة المستخدم بلا تغيير

الشكل 5: انقلاب الترتيب يكون قد انتهى قبل ظهور شاشة تسجيل الدخول، ويصعد نظام التشغيل المضيف على الـ hypervisor من البداية.

3. الأقسام ── وحدة العزل

لننظر عن كثب إلى الأقسام، «الصناديق» في الصورة الكبيرة. ما نريد فصله هنا هو توسّط المعالج والذاكرة، الذي يتولّاه الـ hypervisor مباشرة، عن إدخال/إخراج الأجهزة، الذي يتوسّطه القسم الجذر عادة.

3.1. أدوار يملكها القسم الجذر وحده

القسم وحدة عزل منطقيّة يوفّرها الـ hypervisor.2 غير أنّ الأقسام ليست متساوية كلّها. ثمّة أشياء يملكها القسم الجذر وحده.

الوصول المباشر إلى الأجهزة الفيزيائيّة

تعيش برامج تشغيل الأجهزة للأقراص ومحوِّلات الشبكة ووحدات GPU وما شابه في Windows داخل القسم الجذر، لا في الـ hypervisor. يملك Hyper-V على Windows Server تكويناً يخصِّص جهازاً PCIe معيّناً مباشرة لقسم ابن (Discrete Device Assignment)؛ في تلك الحالة يترك الجذر ذلك الجهاز (هذا غير متاح على Windows العميل).4

مكدّس إدارة الافتراضيّة

تعمل VMMS (خدمة إدارة الآلات الافتراضيّة)، التي تحكم إنشاء الآلات الافتراضيّة وبدءها وإيقافها، والعمليّة العاملة التي تبدأ لكلّ آلة افتراضيّة (vmwp.exe) في وضع المستخدم في القسم الجذر.5 هذه جزء من ميزات إدارة الآلات الافتراضيّة في Hyper-V، لذا قد تغيب على مضيف يعمل فيه الـ hypervisor فقط من أجل VBS أو WSL2.

حقّ إنشاء الأقسام الأبناء

ينشئ القسم الجذر أقساماً أبناء عبر واجهة hypercall (واجهة الاستدعاء إلى الـ hypervisor).2

لهذا التصميم سبب. إن وضعت كلّ برنامج تشغيل جهاز في الـ hypervisor نفسه، يصير الـ hypervisor ضخماً وينمو عدد الأخطاء ومداخل الهجوم. يحصر الـ hypervisor نفسه في العمل الأدنى لتوسّط المعالجات والذاكرة، ويترك رعاية الأجهزة لـ Windows في القسم الجذر. تقسيم الأدوار هذا هو ما يُبقي Hyper-V رقيقاً.

تقسيم الأدوار بين القسم الجذر والأقسام الأبناءيمسك القسم الجذر مكدّس إدارة الافتراضيّة وبرامج تشغيل الأجهزة الفيزيائيّة وينشئ أقساماً أبناء عبر hypercall؛ ويرى قسم ابن أجهزة افتراضيّة فقط في التكوين المعتاد، وتحت Discrete Device Assignment على Windows Server يصل إلى الجهاز المعيَّن مباشرةالقسم الجذرإنشاء وإدارة عبر hypercallالقسم الابننظام تشغيل الضيففي التكوين المعتاد، لا تُرى إلّا أجهزة افتراضيّةVMMS والعمليّات العاملةبرامج تشغيل الأجهزة الفيزيائيّةالـ hypervisor (يحصر نفسه في توسّط المعالج والذاكرة)

الشكل 6: وضع برامج تشغيل الأجهزة ومكدّس الإدارة في جانب القسم الجذر هو ما يُبقي الـ hypervisor نفسه رقيقاً.

3.2. العالم كما يُرى من قسم ابن

لا يستطيع نظام تشغيل الضيف في قسم ابن رؤية العتاد الفيزيائيّ مباشرة في تكوين الجهاز الافتراضيّ المعتاد (الاستثناء الوحيد جهاز مُسنَد عبر Discrete Device Assignment على Windows Server، كما وُصف في القسم السابق). ما يستطيع رؤيته معالجات افتراضيّة، وفضاء ذاكرة يبدو خاصّاً به، وأجهزة افتراضيّة. تُحوَّل الطلبات إلى الأجهزة الافتراضيّة إلى القسم الجذر عبر VMBus أو الـ hypervisor.2

تخصيص زمن المعالج وترجمة الذاكرة عبر SLAT، بالمقابل، يتولّاهما الـ hypervisor مباشرة دون المرور بالجذر. ما يتوسّطه الجذر هو إدخال/إخراج الأجهزة، لا كلّ مورد فيزيائيّ.

العالم كما يُرى من قسم ابنما يراه نظام تشغيل الضيف معالجات افتراضيّة وفضاء ذاكرة خاصّ بالقسم وأجهزة افتراضيّة؛ وتُحوَّل الطلبات إلى الأجهزة الافتراضيّة إلى القسم الجذر عبر VMBus وما شابه، ويتولّى الـ hypervisor زمن المعالج وترجمة الذاكرة مباشرة، وفي تكوين Discrete Device Assignment على Windows Server تُوصَل الأجهزة المعيَّنة فقط مباشرةعبر VMBus وما شابهغير مرئي مباشرةنظام تشغيل الضيف في القسم الابنمعالجات افتراضيّةفضاء ذاكرة خاصّأجهزة افتراضيّةتُحوَّل إلى القسم الجذرمعالجات فيزيائيّة وRAM وأجهزة حقيقيّةفي تكوين DDA (Windows Server)، تُوصَل الأجهزة المعيَّنة فقط مباشرة

الشكل 7: في تكوين الجهاز الافتراضيّ المعتاد كلّ ما يراه الضيف نافذة افتراضيّة والمسار إلى الفيزيائيّ يمرّ بوسيط؛ والجهاز المُسنَد عبر DDA على Windows Server وحده الاستثناء.

ما يهمّ هنا أنّ لتطبيق يعمل على Windows المضيف، هذه البنية شبه شفّافة. ما تزال استدعاءات واجهة Win32 ومعالجة أخطاء الصفحة تُعالَج بنواة Windows داخل القسم الجذر، كما كان. يتدخّل الـ hypervisor فقط عندما يُصطدَم باعتراض أو استثناء مضبوط.

4. من الذاكرة ── ترجمة العناوين تكسب مستوى إضافيّاً

مع الذاكرة، نفصل العنوان الذي يعتبره الضيف «فيزيائيّاً» عن الموقع الفعلي في RAM. أبقِ في الذهن الترتيب GVA ← GPA ← SPA ومن يدير كلّ ترجمة.

4.1. ثلاثة أنواع من العنوان

في الجزء 1 من سلسلة الذاكرة تبعنا التدفّق الذي يُترجَم به عنوان افتراضي عبر جدول الصفحات إلى عنوان فيزيائي («اللحظة التي يصبح فيها العنوان الافتراضي ذاكرة RAM مادّيّة»). في بيئة مُفتَرَضة يُضاف مستوى إضافي تحت تلك الترجمة، وثمّة ثلاثة أنواع من العنوان.

العنوان الاختصار من يديره
عنوان افتراضي للضيف GVA جدول صفحات نظام تشغيل الضيف
عنوان فيزيائي للضيف GPA العنوان الذي يعتقد نظام تشغيل الضيف أنّه «فيزيائي»
عنوان فيزيائي للنظام SPA الـ hypervisor (الموقع الفعلي في RAM)

يترجم نظام تشغيل الضيف GVA إلى GPA بجدول صفحاته. غير أنّ GPA الذي يراه الضيف ليس عنواناً فيزيائيّاً حقيقيّاً؛ إنّه فضاء ذاكرة خاصّ مكرَّس لكلّ قسم.2 إسقاط GPA على الموقع الفعلي في RAM (SPA) عمل الـ hypervisor.

4.2. SLAT ── ترجمة مستويين في العتاد

لو أُنجزت هذه الترجمة من المستوى الثاني برمجيّاً وحدها، لاضطرّ الـ hypervisor إلى تتبّع كلّ تحديث لجدول صفحات الضيف واحداً واحداً، وهو غير واقعي من منظور الأداء. لذا يوفّر المعالج آليّة تمشي جداول الترجمة من المستوى الثاني في العتاد. ذلك هو SLAT (Second Level Address Translation)؛ Intel EPT (Extended Page Tables) وAMD RVI هما التنفيذان.

يشترط Hyper-V الحالي معالجاً 64-بت يدعم SLAT.4

ترجمة عناوين بمستويين عبر SLATيُترجَم عنوان افتراضي للضيف إلى عنوان فيزيائي للضيف بجدول صفحات نظام تشغيل الضيف، ثمّ يُترجَم أبعد إلى عنوان فيزيائي للنظام بـ SLAT الذي يديره الـ hypervisor، ويصل إلى RAM الفعليجدول صفحات نظام تشغيل الضيفSLAT (جداول ترجمة EPT/RVI)عنوان افتراضي للضيف (GVA)عنوان فيزيائي للضيف (GPA)عنوان فيزيائي للنظام (SPA)RAM فيزيائيّةطبقة يعتقد الضيف فحسب أنّها فيزيائيّة

الشكل 8: يجلس جدول ترجمة آخر، يديره الـ hypervisor، تحت جدول صفحات الضيف، ويمشي المعالج الاثنين في العتاد.

SLAT ليست ميزة توجد فقط لكفاءة تنفيذ الآلات الافتراضيّة. يستخدم VBS الذي سنراه في الجزء 2 خاصّيّة أنّ «يمكنك امتلاك جدول ترجمة SLAT مختلف لكلّ مستوى امتياز» مادّة لحدّ أمان. سبب إمكان إنشاء ذاكرة لا تستطيع النواة حتّى رؤيتها أنّ الـ hypervisor يمسك هذه الترجمة من المستوى الثاني. هذا خيط يمرّ بالسلسلة كلّها، لذا تذكّر نقطة واحدة: «مدير جداول الترجمة هو الـ hypervisor».

5. من إدخال/إخراج الأجهزة ── VMBus ونوعان من الجهاز

يسلك إدخال/إخراج الأجهزة مساراً يختلف عن زمن المعالج وترجمة الذاكرة. نقارن الطريقة التي تحاكي عتاداً حقيقيّاً بالطريقة التي تستخدم مساراً مخصَّصاً للافتراضيّة.

5.1. حدود الأجهزة المُحاكاة

الطريقة الكلاسيكيّة لإظهار جهاز لقسم ابن محاكاة عتاد حقيقي بالكامل (متحكّم IDE قديم مثلاً) برمجيّاً. التوافق عالٍ لأنّ برامج التشغيل المضمَّنة في نظام تشغيل الضيف تعمل كما هي، لكن يحدث VM Exit في كلّ مرّة يصطدم فيها الضيف بمنفذ إدخال/إخراج، ولا يتوسّع الأداء.

لماذا إدخال/إخراج جهاز مُحاكى بطيءفي كلّ مرّة يشغِّل فيها الضيف منفذ إدخال/إخراج، ينتقل التحكّم إلى جانب الـ hypervisor عبر VM Exit، ويُحاكى الجهاز برمجيّاً، ويعود التحكّم إلى الضيف، لذا يتكرّر الذهاب والإياب ويبطئيتكرّر عند تشغيل المنفذ التاليالضيف يشغِّل منفذ إدخال/إخراجيحدث VM Exitيُحاكى الجهاز برمجيّاًالعودة إلى الضيف عبر VM Entry

الشكل 9: يعمل هذا الذهاب والإياب مرّات كثيرة وراء وصول قرص واحد، وثمن التوافق يُدفَع بالأداء.

5.2. VMBus وVSP/VSC ── مسار سريع مصمَّم للافتراضيّة

لذا يملك Hyper-V آليّة «جهاز اصطناعيّ» مصمَّمة بافتراض الافتراضيّة. ثمّة ثلاثة لاعبين.2

  • VMBus: قناة اتّصال منطقيّة بين الأقسام. توفِّر اتّصالاً عالي السرعة بين الأقسام يستخدم ذاكرة مشتركة.3
  • VSP (موفّر خدمة الافتراضيّة): خدمة تقيم في جانب القسم الجذر، تتلقّى طلبات الأجهزة من الابن، وتجسرها إلى مكدّس الجهاز/الخلف في جانب الجذر. قد يصل طلب إلى جهاز فيزيائيّ، أو قد يعالجه خلف جانب المضيف كقرص افتراضي أو مبدِّل افتراضي.
  • VSC (مستهلك خدمة الافتراضيّة): برنامج تشغيل جهاز اصطناعيّ يدخل نظام تشغيل الضيف في جانب القسم الابن. يرسل الطلبات إلى VSP عبر VMBus.

مثال: كيف يصل WriteFile للضيف إلى المضيف

يتدفّق طلب تخزين من نظام تشغيل الضيف بالترتيب التالي.

  1. ينزل WriteFile لتطبيق الضيف مكدّس إدخال/إخراج نواة الضيف.
  2. في القاع، يصل إلى VSC بدل العتاد الحقيقي.
  3. يضع VSC الطلب على VMBus ويسلِّمه إلى VSP في القسم الجذر.
  4. يُدخل VSP الطلب في مكدّس إدخال/إخراج جانب الجذر. في تكوين قرص افتراضي (VHDX)، يُعالَج كتابة إلى ملفّ VHDX على المضيف ويصل في النهاية إلى القرص الفيزيائيّ.

تُسمَّى هذه المقاربة Enlightened I/O (إدخال/إخراج واعٍ بالافتراضيّة)، وترفع الكفاءة بتجاوز طبقة محاكاة الجهاز.2

مسار إدخال/إخراج لجهاز اصطناعيّيصل طلب إدخال/إخراج من تطبيق في القسم الابن إلى VSC عبر نواة الضيف، ويعبر VMBus إلى VSP في القسم الجذر، وعلى مكدّس إدخال/إخراج جانب الجذر الذي يجسره VSP قد يصل إلى جهاز حقيقي عبر برنامج تشغيل جهاز فيزيائيّ، أو قد يعالجه خلف جانب المضيف كقرص افتراضي أو مبدِّل افتراضيVMBusتطبيق في القسم الابنمكدّس إدخال/إخراج نواة الضيفVSC (برنامج تشغيل جهاز اصطناعيّ)VSP (جانب القسم الجذر)مكدّس إدخال/إخراج جانب الجذربرنامج تشغيل جهاز فيزيائيّخلف جانب المضيف (قرص افتراضي، مبدِّل افتراضي، وما شابه)جهاز فيزيائيّ

الشكل 10: مع جهاز اصطناعيّ، يعبر إدخال/إخراج الضيف إلى القسم الجذر عبر VMBus، وعبر مكدّس جانب الجذر، يصل إلى جهاز حقيقي أو خلف جانب المضيف.

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

الأجهزة المُحاكاة مقابل الأجهزة الاصطناعيّةيحاكي جهاز مُحاكى عتاداً حقيقيّاً فتعمل برامج التشغيل المضمَّنة في الضيف لكنّه بطيء؛ والجهاز الاصطناعيّ برنامج تشغيل مبنيّ للغرض يفترض VMBus وهو سريعالجهاز المعروض للقسم الابنجهاز مُحاكىجهاز اصطناعيّيحاكي عتاداً حقيقيّاً؛ التوافق أوّلاًيحتاج تدخّلاً عند كلّ إدخال/إخراج؛ بطيءمصمَّم حول VMBus؛ سريعيتطلّب برنامج تشغيل مطابقاً في الضيف

الشكل 11: من نوعَي الجهاز الافتراضيّ، تحمل الأجهزة المُحاكاة التوافق فور تثبيت نظام التشغيل، وتحمل الأجهزة الاصطناعيّة الأداء في الاستخدام اليومي.

6. لماذا ليس هذا شأن غيرك، حتّى إن لم تستخدم آلة افتراضيّة قطّ

6.1. VBS وWSL2 وSandbox تستخدم الأساس نفسه

قد تبدو البنية حتّى الآن «قصّة لمن يُقيم آلات افتراضيّة». كما قال الافتتاح، غير أنّه على Windows الحالي الـ hypervisor جزء من الحياة اليوميّة.

  • الأمان المستند إلى الافتراضيّة (VBS). يستخدم hypervisor Windows لإنشاء بيئة معزولة ويؤوي فيها ميزات أمنيّة. على Windows 11 يُفعَّل افتراضيّاً عندما تُستوفى شروط كتثبيت نظيف على عتاد متوافق.1 التفاصيل في الجزء 2.
  • WSL2. يشغِّل نواة Linux حقيقيّة داخل آلة افتراضيّة خدميّة خفيفة.6
  • Windows Sandbox. بيئة Windows قابلة للرمي معزولة بالـ hypervisor.7 الاثنان مشمولان في الجزء 3.
ميزات يوميّة تجلس على الـ hypervisor نفسهلا آلات Hyper-V الافتراضيّة فحسب، بل أيضاً VBS الذي يُفعَّل افتراضيّاً على أجهزة تستوفي شروطاً كتثبيت نظيف، زائد WSL2 وWindows Sandbox، مبنيّة كلّها على hypervisor Windows نفسهhypervisor Windowsآلات Hyper-V الافتراضيّةVBS (مفعَّل افتراضيّاً على تثبيتات نظيفة وما شابه)WSL2Windows Sandboxلماذا يعمل حتّى على حواسيب لا تستخدم آلة افتراضيّة قطّ

الشكل 12: الأساس واحد، وهذا الشكل هو حيث ينهار افتراض «الافتراضيّة قصّة لمن يستخدم آلات افتراضيّة».

6.2. التعايش مع برمجيّات افتراضيّة من أطراف ثالثة

أمر آخر يصطدم به الناس كثيراً في الممارسة هو التعايش مع برمجيّات افتراضيّة من أطراف ثالثة. لأنّ الـ hypervisor يستخدم امتدادات الافتراضيّة في المعالج حصريّاً، في بيئة يعمل فيها hypervisor Windows، لا يستطيع VirtualBox وما شابه العمل بالطريقة التقليديّة (الطريقة التي تستخدم امتدادات الافتراضيّة في المعالج نفسها).

لهذا تُوفَّر واجهة عامّة تُسمَّى Windows Hypervisor Platform، ويمكن لمكدّس افتراضيّة من طرف ثالث أن يعمل بالجلوس فوق hypervisor Windows.8 يستطيع VirtualBox/VMware الحاليّان التعايش مع WSL2 بفضل هذه الآليّة، لكن فروق الأداء والميزات التي تأتي مع تبديل الأوضاع تُلاحَظ أحياناً بوصفها «بعد أن فعَّلت Hyper-V (أو VBS)، بدأت برمجيّة الافتراضيّة تسلك سلوكاً مختلفاً».

من يملك امتدادات افتراضيّة المعالج، ومسار برمجيّة افتراضيّة من طرف ثالثبينما يعمل hypervisor Windows يملك حصريّاً امتدادات افتراضيّة المعالج؛ وبرمجيّة افتراضيّة من طرف ثالث تدعم WHP تعمل فوقه عبر Windows Hypervisor Platform، بينما تنفيذات لا تدعم WHP لا تستطيع العمل أو تكون محدودة الميزاتلانعمامتدادات افتراضيّة المعالج (VT-x/AMD-V)هل يعمل hypervisor Windows؟تستطيع برمجيّة طرف ثالث استخدامها مباشرةالـ hypervisor يستخدمها حصريّاًWindows Hypervisor Platformبرمجيّة طرف ثالث قادرة على WHP تعمل فوقهتنفيذات غير قادرة لا تعمل، أو تكون محدودة

الشكل 13: مالك امتدادات الافتراضيّة واحد، وبرمجيّة الطرف الثالث الوحيدة التي تستطيع التعايش بينما يعمل الـ hypervisor هي برمجيّة تدعم الواجهة العامّة (WHP).

7. انظر بعينك

يمكنك أن تفحص على حاسوبك هل يعمل hypervisor.

7.1. فحص الـ hypervisor وVBS بـ PowerShell

أوّلاً، فحص يمكنك تشغيله دون صلاحيّات مدير.

# هل نعمل فوق hypervisor
(Get-CimInstance Win32_ComputerSystem).HypervisorPresent

# حالة VBS (المصدر نفسه لـ «أمان يستند إلى الظاهرية» في msinfo32)
Get-CimInstance -Namespace root/Microsoft/Windows/DeviceGuard `
    -ClassName Win32_DeviceGuard |
    Select-Object VirtualizationBasedSecurityStatus

يعيد VirtualizationBasedSecurityStatus حالة تشغيل VBS رقماً (2 تعني «Running»).9

تنبيه واحد. كلّ ما يخبرك به HypervisorPresent هو «هل نعمل فوق hypervisor»؛ ولا يميِّز الجذر عن الابن. إن شغَّلته على Windows داخل آلة افتراضيّة، ما يزال يعيد True، بوصفه قسماً ابناً. إن كان True على Windows على حاسوب فيزيائيّ، فذلك Windows داخل القسم الجذر؛ تقرؤه مع بيئة التنفيذ.

7.2. تمييز «يعمل» عن «المتطلّبات المسبقة» في systeminfo

ثانياً، الكلاسيكي من موجه أوامر.

systeminfo

انظر إلى «Hyper-V Requirements» في نهاية المخرجات. على جهاز لم يعمل فيه الـ hypervisor بعد، تُدرَج المتطلّبات الفرديّة، كدعم SLAT وما إذا كانت امتدادات الافتراضيّة ممكَّنة، واحداً واحداً. على جهاز يعمل فيه الـ hypervisor أصلاً، بدل المتطلّبات تحصل على سطر واحد: «A hypervisor has been detected. Features required for Hyper-V will not be displayed.»4

ذلك السطر الواحد إذن بيان أنّ Windows لديك يعمل فوق hypervisor ما. كما مع HypervisorPresent، تحتاج قراءته «داخل القسم الجذر» على حاسوب فيزيائيّ، أو «بوصفه قسماً ابناً» داخل آلة افتراضيّة.

حتّى إن كان كلّ متطلَّب systeminfo «Yes»، يعني ذلك فقط أنّ جانب العتاد جاهز. ميزة Hyper-V نفسها متاحة على إصدارات Pro وEnterprise وEducation، وليست على Home.10

7.3. عند الفحص على الشاشة، ميِّز أيّ بند تفحص

في الواجهة الرسوميّة، افحص صفّ «Virtualization-based security» تحت «System Summary» في msinfo32. لاحظ أنّ «Virtualization: Enabled» في لوحة المعالج في مدير المهام يعرض فقط ما إذا كانت امتدادات الافتراضيّة ممكَّنة في البرنامج الثابت، وهو معلومة منفصلة عن ما إذا كان hypervisor يعمل.

كيف تفحص ما إذا كان الـ hypervisor يعملإن قال systeminfo إنّ hypervisor قد اكتُشف فأنت تعمل على hypervisor (داخل القسم الجذر على حاسوب فيزيائيّ)؛ وإن ظهرت قائمة Hyper-V Requirements فهو لا يعمل بعد فتفحص كلّ متطلَّب كـ SLAT وVM Monitor Mode Extensions وDEP، لكن كلّ Yes يعني فقط أنّ جانب العتاد جاهز ولميزة Hyper-V أيضاً متطلَّب إصدارA hypervisor has been detectedالمتطلّبات مدرجةكلّها Yesبعضها Noشغِّل systeminfoماذا يعرض حقل Hyper-V Requirements؟الـ hypervisor يعمل (داخل الجذر على حاسوب فيزيائيّ)الـ hypervisor لا يعمل بعدكلّ المتطلّبات Yes؟جانب العتاد جاهزيحتاج Hyper-V أيضاً Pro/Enterprise/Educationافحص البنود ذات الصلة في UEFI/BIOS وما شابه

الشكل 14: حقل «Hyper-V Requirements» في systeminfo يعمل فحص حالة تشغيل وفحص متطلّبات مسبقة كليهما.

8. ثلاث قراءات خاطئة تُتجنَّب في الممارسة

8.1. «لم نُفعِّل Hyper-V، لذا الافتراضيّة لا علاقة لها بحواسيبنا»

حتّى إن لم تُفعِّل ميزة Hyper-V (أدوات الإدارة وبيئة تنفيذ الآلات الافتراضيّة)، يعمل hypervisor Windows إن كان VBS مفعَّلاً. عندما تحقِّق في مشكلة توافق برنامج تشغيل، أو اختبار أداء، أو مشكلة مع برمجيّة افتراضيّة من طرف ثالث، افحص HypervisorPresent وحالة تشغيل VBS، لا ما إذا كانت الميزة مفعَّلة.

8.2. «مدير المهام يقول ‹الافتراضيّة: ممكَّنة›، إذن Hyper-V يعمل»

ذلك العرض عن إعداد البرنامج الثابت (ما إذا كان VT-x/AMD-V متاحاً). احكم على حالة تشغيل الـ hypervisor من «A hypervisor has been detected» في systeminfo. بالمقابل، إن قال مدير المهام «Disabled»، لا تستطيع تفعيل Hyper-V أو WSL2 أيضاً، لذا افحص إعدادات UEFI/BIOS أوّلاً.

ثلاثة فحوص يسهل خلطهايعرض حقل الافتراضيّة في مدير المهام إعداد البرنامج الثابت، وتعرض قائمة ميزات Windows حالة التثبيت، ويعرض systeminfo أو HypervisorPresent حالة التشغيل؛ وكلّ منها يجيب عن سؤال مختلفماذا تريد أن تعرف؟هل امتدادات الافتراضيّة ممكَّنة في البرنامج الثابت؟هل ثُبِّتت ميزة Hyper-V؟هل الـ hypervisor يعمل الآن؟لوحة المعالج في مدير المهاممربّع حوار ميزات Windowssysteminfo وHypervisorPresent

الشكل 15: هذه ثلاثة أسئلة مستقلّة، واستنتاج الاثنين الآخرين من أيّ عرض واحد قراءة خاطئة.

8.3. «إن كانت الآلة الافتراضيّة بطيئة، فهي مشكلة نظام تشغيل الضيف»

يعبر إدخال/إخراج الجهاز الاصطناعيّ VMBus إلى VSP في القسم الجذر ويمرّ بمكدّس الجهاز/الخلف في جانب الجذر (برامج تشغيل فيزيائيّة، زائد معالجة مبدِّل افتراضي وقرص افتراضي). إن راقبت العدّادات داخل الضيف فقط، لن تجد عنق زجاجة يجلس في تخزين جانب المضيف أو محوِّل شبكة. مبدأ مشكلات أداء الآلات الافتراضيّة المراقبة من الجانبين: الضيف والمضيف (القسم الجذر).

9. الخلاصة

  • عندما تفعِّل Hyper-V، يعمل الـ hypervisor مباشرة على العتاد ويعمل Windows المضيف بوصفه القسم الجذر.2
  • تظلّ نواة نظام تشغيل الضيف تعمل عند الحلقة 0، والعمليّات المضبوطة اعتراضاً زائد الاستثناءات وحدها تُسلَّم إلى الـ hypervisor عبر VM Exit. تمرّ وصولات الذاكرة العاديّة عبر ترجمة SLAT.
  • القسم الجذر وحده يمسك برامج تشغيل الأجهزة الفيزيائيّة ومكدّس إدارة الافتراضيّة، وينشئ أقساماً أبناء عبر hypercall.2
  • تصير الذاكرة ترجمة بمستويين GVA←GPA←SPA، ويتولّى المستوى الثاني العتاد بـ SLAT (EPT/RVI). يشترط Hyper-V الحالي SLAT.4
  • يهيمن على إدخال/إخراج الأجهزة مسار الجهاز الاصطناعيّ VSC←VMBus←VSP، ويعتمد الأداء أيضاً على مكدّس الإدخال/الإخراج في جانب المضيف.2
  • على Windows 11، لأنّ VBS يُفعَّل افتراضيّاً على أجهزة تستوفي شروطاً كتثبيت نظيف، ليس غريباً أن يعمل الـ hypervisor حتّى على حاسوب لا يستخدم آلة افتراضيّة قطّ.1 يمكنك فحص حالة التشغيل بـ HypervisorPresent وsysteminfo.

تتكثّف الصورة الكبيرة للجزء 1 في هذا المخطّط الواحد.

الصورة الكبيرة للجزء 1يجلس الـ hypervisor تحت القسم الجذر والأقسام الأبناء؛ وتُخصَّص المعالجات بجدولة معالجات افتراضيّة (VM Exit فقط عند اعتراضات واستثناءات مضبوطة)، وتتوسّط الذاكرة ترجمة SLAT بمستويين، ويُحوَّل إدخال/إخراج الجهاز الاصطناعيّ عبر VMBus ويعالجه VSP في القسم الجذر، وللأجهزة المُحاكاة وDiscrete Device Assignment مسارات أخرىالقسم الجذر والأقسام الأبناءالـ hypervisorالمعالج: يخصِّص معالجات افتراضيّةالذاكرة: ترجمة بمستويين عبر SLATالأجهزة: إدخال/إخراج اصطناعيّ يُحوَّل عبر VMBusVM Exit فقط عند التدخّليعالجه VSP في جانب الجذرالأجهزة المُحاكاة وDDA تسلك مسارات أخرى

الشكل 16: جدولة المعالج وترجمة الذاكرة يتولّاهما الـ hypervisor مباشرة (VM Exit فقط عند التدخّل)، وإدخال/إخراج الجهاز الاصطناعيّ يتوسّطه القسم الجذر (VSP) في الجانب البعيد من VMBus.

يتبع في الجزء 2، «ذاكرة لا تستطيع النواة حتّى رؤيتها ── VBS وHVCI وCredential Guard».

نلتقط خيط هذا المقال، أنّ الـ hypervisor يمسك جداول ترجمة SLAT، ونتبع كيف ينشئ Windows «ذاكرة لا يستطيع مدير ولا النواة قراءتها».

مقالات ذات صلة

مجالات الاستشارة ذات الصلة

تتعامل شركة كومورا سوفت ذ.م.م. مع تصميم بيئات التحقّق لتطبيقات Windows، وتحقيقات الأداء في البيئات المُفتَرَضة، وتحليل مشكلات توافق برامج التشغيل والأجهزة الطرفيّة.

روابط مرجعيّة

  1. Microsoft Learn, Silicon assisted security. حول استخدام VBS الافتراضيّة العتاديّة لعزل النواة الآمنة عن نظام التشغيل العادي، وتفعيل VBS وHVCI افتراضيّاً على أجهزة تستوفي المتطلّبات المسبقة عند تثبيت جديد لـ Windows 11. ↩ ↩2 ↩3

  2. Microsoft Learn, Hyper-V Architecture. حول توفير الـ hypervisor أقساماً وحدة عزل؛ وإنشاء القسم الجذر أقساماً أبناء عبر واجهة hypercall؛ وعمل الأقسام في فضاء ذاكرة افتراضيّ خاصّ دون وصول مباشر إلى المعالجات الفيزيائيّة؛ وأدوار VMBus وVSP وVSC وEnlightened I/O؛ واشتراط امتدادات الافتراضيّة في العتاد (Intel VT/AMD-V). ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10 ↩11 ↩12

  3. Microsoft Learn, Hyper-V architecture (Performance Tuning). حول كون Hyper-V hypervisor من النوع 1، وملكيّة القسم الجذر أجهزة الإدخال/الإخراج الفيزيائيّة، وتوفير VMBus اتّصالاً عالي الأداء بين الأقسام يستخدم ذاكرة مشتركة. ↩ ↩2

  4. Microsoft Learn, System requirements for Hyper-V on Windows and Windows Server. حول اشتراط معالج 64-بت يدعم SLAT وVM Monitor Mode Extensions؛ وإمكان تأكيد استيفاء المتطلّبات في حقل «Hyper-V Requirements» في systeminfo؛ وعرض «A hypervisor has been detected» بينما يعمل hypervisor؛ وقدرة Discrete Device Assignment على تخصيص جهاز معيّن مباشرة لقسم ابن. ↩ ↩2 ↩3 ↩4

  5. Microsoft Learn, Appendix B: Hyper-V Architecture and Feature Overview. حول إدارة VMMS (خدمة إدارة الآلات الافتراضيّة) حالة الآلات الافتراضيّة في الأقسام الأبناء، وبدء عمليّة عاملة (VMWP) في وضع المستخدم في القسم الجذر لكلّ آلة افتراضيّة. ↩

  6. Microsoft Learn, Comparing WSL Versions. حول تشغيل WSL2 نواة Linux حقيقيّة داخل آلة افتراضيّة خدميّة خفيفة، والتحذيرات حول استخدامه مع VMware وVirtualBox الحاليَّين. ↩

  7. Microsoft Learn, Windows Sandbox architecture. حول كون Windows Sandbox بيئة Windows خفيفة تجمع تقنيّة الحاويات مع عزل بالـ hypervisor. ↩

  8. Microsoft Learn, Windows Hypervisor Platform. حول توفير واجهة وضع مستخدم كي يستطيع مكدّس افتراضيّة من طرف ثالث إنشاء أقسام وإدارتها فوق hypervisor Windows. ↩

  9. Microsoft Learn, Enable Hotpatch for Azure Arc-enabled servers. حول إمكان فحص حالة تشغيل VBS (الوضع الآمن الافتراضي) عبر VirtualizationBasedSecurityStatus على صنف Win32_DeviceGuard. ↩

  10. Microsoft Learn, Install Hyper-V. حول إمكان تفعيل Hyper-V على Windows 10/11 Pro أو Enterprise وما شابه، وعدم إمكان تثبيته على إصدار Home. ↩

أحدث المقالات التي تشترك في نفس الوسوم. عمّق فهمك بمواضيع مرتبطة.

ترتبط هذه المقالة بشكل طبيعي بصفحات الخدمات التالية.

الأسئلة الشائعة

أسئلة شائعة حول موضوع هذه المقالة.

عندما تفعِّل Hyper-V، أين يعمل Windows المضيف فعليّاً؟
يتولّى الـ hypervisor التحكّم المباشر في كيفيّة تخصيص المعالجات الفيزيائيّة والذاكرة، ويعمل Windows المضيف داخل قسم خاصّ يُسمَّى القسم الجذر. يُعالَج التحكّم بالأجهزة الفيزيائيّة عادةً عبر برامج التشغيل في جانب القسم الجذر. يحتفظ القسم الجذر ببرامج تشغيل الأجهزة ومكدّس إدارة الافتراضيّة، لكن ملكيّة المعالجات الفيزيائيّة تعود إلى الـ hypervisor.
هل تعني «الافتراضيّة: ممكَّنة» في مدير المهام أنّ Hyper-V يعمل؟
لا. يعرض ذلك العرض ما إذا كانت امتدادات الافتراضيّة في المعالج (Intel VT-x/AMD-V) ممكَّنة في البرنامج الثابت. لمعرفة ما إذا كان hypervisor يعمل فعليّاً، ابحث عن «A hypervisor has been detected» في systeminfo، أو افحص HypervisorPresent على Win32_ComputerSystem.
لماذا يعمل الـ hypervisor رغم أنّني لم أُنشئ آلة افتراضيّة قطّ؟
على Windows 11، يُفعَّل الأمان المستند إلى الافتراضيّة (VBS) افتراضيّاً على الأجهزة التي تستوفي الشروط، كتثبيت نظيف على عتاد متوافق، وVBS مبنيّ على hypervisor Windows. الأمر نفسه إن استخدمت WSL2 أو Windows Sandbox. ليس غريباً أن يعمل الـ hypervisor بغضّ النظر عمّا إذا كان أحد يستخدم الآلات الافتراضيّة.
ما SLAT، ولماذا يُشترَط لـ Hyper-V؟
SLAT (Second Level Address Translation) الآليّة التي يترجم بها المعالج العناوين الفيزيائيّة للضيف إلى عناوين فيزيائيّة فعليّة؛ Intel EPT وAMD RVI هما التنفيذان. بدونها سيضطرّ الـ hypervisor إلى صيانة جداول الترجمة برمجيّاً، وهو أمر غير واقعيّ من منظور الأداء، لذا يعاملها Hyper-V الحاليّ متطلَّباً صارماً.
إذا فعَّلتُ Hyper-V، هل يتوقّف VirtualBox وVMware عن العمل؟
لأنّ الـ hypervisor يستخدم امتدادات الافتراضيّة في المعالج حصريّاً، لا يمكن لـ hypervisor طرف ثالث أن يعمل بالطريقة التقليديّة. غير أنّ VirtualBox وVMware الحاليَّين يملكان وضعاً يعمل فوق hypervisor Windows (عبر Windows Hypervisor Platform)، لذا يمكن للإصدارات الحديثة من كلّ منهما التعايش.

الملف الشخصي للمؤلف

صفحة الملف الشخصي لمؤلف المقالة.

غو كومورا

مؤسّس شركة كومورا سوفت ذ.م.م.

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

العودة إلى المدونة