ما هي واجهة البرامج الثابتة الموحدة القابلة للتوسيع (UEFI)؟

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

ما هي واجهة البرامج الثابتة الموحدة القابلة للتوسيع (UEFI)؟

واجهة البرامج الثابتة الموحدة القابلة للتوسيع (UEFI) هي تقنية حديثة ومطوّرة تُعتبر البديل المتقدّم لنظام BIOS التقليدي المستخدم منذ عقود كواجهة أساسية لتهيئة وتشغيل أجهزة الكمبيوتر عند بدء الإقلاع، يُعد UEFI نوعًا من البرمجيات الثابتة (Firmware) التي تُثبت على اللوحة الأم وتعمل كجسر يربط بين الأجهزة المادية ونظام التشغيل، مما يضمن تشغيل الجهاز بسلاسة وتنظيم عملية التحميل والاقلاع.

يتميز نظام UEFI بعدد من المزايا التقنية التي تجعله يتفوق على نظام الإدخال والإخراج الأساسي (BIOS) التقليدي، من أبرز هذه المزايا القدرة على دعم وحدات تخزين أكبر تتجاوز سعة 2 تيرابايت، والعمل مع واجهات رسومية متقدمة تقدم للمستخدم تجربة أكثر مرونة، فضلاً عن توفير أمان محسّن من خلال دعم ميزات مثل التمهيد الآمن (Secure Boot) الذي يمنع تحميل البرمجيات أو الأنظمة غير الموثوقة، كما يمنح النظام المطورين مرونة أكبر للتخصيص والتحديث بسهولة.

علاوة على ذلك، يوفر UEFI إمكانات متعددة لزيادة سرعة الإقلاع وتقليل وقت بدء تشغيل الجهاز، بفضل تصميمه الأكثر كفاءة مقارنة بـ BIOS، ويمكنه أيضًا تخزين إعدادات تكوين الجهاز بشكل أكثر تعقيدًا لأنه يعتمد على جداول بيانات بنية قابلة للتمدد بدلاً من الاعتماد فقط على القيود القديمة.

بوجه عام، يُعد UEFI تحسينًا كبيرًا لأداء وفعالية الأجهزة الحديثة، ويتماشى مع تطورات تكنولوجيا المعلومات المتسارعة التي تتطلب أنظمة أكثر قوة وأمناً ومرونة.

ما وظيفة واجهة البرامج الثابتة الموحدة القابلة للتوسيع (UEFI)؟

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

تحتوي الواجهة على جداول بيانات مُرتبطة بالمنصة، واستدعاءات خدمات الإقلاع والتشغيل التي يستخدمها مُحمّل نظام التشغيل، تُحدّد هذه المعلومات مجتمعةً الواجهات والهياكل المطلوبة التي يجب تنفيذها للبرامج الثابتة وأجهزة الحاسوب لدعم UEFI، كما تتحقق UEFI من مُكوّنات الأجهزة المُتصلة، وتُفعّلها، ثم تُسلّمها إلى نظام التشغيل.

تطور واجهة البرامج الثابتة الموحدة القابلة للتوسيع (UEFI)

في أواخر التسعينيات، أطلقت شركة إنتل مبادرة Intel Boot Initiative إدراكًا منها للعديد من قيود البرامج الثابتة لنظام BIOS، أصبحت هذه المبادرة لاحقًا واجهة البرامج الثابتة القابلة للتوسيع (EFI)، يُعرّف المعهد الوطني للمعايير والتكنولوجيا (NIST) واجهة EFI بأنها "مواصفة للواجهة بين نظام التشغيل والبرامج الثابتة للمنصة".

طوّرت إنتل نظام EFI كامتدادٍ لبنية خوادم Itanium ذات 64 بت، والتي شاركت في تطويرها مع شركة هيوليت-باكارد (HP)، تم تطوير إطار عمل EFI بلغة البرمجة C، وتضمن العديد من الأوامر المشابهة لأوامر أنظمة تشغيل الأقراص الشائعة (DOS) ولينكس، مثل عرض محتويات المجلد، وتغيير المجلد، ونقل الملفات أو المجلدات إلى موقع آخر، وعرض معلومات المساعدة، كما كان بإمكان EFI، مثل DOS ولينكس، تشغيل البرامج المدرجة في مسار النظام من الجذر.

