كيفية تمكين دعم RemoteFX vGPU في Hyper-V

جرب أداة القضاء على المشاكل

تم الآن تعطيل ميزة مفيدة تم تقديمها منذ وقت ليس ببعيد لنظام التشغيل Windows 10. تتيح ميزة RemoteFX vGPU لمستخدمي الأجهزة الافتراضية (VMs) التي تعمل بنظام التشغيل Windows Server 2008 R2 و Server 2012 و Server 2016 و Windows 10 التي تعمل على Hyper-V استخدام وحدة معالجة الرسومات الفعلية (GPU) للجهاز المضيف لعرض الرسم الخاص به انتاج.

اعتبارًا من التحديث الأخير الذي أجرته Microsoft لنظام التشغيل Windows 10 ، KB4571757 ، قررت Microsoft إيقاف هذه الميزة بسبب ثغرة أمنية خطيرة تم اكتشافها في Remote Code Execution.

دعنا نلقي نظرة على تفاصيل الميزة ، وسبب إيقافها ، وما إذا كان بإمكاننا إيجاد طريقة لاستمرار عملها أم لا. ملخص سريع إخفاء 1 ما هو RemoteFX vGPU؟ 2 لماذا قامت Microsoft بإزالة ميزة RemoteFX vGPU؟ 3 كيفية تمكين RemoteFX vGPU على Hyper-V الذي يعمل على Windows 10 4 بديل لـ RemoteFX vGPU 4.1 قم بتكوين الجهاز الظاهري لـ DDA 4.2 افصل GPU من الكمبيوتر المضيف 4.3 قم بتعيين GPU إلى VM 5 كلمات ختامية

ما هو RemoteFX vGPU؟

يمكن لأجهزة VM التي تعمل على Hyper-V استخدام وحدة معالجة الرسومات الفعلية على الكمبيوتر المضيف لتشغيل مهامها المتعلقة بعرض الفيديو ومعالجة الصور ، باستخدام ميزة RemoteFX vGPU. يتيح ذلك للمستخدمين إزالة الحمل من وحدة المعالجة المركزية الخاصة بهم وتشغيل معالجة الصور الثقيلة على أجهزة VM الخاصة بهم باستخدام وحدة معالجة الرسومات المشتركة.

مع هذه الميزة ، لا يلزم وجود وحدة معالجة رسومات مخصصة لكل جهاز افتراضي ، وتوفر في الوقت نفسه قابلية تطوير محسّنة وقابلية الاستخدام لوحدة معالجة الرسومات (GPU) ، وكذلك الأجهزة الافتراضية (VM). توجه إلى صفحة ويب Microsoft لمعرفة المزيد عن الميزة.

لماذا قامت Microsoft بإزالة ميزة RemoteFX vGPU؟

على الرغم من أن ميزة RemoteFX vGPU قديمة كما تم تقديمها في Windows 7 ، إلا أنه يتم استغلالها الآن من قبل المتسللين لتنفيذ أوامر عن بعد على الجهاز المضيف. هذه الميزة غير قادرة على مصادقة إدخال مستخدم صالح على الجهاز الظاهري. يمكن للمتسلل استغلال هذه الثغرة الأمنية لتشغيل التطبيقات المعدلة على الجهاز الظاهري لاستغلال برامج تشغيل وحدة معالجة الرسومات المضيفة والحصول على حق الوصول. بمجرد وصولهم إلى الجهاز المضيف ، يمكنهم تنفيذ الأوامر والبرامج النصية عن بُعد.

على الرغم من أن Microsoft تعالج مثل هذه الثغرات الأمنية من خلال تحديثاتها المنتظمة ، إلا أنها لم تكن قادرة على القيام بذلك لأن الخلل معماري.

بدأت Microsoft في إزالة هذه الميزة لإصدارات مختلفة من نظام التشغيل مرة أخرى في يوليو 2020. ومع ذلك ، أدى التحديث التراكمي لنظام التشغيل Windows 10 لشهر سبتمبر 2020 إلى تعطيل الميزة في جميع إصدارات Windows 10 الإصدار 2004.

