UEFI

از ویکی فارسی اوبونتو
پرش به: ناوبری، جستجو
لوگوی UEFI

رابط ثابت‌افزار توسعه‌پذیر یکپارچه (Unified Extensible Firmware Interface) یا به اختصار UEFI، یک ویژگی نرم‌افزاری رابط بین سیستم‌عامل و بن‌سازهٔ سخت‌افزاری است. این ویژگی جایگزین رابط سخت‌افزار بایوس است. در حال حاضر در تمام کامپیوترهای شخصی سازگار با آی‌بی‌ام ارائه شده‌است. در بررسی‌ها، ویژگی UEFI، تمامی خدمات بایوس را پشتیبانی می‌کند. به وسیله این ویژگی می‌توان عیب‌یابی و تعمیرات (یا تنظیمات امنیتی) را بدون نیاز به هیچگونه سیستم‌عاملی انجام داد. EFI اصلی توسط اینتل توسعه داده می‌شد. برخی از این شیوه‌ها و قالب داده‌ها، انعکاسی از ویژگی‌های ویندوز است. در سال ۲۰۰۵ UEFI جایگزین EFI 1.10 (نگارش نهایی EFI) شد. در حال حاضر ویژگی UEFI توسط انجمن Unified EFI مدیریت می‌شود.

تاریخچه

ایدهٔ اصلی برای EFI به هنگام توسعهٔ نخستین سامانهٔ ایتانیوم اینتل-اچ‌پی در اواسط دههٔ ۱۹۹۰ به وجود آمد. محدودیت‌های بایوس رایانه‌های شخصی (حالت پردازندهٔ ۱۶-بیتی، ۱ مگابایت فضای قابل آدرس‌دهی، وابستگی‌های سخت‌افزاری پی‌سی ای‌اتی و…) برای سرورهای بزرگ‌تری که ایتانیوم به سمت آن‌ها حرکت می‌کرد، غیرقابل قبول بود. تلاش برای حل این مشکلات در ابتدا با نام آغازگر راه‌اندازی اینتل، در سال ۱۹۹۸ شروع شد، و بعدها به EFI تغییر نام داد. در ژوئیه سال ۲۰۰۵ اینتل توسعهٔ ویژگی EFI را در ورژن ۱٫۱۰ آن متوقف کرد، و آن را به انجمن یکپارچهٔ EFI سپرد. این انجمن گسترش ویژگی را با عنوان Unified Extensible Firmware Interface (UEFI) آغاز کرد. مالک ویژگی ورژن اصلی EFI همچنان اینتل است که برای کالاهای تحت EFI مجوز فراهم می‌کند، اما مالکیت ویژگی UEFI به انجمن بر می‌گردد. ورژن ۲٫۱ UEFI در ۷ ژانویه ۲۰۰۷ منتشر شد. در این نگارش رمزنگاری، احراز هویت تحت شبکه و معماری رابط کاربری (زیرسازه‌های رابط‌های انسانی در uefi) پیاده شدند. نگارش فعلی آن، ۲٫۳٫۱ در تاریخ آوریل ۲۰۱۱ مورد تأیید قرار گرفت.

محتوا

رابط تعریف شده توسط مشخصه EFI شامل جداول داده‌ایِ اطلاعات بن‌سازه، خدمت‌های راه‌اندازی و خدمت‌های زمان‌اجرا است که برای بارگذارنده سیستم‌عامل و همچنین خود سیستم‌عامل قابل دسترس است. ثابت‌افزار UEFI مزایای چندی را نسبت به بایوس قدیمی سامانه‌ها داراست.

  • قابلیت راه‌اندازی از دیسک‌های بزرگ (بیش‌از ۲٫۲ ترابایت) با کمک GPT.
  • زمان راه‌اندازی سریعتر
  • معماری مستقل از پردازنده
  • راه‌اندازهای مستقل از پردازنده
  • محیطی انعطاف‌پذیر قبل از اجرای سیستم‌عامل، شامل قابلیت اتصال به شبکه
  • طراحی پیمانه‌ای