اعتبرت الصناعة أن EFI سيعالج قيود الذاكرة والمعالجة في BIOS في بنى خوادم X86، وشملت هذه القيود وضع الحوسبة 16 بت، وذاكرة النظام المحدودة، وعدم استقلالية وحدة المعالجة المركزية قيد الاستخدام، وواجهة المستخدم البسيطة للغاية للمسؤولين، وبرمجة لغة التجميع المعقدة، كما هدفت هذه المواصفات إلى تقليل اعتماد نظام التشغيل على تفاصيل تنفيذ البرامج الثابتة، وتوفير بديل لنظام BIOS القديم، لا سيما من حيث سهولة الاستخدام وتوفير التوافق مع مختلف المنصات.

ساهم الإصدار اللاحق من EFI، وهو EFI 1.10، في تبسيط برامج تشغيل الأجهزة، وتقليل حجمها، وتمكين النظام الأساسي من اختيار برامج التشغيل المناسبة تلقائيًا، وقد أصدر العديد من مُصنّعي أجهزة الحوسبة أجهزة جديدة مزودة بـ EFI 1.10 بنظام 32 بت، ومن الأمثلة على ذلك شركة آبل، التي أصدرت جهاز MacBook Pro بنظام EFI 1.10 بنظام 32 بت في عام 2006، وفي وقت لاحق، طوّرت إنتل حزمة تطوير EFI الإصدار الثاني (EFI Development Kit v2)، وقد طبّق هذا الإصدار مواصفات UEFI المُحدّثة من إنتل، والتي أضافت دعمًا لأنظمة 64 بت.

لا تزال EFI ملكًا لشركة إنتل، ولا تزال الشركة تُرخّص المواصفات، ومع ذلك، توقفت الشركة عن التطوير الحصري لـ EFI بعد إصدار النسخة 1.10، وبحلول ذلك الوقت، كانت إنتل قد أوقفت أيضًا إنتاج معالجات Itanium، نتيجة لتأخيرات في المنتجات ومشاكل أخرى، وقد ساهمت إنتل بـ EFI 1.10 في منتدى UEFI، وهو تحالف يضم مُصنّعي الشرائح، والأجهزة، والأنظمة، والبرامج الثابتة، وأنظمة التشغيل، تضم بعض الشركات المنضوية تحت هذا التحالف الصناعي ما يلي:

  • مايكروسوفت
  • لينوفو
  • إتش بي
  • آي بي إم
  • إيه إم دي
  • آبل
  • ديل
  • إيه إم آي

قام منتدى UEFI بتطوير معيار UEFI، المبني على معيار EFI 1.10، مع إدخال العديد من التصحيحات والتعديلات، وبشكل عام، يمتلك منتدى UEFI معيار مواصفات UEFI ويتولى إدارة تطويره المستمر، ويضم المنتدى مساهمين يساعدون في بناء المواصفات، ومستخدمين لتطبيقات EFI، وفرق عمل تتولى الأنشطة التقنية، مثل تصميم وتطوير مجموعة الاختبارات وتقديم المواصفات الرسمية.

مقارنة بين UEFI وBIOS

تشغيل الحاسوب يُطلق سلسلة من العمليات التي تسبق تحميل نظام التشغيل، يقوم البرنامج الثابت بتنشيط النظام الفرعي للحاسوب لتنفيذ سلسلة من الاختبارات وتحديد موقع مُحمِّل الإقلاع، الذي بدوره يُشغِّل نواة نظام التشغيل، يمكن إتمام هذه العملية برمتها إما عبر BIOS أو UEFI.