تنص Microsoft على أن المستخدمين سيظلون قادرين على إعادة تمكين الميزة حتى فبراير 2021 من خلال أوامر خاصة ، ولكن يجب أن يبدأوا العمل على طرق بديلة ستتم مناقشتها لاحقًا في المقالة. هنا ملف إشعار من Microsoft بشأن تعطيل RemoteFX vGPU .

كيفية تمكين RemoteFX vGPU على Hyper-V الذي يعمل على Windows 10

على الرغم من أن Microsoft قامت بتعطيل الميزة لتمكين RemoteFX vGPU من خلال Hyper-V على نظام التشغيل Windows 10 ، إلا أنه لا يزال من الممكن تمكينها من خلال أمر باستخدام PowerShell. علاوة على ذلك ، لا تزال إعدادات نهج المجموعة موجودة داخل أنظمة تشغيل الضيف (VMs) والتي يمكن استخدامها لتمكين الميزة على الجهاز الظاهري تمامًا كما كان من قبل.

رمادية

  1. أولاً ، قم بتشغيل الجهاز الظاهري الذي ترغب في تكوين هذه الميزة عليه وافتح محرر نهج المجموعة عن طريق الكتابة gpedit.msc في تشغيل.
  2. في ال محرر نهج المجموعة ، انتقل إلى ما يلي من الجزء الأيمن:
  3. تكوين الكمبيوتر -> القوالب الإدارية -> مكونات Windows -> خدمات سطح المكتب البعيد -> مضيف جلسة سطح المكتب البعيد -> بيئة الجلسة البعيدة -> RemoteFX for Windows Server
  4. في الجزء الأيسر ، انقر نقرًا مزدوجًا فوق تكوين RemoteFX .
  5. في ال تكوين RemoteFX نافذة الخصائص ، حدد ممكن ، ثم انقر فوق تطبيق و نعم .
  6. افتح الآن موجه الأوامر واكتب gpupdate / القوة لتحديث سياسات المجموعة.
  7. قم بتنزيل وتثبيت برنامج تشغيل GPU الموصى به وفقًا لوحدة معالجة الرسومات الفعلية الخاصة بك. هنا مراجعة مفصلة ل وحدات معالجة الرسومات وكيفية إدارتها .
  8. الآن قم بإغلاق VM وانتقل مرة أخرى إلى الكمبيوتر المضيف الذي يقوم بتشغيل Hyper-V.
  9. منذ محول فيديو RemoteFX ثلاثي الأبعاد الخيار غير نشط في إعدادات VM ، سنقوم بتمكينه من خلال PowerShell. قم بتشغيل PowerShell باستخدام حقوق إدارية. فيما يلي دليل كامل حول كيفية تشغيل PowerShell دائمًا في الوضع الإداري.
  10. أدخل الأمر التالي أثناء استبدال (name) باسم جهازك الظاهري:
    Add-VMRemoteFX3dVideoAdapter -VMName (name)
  11. افتح الآن إعدادات VM من خلال لوحة تحكم Hyper-V وستجد ملف محول الفيديو RemoteFX ED تحت المعالج التبويب. انقر فوقه ثم قم بإجراء التكوينات وفقًا لاحتياجاتك.
    إعدادات vm remotefx

يمكنك الآن بدء الجهاز الظاهري والاتصال به وسيستخدم الآن وحدة معالجة الرسومات الخاصة بالجهاز المضيف لمعالجة عبء العمل الخاص به. يمكنك أيضًا تكوين عدة أجهزة افتراضية للتشغيل على وحدة معالجة رسومات فعلية مشتركة.

بديل لـ RemoteFX vGPU

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

تحتوي هذه الطريقة على ثلاث مراحل يجب إكمالها لتزويد جهاز افتراضي بوحدة معالجة رسومات مخصصة:

  1. قم بتكوين الجهاز الظاهري لـ DDA
  2. افصل GPU من الكمبيوتر المضيف
  3. قم بتعيين GPU إلى VM

