احتمالا ارور Windows cannot be installed to this disk. The selected disk is of the GPT partition style را موقع نصب ویندوز دیده اید. UEFI مخفف “Unified Extensible Firmware Interface” یک ویژگی خاص برای یک برنامه نرم افزاری است که فریمور کامپیوتر را به سیستم عامل (OS) خودش متصل می کند. انتظار می رود UEFI در نهایت جایگزین سیستم ورودی/خروجی اصلی (BIOS) شود اما با آن نیز سازگار است.
همانطور که اشاره کردیم، احتمالا نام آن را موقع نصب ویندوز شنیده اید! سیستم عامل ویندوز را میتوان هم به صورت Legacy (عادی) و هم به صورت UEFI نصب کرد. در حالت نصب ویندوز به صورت Legacy پارتیشن استایل هارد شما حتماً باید MBR باشد و همچنین در حالت نصب ویندوز به صورت UEFI الزاماً پارتیشن استایل باید به صورت GPT باشد.
بدلیل تفاوت اساسی این دو حالت، کاربران در هنگام نصب ویندوز دچار سردرگمی بسیاری شدهاند. یکی از مهمترین مشکلات کاربران این است که نصب کننده ویندوز را در حالت اشتباه بوت کرده و باعث بروز پیغام خطا میشوند. برای نمونه:
- در صورتی که ویندوز قبلی کاربر به صورت UEFI/GPT بوده اما به اشتباه نصب کننده ویندوز را به صورت Legacy/MBR بوت کردهاند پیغامی که در بخش شماره ۱ قرار داده شده است نمایش داده خواهد شد.
- در صورتی که ویندوز قبلی کاربر به صورت Legacy/MBR بوده اما به اشتباه نصب کننده ویندوز را به صورت UEFI/GPT بوت کردهاند پیغامی که در بخش شماره ۲ قرار داده شده است نمایش داده خواهد شد.
بهترین و آسان ترین راه حل این مشکلات، بوتیبل کردن فلش مموری در حالت صحیح و سپس بوت کردن آن جهت نصب ویندوز است که در این مطلب سعی در آموزش آن را داریم. در این حالت، نیازی به پارتیشن بندی مجدد (و حذف کامل اطلاعات) نبوده و به راحتی میتوان خطای دریافت شده را حل کرد.
توضیح فنی UEFI
UEFI از طریق فریمور (firmware) خاص نصب شده روی مادربرد کامپیوتر عمل می کند. UEFI مشابه BIOS در زمان ساخت نصب شده است. اولین برنامه ای است که هنگام بوت سیستم اجرا می شود. بررسی می کند که کدام قطعات سخت افزاری متصل شده اند، قطعات را بیدار کرده و به سیستم عامل تحویل می دهد. BIOS چندین محدودیت دارد از جمله محدودیت در اندازه پارتیشن دیسک سخت و مدت زمان بیشتر برای انجام وظایف.
اکثر سیستم های مدرن علاوه بر BIOS معمول از UEFI نیز پشتیبانی می کنند، گرچه شرکت اینتل اعلام کرده است که پشتیبانی BIOS را در رایانه های شخصی جدید (PC) حذف خواهد کرد.
UEFI چه کاری انجام می دهد؟
UEFI روشی نوین برای ارتباط بین سیستمعاملها و فریمور پلتفرم ارائه میدهد. این روش جایگزینی مدرن برای BIOS است و تنها اطلاعات ضروری برای راهاندازی فرآیند بوت سیستمعامل را استفاده میکند. علاوه بر این، UEFI با بهبود ویژگیهای امنیتی، اکثر سیستمهای مبتنی بر BIOS موجود را با قابلیت سازگاری با گذشته (Backward Compatibility) پشتیبانی میکند.
UEFI شامل جداول دادهای مربوط به پلتفرم است و در زمان بارگذاری سیستمعامل، سرویسهای بوت و سرویسهای اجرایی (Runtime Services) را فراخوانی میکند. این جداول و سرویسها رابطها و ساختارهای موردنیاز را تعریف میکنند تا فریمور و سختافزار بتوانند از UEFI پشتیبانی کنند. UEFI همچنین قابل برنامهریزی است و به توسعهدهندگان و تولیدکنندگان تجهیزات اصلی (OEM) امکان میدهد برنامهها و درایورهای خود را اضافه کنند. این ویژگی باعث میشود UEFI به نوعی مانند یک سیستمعامل سبک عمل کند.
به طور کلی، BIOS به عنوان میراثی از نسلهای پیشین در نظر گرفته میشود، در حالی که UEFI گامی پیشرفته است که آینده فناوری را تحت تأثیر قرار میدهد. با این حال، برای سهولت درک کاربران، معمولاً از اصطلاح “UEFI BIOS” برای اشاره به آن استفاده میشود.
نصب ویندوز در حالت UEFI
در صورتی که با پیغام زیر مواجه میشوید این بخش را مطالعه کنید:
Windows cannot be installed to this disk. The selected disk is of the GPT partition style
با توجه به این پیغام:
- Partition Style شما به صورت GPT است.
- ویندوز قبلی شما به صورت UEFI نصب شده است.
- زمانی که پارتیشن استایل به صورت GPT باشد ویندوز الزاماً باید به صورت UEFI نصب شود.
- شما هم اکنون نصب کننده ویندوز را به صورت عادی (MBR) بوت کردهاید که اشتباه است.
ساده ترین روش حل مشکل
کافی ست موقع نصب ویندوز درایو خود را تبدیل به GPT کنید. چطور؟ ساده ترین روش این است:
۱-کامپیوتر را ریستارت کنید و وقتی وارد صفحه ویندوز شدید دو دکمه Shift و F10 را همزمان فشار دهید
۲-حالا در پنجره Command prompt باز شده تایپ کنید Diskpart و اینتر بزنید
۳-سپس list disk و اینتر کنید تا لیست درایوهای شما نمایش داده می شود. (تصویر زیر)
لیست درایوهای من را در بالا مشاهده می کنید (Disc صفر و Disc یک- دیسک صفر همان درایو C است و Disc شماره یک هم همان درایو D من)
۴-حالا تایپ کنید# Select disk و اینتر (بجای علامت # شماره دیسک تان را وارد کنید. یعنی بعد از تایپ کردن Select disk یک فاصله بدهید و هر کدام از درایوهای بالا که می خواهید ویندوزتان روی آن نصب شود را انتخاب کنید. مثلا من چون می خوام ویندوزم روی درایو C نصب بشه تایپ می کنم Select disk 0 و اینتر میزنم)
۵-حالا تایپ کنید Clean و اینتر بزنید
۶-حالا تایپ کنید Convert mbr و اینتر بزنید.
همین! پیغام DiskPart successfully converted selected disk to MBR format نمایش داده می شود و حالا می توانید به راحتی به نصب ویندوز ادامه دهید (اگر باز هم مشکلی بود کافی ست سیستم را مجددا ریستارت کنید و شروع به نصب کنید. هیچ مشکلی نخواهد بود)
مقایسه بوت BIOS و UEFI
زمانی که کامپیوتر را روشن میکنید، یک سری رویدادها پیش از بارگذاری سیستم عامل آغاز میشود. فریمور زیرسیستمهای کامپیوتر را فعال کرده و مجموعهای از تستها را انجام میدهد و در نهایت بوت لودر را مستقر میکند تا هسته سیستم عامل راهاندازی شود.
BIOS و UEFI هر دو نرمافزارهای سطح پایین هستند که برای مدیریت عملیات راهاندازی قبل از بوت سیستم عامل استفاده میشوند، اما از تکنیکهای مختلفی بهره میبرند.
BIOS بر روی تراشهای در مادربرد دستگاه نصب شده و واحد پردازش مرکزی (CPU)، حافظه دسترسی تصادفی (RAM)، کارتهای جانبی و دستگاههای شبکه را راهاندازی میکند. BIOS در هنگام روشن کردن سیستم، یک خودآزمایی (POST) انجام میدهد تا اطمینان حاصل کند که سختافزار به درستی پیکربندی شده و همه اجزا به درستی کار میکنند.
BIOS تنها بر روی پردازندههای ۱۶ بیتی اجرا میشود و به همین دلیل تعداد دستورات نرمافزاری که میتواند بهطور همزمان اجرا کند محدود است. BIOS دارای ۱ مگابایت حافظه است که وظایف خود را در آن انجام میدهد. از این رو، رابطها و دستگاهها یکی پس از دیگری راهاندازی میشوند که میتواند بر سرعت راهاندازی سیستم تاثیرگذار باشد.
BIOS برای انجام وظایف خود به MBR (Master Boot Record) مراجعه میکند تا سیستم عامل را بارگذاری و بوت لودر را راهاندازی کند. MBR از مقادیر ۳۲ بیتی برای توصیف آفست و طول پارتیشنها استفاده میکند، به همین دلیل BIOS را به درایوهای حداکثر ۲ ترابایت (TB) و چهار پارتیشن محدود میکند.
UEFI مانند سیستم عامل کوچک شده عمل می کند که بین سیستم عامل و فریمور قرار دارد. همان تست ها و تشخیص ها را مانند BIOS هنگام راه اندازی انجام می دهد اما انعطاف پذیری بیشتری دارد. سیستم عامل به طور مستقیم در UEFI بوت می شود. بنابراین نیازی به فشار دادن متوالی کلیدها مانند راه اندازی BIOS ندارید.
UEFI داده های اولیه را به جای سیستم عامل در یک پارتیشن فایل EFI در حافظه فلش غیر فرار ذخیره می کند. UEFI همچنین می تواند هنگام بوت از یک درایو یا اشتراک شبکه بارگیری شود. طرح پارتیشن بندی در UEFI انعطاف پذیرتر از MBR می باشد که به عنوان یک جدول پارتیشن بندی با شناسه های منحصر به فرد سراسری یا همان GPT شناخته می شود.
GPT نیز توسط اینتل به عنوان بخشی از EFI به وجود آمد. GPT از مقادیر ۶۴ بیتی برای ایجاد حداکثر ۱۲۸ پارتیشن استفاده می کند و برای سیستم هایی لازم است که از درایوهای ۲ ترابایتی و بزرگتر راه اندازی می شوند. پارتیشن EFI از جدول تخصیص فایل مانند FAT16 ، FAT32 یا FAT مجازی استفاده می کند.
بیشتر کامپیوترهای رومیزی، لپ تاپ ها و بعضی از تبلت های جدید فریمور UEFI را اضافه کرده اند که برای ویندوزهای ۳۲ بیتی قدیمی در مد پشتیبانی سازگار اجرا می شود. انتظار می رود از BIOS در آینده نزدیک پشتیبانی کنند اما انتقال به UEFI نیز به خوبی در حال انجام است. در سال ۲۰۱۳ نظارت بر پیکربندی پیشرفته و رابط قدرت (ACPI) به فروم UEFI منتقل شد.
ACPI ابتدا توسط HP، Intel، Microsoft، Phoenix Technologies و Toshiba توسعه یافت و یک استاندارد باز برای BIOS است که میزان توان هر دستگاه جانبی را کنترل می کند.
ابزارهای ویژه مادربرد یا سیستم برای دسترسی به UEFI/BIOS در کمپانی های مختلف با هم فرق دارند و ظاهر آنها نیز متفاوت است اما از نظر عملکرد فقط کمی با هم تفاوت دارند.
مزایای UEFI
UEFI مزایای قابل توجهی نسبت به BIOS ارائه می دهد، از جمله:
- حالت بوت. کاربران مایکروسافت می توانند ویندوز UEFI 32 بیتی یا ۶۴ بیتی را اجرا کنند. گرچه کارشناسان توصیه می کنند که حالت بیت سیستم عامل و حالت بیت فریمور یکسان باشد تا از مشکلات ارتباطی بین آنها در زمان اجرا جلوگیری شود.
- درایوها (Drives). UEFI از درایوهای بوت با ظرفیت ۲٫۲ ترابایت و بالاتر پشتیبانی می کند. از جمله درایوهای با ظرفیت تئوری ۹٫۴ زتابایت که بسیار بیشتر از حداکثر ظرفیت درایو موجود است.
- درایورها (Drivers). UEFI از درایورهای مجزا پشتیبانی می کند در حالی که درایو BIOS در حافظه ROM ذخیره می شود که باید برای سازگاری هنگام تعویض درایوها یا تغییرات تنظیم شود.
- رابط کاربری گرافیکی (GUI): UEFI ماژول های جدید را آسان تر به GUI اضافه می کند. از جمله درایورهای دستگاه برای سخت افزار مادربرد و دستگاه های جانبی متصل شده به سیستم.
- پشتیبانی از چند سیستم عامل: در BIOS فقط یک بوت لودر اجرا می شود اما UEFI این امکان نصب سایر نسخه های لینوکس همراه با سیستم عامل ویندوز را در یک پارتیشن EFI سیستم فراهم می کند.
- برنامه نویسی: سیستم عامل UEFI به زبان C نوشته شده است. و کاربران می توانند با برنامه نویسی کمتر نسبت به BIOS توابع را اضافه یا حذف کنند. این برنامه نویسی به یک زبان اسمبلر است و گاهی اوقات هم با زبان C ترکیب می شود.
- امنیت: Secure Boot (راه اندازی امن) یک پروتکل UEFI برای ویندوز ۸ و نسخه های بعدی است. Secure Boot فریمور سیستم را مسئول اعتبارسنجی سلامت دستگاه و سیستم می کند.
هدف این است که هکرها از نصب روت کیت ها (rootkits) در زمان بین بوت و انتقال به سیستم عامل جلوگیری کنند. Secure Boot همچنین یک کاربر مجاز را قادر می سازد تا شبکه ها را پیکربندی کرده و مشکلات را از راه دور عیب یابی کند در حالیکه برای BIOS مدیر باید از نظر فیزیکی حضور داشته باشد.
سازندگان کامپیوتر به تدریج از BIOS دور می شوند و فریمور UEFI را به دستگاه های جدید اضافه می کنند، این فریمور با CSM اجرا می شود،. CSM سیستم های مبتنی بر UEFI را قادر می سازد تا حالت BIOS قدیمی را برای کار با نسخه های قدیمی ویندوز و سایر سیستم عامل ها راه اندازی کند. با این حال ممکنه کاربران ترجیح دهند که سیستم عامل را به آخرین نسخه ارتقاء دهند تا از UEFI و مزایای آن استفاده کنند.
کلام پایانی
معایب UEFI
نرمافزارها همیشه در معرض تهدیدات امنیتی هستند و UEFI نیز از این قاعده مستثنی نیست. یکی از حملات شناخته شده، TrickBot، در دسامبر ۲۰۲۰ مطرح شد. بدافزار TrickBot به دنبال نفوذ به فریمور دستگاه است و میتواند به مهاجمان این امکان را بدهد که فرآیند بوت سیستم را مختل کرده و به سیستمعامل دسترسی پیدا کنند.
اطلاعات در مورد TrickBot توسط تحقیقات ESET Research، رسانهای از اسلواکی، در سال ۲۰۱۸ منتشر شد. این تحقیقات ادعا کرد که یک rootkit شناسایی شده است که میتواند به هکرها اجازه دهد سیستمعامل UEFI را بررسی کرده و کدهای مخرب را بر روی آن نصب کنند.
علاوه بر مسائل امنیتی، مهاجرت به UEFI هزینههای اضافی را برای راهاندازی با فلش به همراه دارد. با این حال، این روش از درایوهای دیسک سخت سریعتر است. سیستمهای قدیمی ممکن است نیاز به ارتقاء داشته باشند، مانند پشتیبانی از قالبهای بزرگتر برای فلش بر روی مادربرد.
یکی دیگر از مشکلات احتمالی وابستگی UEFI به فرمت فایل FAT است که توسط سیستمعامل مدیریت میشود. پارتیشنهای درایوهای بزرگتر میتوانند فشار زیادی به سیستم وارد کنند که ممکن است بر مزایای عملکرد UEFI تاثیر بگذارد. در این موارد، BIOS ممکن است گزینه بهتری باشد، به ویژه برای کامپیوترهایی که از نسخههای قدیمی سیستمعامل و درایوهای بوت کوچکتر استفاده میکنند.