يُعتبر BIOS عمومًا من بقايا الحوسبة القديمة، بينما يُنظر إلى UEFI على أنه مستقبل الحوسبة، ولتسهيل الفهم، يُشير بعض مُستخدمي تقنية المعلومات إلى العمليتين معًا باسم UEFI BIOS، على الرغم من اختلافاتهما الجوهرية.

يستخدم كل من BIOS وUEFI برامج منخفضة المستوى لإدارة وظائف بدء التشغيل قبل إقلاع نظام التشغيل، وإن كان ذلك باستخدام تقنيات مختلفة، كما هو الحال مع BIOS، يتم تثبيت UEFI أثناء التصنيع وهو أول برنامج يتم تشغيله عند إقلاع الحاسوب.

قيود BIOS

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

لإنجاز هذه المهمة، يستشير BIOS سجل الإقلاع الرئيسي (MBR) لتحديد موقع نظام التشغيل وتشغيل مُحمل الإقلاع، يستخدم MBR قيمًا من 32 بت لوصف إزاحة وطول القسم، مما يحد من سعة محركات الأقراص في أنظمة BIOS إلى 2 تيرابايت (TB) وبحد أقصى أربعة أقسام.

كما يعمل BIOS فقط في وضع معالج 16 بت، مما يحد من عدد أوامر البرامج التي يمكن للبرنامج الثابت تنفيذها في وقت واحد، يخصص BIOS 1 ميجابايت من الذاكرة لتنفيذ المهام، وبالتالي، تتم تهيئة الواجهات والأجهزة بالتتابع، مما قد يُساهم في بطء بدء التشغيل.

كيف يتغلب UEFI على قيود BIOS

تعالج مواصفات UEFI العديد من قيود BIOS، بما في ذلك القيود المفروضة على حجم قسم القرص الصلب والوقت الذي يستغرقه BIOS لتنفيذ مهامه.

يعمل UEFI كنظام تشغيل مصغر يقع بين البرامج الثابتة ونظام التشغيل، يقوم بنفس عمليات التشخيص التي يقوم بها BIOS عند بدء التشغيل، ولكنه يوفر مرونة أكبر، يبدأ تشغيل نظام التشغيل مباشرةً من UEFI، مما يلغي الحاجة إلى الضغط المتكرر على مفاتيح التبديل، كما هو مطلوب لتشغيل BIOS.

يخزن UEFI بيانات التهيئة في قسم ملف EFI في ذاكرة فلاش غير متطايرة، بدلاً من البرامج الثابتة، كما يمكن لـ UEFI التحميل أثناء بدء التشغيل من محرك أقراص أو مشاركة شبكة، يستخدم UEFI أيضًا نظام تقسيم أكثر مرونة من MBR، يُعرف باسم جدول تقسيم المعرف الفريد عالميًا (GPT) (الذي أنشأته Intel أيضًا كجزء من EFI)، يستخدم GPT قيم 64 بت لتمكين إنشاء ما يصل إلى 128 قسمًا، وهو مطلوب للأنظمة التي يتم تشغيلها من محركات أقراص بسعة 2 تيرابايت أو أكبر، يستخدم قسم EFI جدول تخصيص الملفات (FAT)، بما في ذلك FAT16 أو FAT32 أو FAT الظاهري.

مزايا واجهة البرامج الثابتة الموحدة القابلة للتوسيع