قم بتكوين الجهاز الظاهري لـ DDA

على الكمبيوتر المضيف ، قم بتشغيل الأوامر التالية واحدًا تلو الآخر لتكوين إعداداته. استبدل (الاسم) باسم الجهاز الظاهري:

  1. Set-VM -Name (name) -AutomaticStopAction TurnOff
  2. Set-VM -GuestControlledCacheTypes $true -VMName (name)
  3. Set-VM -LowMemoryMappedIoSpace 3Gb -VMName (name)
  4. Set-VM -HighMemoryMappedIoSpace 33280Mb -VMName (name)

افصل GPU من الكمبيوتر المضيف

أولاً ، تحتاج إلى تعطيل وحدة معالجة الرسومات على منفذ PCIe ، ثم إلغاء تحميلها. ولكن قبل ذلك ، ستحتاج إلى العنوان الفعلي للميناء. يمكن تحديد ذلك من خلال القيام بما يلي:

  1. توجه إلى إدارة الأجهزة عن طريق كتابة devmgmt.msc في Run.
  2. الآن قم بتوسيع محولات العرض وانقر بزر الماوس الأيمن على وحدة معالجة الرسومات. حدد خصائص من قائمة السياق.
  3. انتقل إلى علامة التبويب 'التفاصيل' وحدد 'مسارات الموقع' من القائمة المنسدلة ضمن الموقع.
  4. لاحظ أن الإدخال يبدأ بـ PCIROOT حيث سيكون ذلك مطلوبًا عند فصل GPU من الجهاز المضيف.

قم الآن بتنفيذ ما يلي لفصل الجهاز:

  1. توجه إلى الخصائص نافذة GPU من مدير الجهاز .
  2. اذهب إلى سائق علامة التبويب ثم انقر فوق إبطال جهاز .

الآن وقد تم تعطيل الجهاز ، فأنت بحاجة إلى فكه.

أدخل الأمر التالي في موجه الأوامر:
Dismount-VMHostAssignableDevice -force -LocationPath $(LocationPath)
استبدل (LocationPath) بمسار PCIe الذي لاحظته سابقًا.

بمجرد الانتهاء ، يمكنك المتابعة إلى المرحلة التالية.

قم بتعيين GPU إلى VM

الآن كل ما عليك فعله هو برمجة Hyper-V للسماح لجهاز VM باستخدام وحدة معالجة الرسومات الفعلية. يمكن القيام بذلك عن طريق تشغيل الأمر أدناه في موجه الأوامر:
Add-VMAssignableDevice -LocationPath $locationPath -VMName (name)
استبدل (الاسم) باسم الجهاز الظاهري.

يمكنك الآن بدء تشغيل نظام التشغيل الضيف ورؤية أن محول الفيديو الذي يستخدمه الآن سيكون هو محول الفيديو الفعلي على الكمبيوتر المضيف.

إذا كنت ترغب في أي وقت في إعادة وحدة معالجة الرسومات إلى الجهاز المضيف ، فما عليك سوى تشغيل الأمرين التاليين بنفس الترتيب ، واحدًا تلو الآخر ، في موجه الأوامر أثناء استبدال (الاسم) باسم الجهاز الظاهري:
Remove-VMAssignableDevice -LocationPath $locationPath -VMName VMName
Mount-VMHostAssignableDevice -LocationPath $locationPath

كلمات ختامية

لم يكن RemoteFX vGPU موجودًا كثيرًا في إصدار 2004. ومع ذلك ، أحب الناس فكرة ذلك. قد لا تكون رؤيتها تذهب مزعجة كما هو متوقع ما لم تضع عامل التكلفة.

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

تحتاج Microsoft إلى إيجاد حل بديل للمشكلة لأن الحل المقدم غير ممكن لمعظم المستخدمين.