سازگار با افزاره‌های حافظه

در EFI علاوه بر شمای استاندارد افراز دیسک، که از رکورد راه‌انداز اصلی (Master Boot Record) استفاده می‌کند، شمای افرازش جدیدی نیز استفاده می‌کند. جدول افراز GUID (به اختصار GPT) فاقد از هرگونه محدودیت‌های موجود در معماری رکورد راه‌انداز اصلی داس است. به‌طور مشخص، این رکورد محدود به تعداد و اندازه افرازهای دیسک (تا ۴ افراز روی هر دیسک و تا ۲٫۲ ترابایت برای هر دیسک) است در حالی که GPT قادر به شناسایی دیسک یا افرازهایی به اندازه ۹٫۴ زِتابایت است. همچنین مشخصه EFI به سامانه پروندهٔ خاصی محدود نمی‌شود

خدمت‌ها

EFI دو نوع خدمت را معرفی کرده‌است. خدمت‌های راه‌اندازی و خدمت‌های زمان اجرا. خدمت‌های راه‌اندازی تنها زمانی که ثابت‌افزار مالکیت بن‌سازه را در اختیار دارد قابل دسترسند (پیش از فراخوانی ExitBootServices). خدمت‌های راه‌اندازی شامل کنسول‌های متنی و گرافیکی روی افزاره‌ها و گذرگاه‌های مختلف و افزاره‌های متنی/داده‌ای می‌شود. درحالی که خدمت‌های زمان اجرا تا زمانی که سیستم‌عامل در حال اجراست نیز قابل دسترسی هستند. خدمت‌های زمان اجرا شامل خدمت‌هایی چون تاریخ، زمان و دسترسی به NVRAM می‌شوند.

خدمت‌های متغیری

متغیرهای UEFI روشی برای ذخیره داده‌ها را به شکلی غیرفرار مهیا می‌کند که بین ثابت‌افزار بن‌سازه و سیستم‌عامل یا ابزار خود UEFI به اشتراک گذاشته می‌شود. فضای‌نام متغیر توسط GUIDها شناسائی می‌شوند. این متغیرها شامل جفت داده‌های کلید و مقدار هستند.

خدمت‌های زمانی

UEFI شامل خدمت‌های زمانی مستقل از افزاره می‌شود. خدمت‌های زمانی‌ای شامل پشتیبانی از منطقه زمانی و فیلدهای صرفه‌جویی در مصرف روشنایی روز که به ساعت بلادرنگ سخت‌افزاری اجازه می‌دهد تا به زمان محلی یا به وقت جهانی تنظیم شود. در ماشین‌هایی که از ساعت بلادرنگ PC-AT استفاده می‌کنند، هنوز ساعت نیاز به تنظیم شدن به زمان محلی برای سازگاری با ویندوزهای مبتنی بر بایوس دارند.

پروتکل‌ها

EFI پروتکل‌ها را به‌عنوان مجموعه‌ای از رابط‌های نرم‌افزاری برای ارتباطات بین دو پیمانهٔ دودویی معرفی کرده‌است. تمامی راه‌اندازهای EFI خدمت‌های خود را از طریق این پروتکل‌ها به دیگران ارائه می‌دهند.

راه‌اندازهای افزاره

علاوه بر راه‌انداز افزاره‌های استانداردی که مبتنی بر معماری خاصی هستند، efi محیطی را برای راه‌اندازهای مستقل از پردازنده مهیا می‌کند که کدبایتِ efi یا به‌اختصار EBC نامیده می‌شود. با این مفهوم، EBC شبیه به open-hardware، ثابت‌افزار مستقل از سخت‌افزار استفاده شده در کامپیوترهای مکینتاش مبتنی بر Power-PC شرکت Apple و کامپیوترهای اسپارک شرکت Sun Microsystems است.


راه‌اندازی