يوفر UEFI العديد من التحسينات الهامة مقارنةً بـ BIOS، ومنها ما يلي:

  • وضع الإقلاع: يمكن لمستخدمي Microsoft Windows تشغيل UEFI بنظام 32 بت أو 64 بت، بينما يقتصر BIOS على وضع 16 بت، من المهم ملاحظة أن الخبراء يوصون بأن يكون وضع بت نظام التشغيل ووضع بت البرامج الثابتة متطابقين لتجنب مشاكل الاتصال أثناء التشغيل.
  • سرعة الإقلاع: يُمكّن UEFI من الإقلاع واستئناف التشغيل بشكل أسرع مقارنةً بـ BIOS.
  • محركات الأقراص: يدعم UEFI محركات أقراص بسعة 2.2 تيرابايت فأكثر، بما في ذلك محركات بسعة نظرية تصل إلى 9.4 زيتابايت، وهذا يتجاوز بكثير سعات محركات الأقراص القصوى المتاحة في BIOS، كما يدعم UEFI محركات الأقراص التي تحتوي على أكثر من أربعة أقسام.
  • برامج التشغيل: يدعم UEFI برامج التشغيل المنفصلة، ​​بينما يتم تخزين دعم محركات الأقراص في BIOS في ذاكرة للقراءة فقط، مما يستلزم ضبطه لضمان التوافق عند استبدال محركات الأقراص أو إجراء تغييرات عليها، باختصار، قد يكون تحديث البرامج الثابتة لـ UEFI BIOS أمرًا صعبًا.
  • واجهة المستخدم الرسومية (GUI): يُمكّن UEFI من التنقل عبر الفأرة وواجهة المستخدم الرسومية، كما يُسهّل إضافة وحدات جديدة، بما في ذلك برامج تشغيل أجهزة اللوحة الأم والأجهزة الطرفية المتصلة، في المقابل، يُعدّ التنقل في BIOS أكثر صعوبة لأنه لا يُمكن إجراؤه إلا عبر لوحة المفاتيح.
  • دعم أنظمة تشغيل متعددة: بينما يسمح BIOS بمُحمّل إقلاع واحد، يُتيح UEFI للمستخدمين تثبيت مُحمّلات لأنظمة Ubuntu المبنية على Debian وغيرها من توزيعات Linux، بالإضافة إلى مُحمّلات نظام Windows، في قسم نظام EFI نفسه.
  • البرمجة: تُكتب برامج UEFI الثابتة بشكل أساسي بلغة C، مما يُتيح للمستخدمين إضافة أو إزالة وظائف ببرمجة أقل من BIOS، المكتوب بلغة التجميع، وأحيانًا بالاشتراك مع C.
  • الأمان: Secure Boot هو بروتوكول UEFI لنظام Windows 10 أو الإصدارات الأحدث من Windows، يجعل Secure Boot البرامج الثابتة للنظام بمثابة جذر الثقة للتحقق من سلامة الجهاز والنظام، مما يمنع المتسللين من تثبيت برامج التجسس (rootkits) في الفترة ما بين بدء التشغيل والتسليم إلى نظام التشغيل، يُمكّن التمهيد الآمن المستخدم المُصرّح له من تهيئة الشبكات واستكشاف الأخطاء وإصلاحها عن بُعد، وهو أمر يتطلب وجود مسؤول BIOS فعليًا.
  • نشر البث المتعدد: يُمكن لمصنّعي الأجهزة بث صورة نظام التشغيل إلى أجهزة كمبيوتر متعددة دون إثقال الشبكة أو خادم الصور.

عيوب واجهة البرامج الثابتة الموحدة القابلة للتوسيع

يُعدّ الأمن أحد أكبر المخاوف المتعلقة بواجهة البرامج الثابتة الموحدة القابلة للتوسيع.

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

يُعرف برنامج خبيث يستهدف واجهة UEFI باسم BlackLotus، في أبريل 2023، أصدرت مايكروسوفت وثيقة إرشادية لمساعدة المؤسسات على تقييم ما إذا كانت قد تعرضت للاختراق نتيجة استغلال الثغرة الأمنية CVE-2022-21894 (BatonDrop) عبر برنامج BlackLotus الخبيث المُثبّت على نظام UEFI.

يقوم هذا البرنامج الخبيث بكتابة ملفات مُحمّل إقلاع خبيثة إلى قسم ESP، ويمكن تشغيله عند بدء تشغيل الكمبيوتر (حتى قبل تحميل نظام التشغيل)، وبالتالي، يمكنه التدخل في آليات الأمان المُدمجة في نظام التشغيل، بل وتعطيلها، قد يُتيح استغلال الثغرة الأمنية بنجاح عبر BlackLotus للمهاجمين السيطرة على النظام المُصاب والبقاء فيه.