UEFI مدیر راه‌انداز خود را داراست. این مدیر راه‌انداز، موتور رویه‌ای ثابت‌افزار است که مسئوول بارگذاری بارگذارنده سیستم‌عامل و تمام راه‌اندازهای لازم است. پیکره‌بندی راه‌انداز، توسط مجموعه‌ای از متغیرهای سراسری NVRAM شامل متغیرهای راه‌انداز که مسیر بارگذارنده‌های سیستم‌عامل‌ها را مشخص می‌کنند شامل می‌شود. بارگذارنده‌های سیستم‌عامل دسته‌ای از ابزارهای UEFI هستند. به عنوان مثال، این بارگذارنده‌ها روی سامانه پرونده‌ای به صورت یک سند مجزا ذخیره شده‌اند که می‌توانند برای ثابت‌افزار قابل‌دسترس باشند. سامانه‌پرونده‌های پشتیبانی شده در UEFI شامل FAT12 (فلاپی دیسک‌ها)، FAT16 و FAT32 در دیسک‌های سخت و ISO9660 و UDF در دیسک‌های فشرده (CD/DVD) است. جدول‌های افراز پشتیبانی شده نیز شامل MBR و GPT هستند. بارگذارنده‌های راه‌انداز نیز می‌توانند به صورت خودکار به دست ثابت افزار شناسایی شوند تا در نهایت منجر به راه‌اندازی شدن از افزاره‌های قابل‌حملی همچون حافظه‌های USB شوند. این ویژگی متکی بر استانداردسازی مسیر فایل راه‌انداز سیستم‌عامل‌ها است که وابسته به معماری بن‌سازه خواهد بود.

همچنین عموماً ثابت‌افزار UEFI شامل رابط کاربری‌ای برای مدیریت راه‌انداز خود هستند تا به کاربران خود اجازه انتخاب و راه‌انداری سیستم‌عامل‌شان را از میان گزینه‌های قابل انتخاب بدهند.

پوسته EFI

EFI پوسته‌ای را معرفی کرده که می‌تواند برای اجرای دیگر ابزارهای EFI مورد استفاده قرار بگیرد.

افزونه‌ها

افزونه‌ها را می‌توان به واقع از هر حافظه غیرفراری که به کامپیوتر متصل شده‌است بارگذاری کرد. برای مثال، سازنده تجهیزات اصلی می‌تواند سامانه‌هایی را با افراز EFI روی دیسک سخت کامپیوتر خود تولید و روانه بازار کند که کارایی‌های اضافه‌تری را نسبت عملکرد استاندارد EFI موجود روی بردمادر در اختیار کاربر قرار می‌دهد.

پیاده‌سازی و به‌کارگیری

اینتل

پیاده‌سازی اینتل از EFI چارچوب نوین بن‌سازهٔ اینتل با کدنام تیانو نامیده می‌شود.

سیستم‌عامل‌ها

سیستم‌عاملی که بتواند از ثابت‌افزار EFI/UEFI راه‌اندازی شود اصطلاحاً سیستم‌عامل آگاه از EFI/UEFI نامیده می‌شود. واژه راه‌اندازی شدن از EFI/UEFI بدین معناست که سامانه مستقیماً و با استفاده از «بارگذارنده سیستم‌عامل» EFI/UEFI ذخیره شده روی افزارهٔ حافظه، راه‌اندازی شود. مکان پیش‌فرض این بارگذارنده برابر است با /EFI/BOOT/boot[arch].EFI برخی از بنگاه‌های فروش سیستم‌عامل ممکن است بارگذارنده سیستم‌عامل خود را داشته باشند یا همچنین مسیر پیش‌فرض راه‌انداز را تغییر دهند.

  • لینوکس، از اوایل سال ۲۰۰۰ قادر بوده تا از EFI در زمان راه‌اندازی با استفاده از «بارگذارنده راه‌انداز EFI» ابزار elilo یا نگارش جدیدتر EFI ابزار GRUB استفاده کند. همچنین لینوکس به همراه ابزار گراب می‌تواند از جدول افراز GUID بدون نیاز به UEFI راه‌اندازی شود.


راه‌انداز امن

توسعه‌دهنده شرکت Red Hat به نام متیو گرت در مقاله‌اش با عنوان «راه‌اندازی امن در UEFI» نگرانی خود را چنین مطرح کرده که ویژگی «راه‌انداز امن» ممکن‌است ضربه‌ای برای لینوکس باشد (ماشین‌هایی که به همراه لوگوی ویندوز ۸ و با قابلیت فعال‌شده راه‌اندازی امن همراه با فقط کلیدهای شرکت OEM و مایکروسافت فروخته می‌شوند قادر به راه‌اندازی کپی‌ای از سیستم‌عامل لینوکس نخواهند بود). در جوابیه، شرکت مایکروسافت بیان کرد که مشتریان قادر خواهند بود تا ویژگی راه‌انداز امن را از طریق رابط UEFI غیرفعال کنند ولی نگرانی‌ها همچنان باقی‌است چراکه برخی OEMها ممکن‌است این قابلیت را از کامپیوترهای خود حذف کنند. بعدها گزارش شد که مایکروسافت ظاهراً پیاده‌سازی قابلیت غیرفعال‌سازی راه‌اندازی امن را روی سامانه‌هایی با معماری ARM را ممنوع کرده‌است. جاشوا گی از بنیاد نرم‌افزار آزاد نیز نگرانی خود مبنی بر پیاده‌سازی «راه‌انداز امن» در UEFI را مطرح و بنیاد نرم‌افزار آزاد بیانیه عمومی‌ای را برای امضاکردن معرفی کرد که چنین می‌گوید:

ما (امضا کنندگان این بیانیه) از تمامی سازندگان کامپیوتری که ویژگی «راه‌انداز امن» خوانده شده در UEFI را پیاده‌سازی می‌کنند می‌خواهیم تا این کار را به روشی انجام دهند تا به سیستم‌عامل‌های آزاد اجازه نصب شدن را بدهند. برای احترام به آزادی کاربر و حفاظت صحیح از امنیت کاربر، سازندگان بایستی یا این اجازه را به مالک کامپیوتر بدهند تا محدودیت راه‌اندازی مذکور را غیرفعال یا روش مطمئنی را برای نصب و اجرای سیستم‌عامل آزاد به انتخاب مالک در اختیارش قرار داده شود. ما تأکید می‌کنیم که نه چنین کامپیوترهایی را می‌خریم و نه کامپیوترهایی را که کاربران را از این آزادی مهم سلب می‌کنند توصیه می‌کنیم و فعالانه از مردم در جوامع‌مان می‌خواهیم تا از چنین سامانه‌های زندان‌مانندی پرهیز کنند.

در دسامبر ۲۰۱۱، شرکت مایکروسافت سندی را مرتبط با گواهینامه سخت‌افزاری محصولات OEM خود منتشر کرد، «شرایط لازم برای گواهینامه سخت‌افزاری ویندوز» تأیید می‌کند آن‌ها در تلاش برای سلب امکان نصب سیستم‌عامل معادل روی دستگاه‌های ARM هستند که ویندوز ۸ در آن‌ها اجرا شده‌است. این سند اصرار دارد که مایکروسافت نیاز دارد تا دستگاه‌های x86 و x86-64 ویژگی امنیتی UEFI را به صورت پیش‌فرض فعال داشته باشند. آن‌ها امکانی را که راه‌اندازی امن شخصی‌سازی‌شده بتواند کاربر را قادر به اضافه‌کردن امضا کند را در این سند مجاز شمرده‌اند. هرچند که تلاش برای اجرای راه‌انداز امن شخصی‌سازی‌شده یا انتخاب حالت غیرفعال شده راه‌اندازامن روی دستگاه‌های ARM با شرایط دریافت این گواهینامه ناسازگار اعلام شده‌است