إلى جانب المشكلات الأمنية، قد تتكبد المؤسسات التي تنتقل إلى UEFI تكلفةً تتعلق بالإقلاع من ذاكرة الفلاش، فبينما يُعدّ الإقلاع من ذاكرة الفلاش أسرع من الإقلاع من محركات الأقراص الصلبة، قد تتطلب الأنظمة القديمة تحديثًا، أي إضافة شريحة ذاكرة فلاش أكبر على اللوحة الأم للتحول إلى الإقلاع عبر UEFI.

ومن عيوب UEFI الأخرى اعتماده على نظام ملفات FAT، الذي يُديره نظام التشغيل، إذ يُمكن أن تُضيف أقسام القرص الأكبر حجمًا عبئًا كبيرًا على النظام، مما يُفقد UEFI بعض مزايا الأداء، في هذه الحالة، قد يكون BIOS خيارًا أفضل، خاصةً لأجهزة الكمبيوتر التي تعمل بنظام تشغيل قديم وأقراص إقلاع صغيرة.

كيفية تحديد إعدادات UEFI/BIOS والوصول إليها

لتحديد ما إذا كان الكمبيوتر يُقلع من BIOS أو UEFI، اضغط على مفتاحي Windows وR معًا لفتح نافذة "تشغيل التكوين"، اكتب MSInfo32 في مربع الحوار واضغط على مفتاح Enter، ستظهر شاشة ملخص النظام، ابحث عن خيار "وضع BIOS"، وسجّل القيمة المقابلة، إذا كانت القيمة "Legacy"، فهذا يعني أن النظام يستخدم BIOS، وإلا، فستظهر "UEFI" في حقل القيمة.

يمكن لمستخدمي Windows الوصول إلى UEFI عبر خيار "إعدادات الكمبيوتر" في شريط البحث، المسار هو: إعدادات الكمبيوتر > التحديث والأمان > الاسترداد > بدء التشغيل المتقدم، ثم حدد خيار "إعادة التشغيل الآن"، من القائمة، حدد "استكشاف الأخطاء وإصلاحها" > "خيارات متقدمة" > "إعدادات البرامج الثابتة UEFI"، ثم أعد تشغيل الجهاز.

ستظهر أجهزة Linux المُثبّت عليها UEFI في الدليل sys/firmware/efi، سينعكس هذا أيضًا في مدير الإقلاع Linux Grand Unified Bootloader باسم grub-efi، بدلاً من grub-pc الخاص بـ BIOS.

Coreboot وUEFI

على غرار UEFI، يُعدّ Coreboot مفتوح المصدر خيارًا آخر يسعى لاستبدال نظام BIOS التقليدي، يُعرف Coreboot سابقًا باسم LinuxBIOS، وهو برنامج ثابت مرن لأجهزة الكمبيوتر الحديثة والأنظمة المدمجة، يُجري هذا البرنامج الثابت الحد الأدنى من تهيئة الأجهزة قبل تنفيذ الحمولة (نواة لينكس، FILO، SeaBIOS، إلخ)، يتميز Coreboot بسرعته الفائقة مقارنةً بنظامي BIOS وUEFI، بالإضافة إلى مزايا أخرى كالأداء العالي، والاستقرار، والأمان المُعزز، وسهولة الصيانة، ولأن Coreboot مفتوح المصدر، فإن أي تحسينات تُشارك مع جميع المستخدمين.

انطلق مشروع Coreboot عام 1999، ومنذ ذلك الحين، ساهم العديد من الأشخاص في تطوير شفرته، ولا يزال مشروعًا تطويريًا مجتمعيًا يحظى بدعم واسع، من أبرز داعميه: Libreboot (توزيعة Coreboot خالية من ملفات blob)، وSkulls (صور Coreboot بسيطة لأجهزة الكمبيوتر المحمولة IBM ThinkPad)، وMrChromebox (برنامج Coreboot ثابت مخصص وأدوات مساعدة لأجهزة Chromebook).

مشاركة في التطبيقات الأخرى