موضوع مقاله: گنو گراب | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # گنو گراب | مقدمه: گراب پیاده‌سازی مرجع برای مشخصات چند بوت مختلف است که امکان بالا آوردن یک یا چند سیستم عامل نصب شده روی یک کامپیوتر یا انتخاب پیکربندی خاص برای یک هسته سیستم عامل را برای کاربر فراهم می‌کند. | ## بخش 1: گنو گراب | سیستم عامل گنو مانند اغلب توزیع‌های لینوکس از گنو گراب به عنوان بوت‌لودر استفاده می‌کند. سیستم عامل سولاریس از سولاریس ۱۰ نسخه 1.06 از گراب به عنوان بوت‌لودر در سیستم‌های X86 استفاده می‌کند. تاریخچه گراب در ابتدا به وسیلهٔ اریش لوین و به عنوان بخشی از پروسه بوت سیستم عامل گنو هرد توسعه یافته به وسیلهٔ بنیاد نرم‌افزار آزاد توسعه می‌یافت. Okuji گراب را به عنوان یک بسته نرم‌افزاری رسمی از پروژه گنو کردند و روند توسعه را برای عموم باز کردند. توسعه GRUB نسخه 1 (که به عنوان "میراث GRUB" نیز شناخته می شود) دیگر در مرحله توسعه قرار ندارد و در حال خارج شدن است. برخی از اهداف پروژه GRUB 2 شامل پشتیبانی از سیستم عامل های غیر x86 ، بین المللی سازی و بومی سازی ، کاراکترهای غیر ASCII ، ماژول های پویا ، مدیریت حافظه ، یک اسکریپت مینی زبان ، کد ویژه (x86) خاص برای انتقال به ماژول های خاص ، و یک چارچوب شی گرا. سه مورد از رایج ترین توزیع های لینوکس که از GRUB 2 به عنوان لودر اصلی بوت خود استفاده می کنند عبارت است از فدورا لینوکس ( از فدورا 16 که در نوامبر 2011 منتشر شد به بعد ) و همچنین OpenSUSE که با انتشار نسخه 12.2 در سپتامبر 2012 ، از GRUB 2 به عنوان بار بوت لودر برای پلتفرم x86 در نسخهSolaris 11.1 استفاده میکند. در اواخر سال 2015 ، حفره امنیتی ۲۸ بار فشار دادن کلید backspace برای دور زدن رمز ورود به سیستم ، یافت و به سرعت رفع شد. انواع مختلف GNU GRUB نرم‌افزاری آزاد و متن‌باز است ، بنابراین چندین نسخه، ورژن و نرم افزار دیگر از روی آن ایجاد شده است. برخی از قابل توجه ترین آنان که در خط اصلی GRUB ادغام نشده ان عبارت است از: اوپن‌سولاریس: شامل یک میراث GRUB اصلاح شده است که از صفحات دیسک های BSD ، انتخاب خودکار هسته 64 بیتی و بوت شدن از ZFS (با فشرده سازی و محیط های بوت چندگانه) پشتیبانی می کند. در زمان راه اندازی تنظیمات پیکربندی خود را بارگذاری می‌کند و اجازه تغییر در زمان راه اندازی مانند انتخاب هسته‌های متفاوت یا تنظیم اولیه حافظه دیسک را می‌دهد. به این منظور، گراب یک واسط خط فرمان ساده و شبه بش را فراهم کرده‌است که به کاربر اجازه می‌دهد علاوه بر لیست منوهای پیش‌فرض در همان زمان توالی بوت جدید بنویسد. | ## بخش 2: گنو گراب | گراب از سیستم پرونده‌های معمول یونیکس، سیستم پرونده‌های ویندوز فت ان‌تی‌اف‌اس و LBA پشتیبانی می‌کند. گراب به کاربران اجازه می‌دهد تا محتویات فایل‌ها در سیستم پرونده‌های پشتیبانی شده را ببینند. بسیاری از توزیع‌های لینوکس از امکان پشتیبانی گراب از رابط گرافیکی به منظور ارائه یک منوی بوت سفارشی با تصویر پس‌زمینه استفاده می‌کنند. رابط متنی گراب می‌تواند برای استفاده از درگاه سریال اصلاح شود در نتیجه یک ترمینال راه دور می‌تواند به یک بوت‌لودر دسترسی داشته باشد. گراب می‌تواند یک تصویر (ایمیج) سیستم عامل را از شبکه دانلود کند و به این ترتیب می‌تواند سیستم‌های بدون دیسک را پشتیبانی کند. گراب از حالت فشرده خارج کردن خودکار تصویرهای سیستم عامل را قبل از بوت شدن آن‌ها پشتیبانی می‌کند. این به این معنی است که ۱۵۰ یا تعداد بیشتری گزینه بوت را می‌توان به راحتی افزودن آن‌ها به فایل پیکربندی menu.lst توسط گراب کنترل کرد. گراب از سیستم عامل‌هایی که قابلیت چند بوت ندارند نیز با استفاده از بارگذاری زنجیره‌ای پشتیبانی می‌کند. گراب از دو یا سه خط فرمان متوالی برای بوت داس، ویندوز، لینوکس، بی‌اس‌دی یا سیستم سولاریس استفاده می‌کند که کار کردن با آن را بسیار آسان کرده‌است. بارگذاری زنجیره‌ای برای پشتیبانی از سیستم‌عامل‌های شبه یونیکس در گراب ایجاد شده‌است. علاوه بر رابط منوی عادی، گراب می‌تواند واسط خط فرمان شبه بشی (که مجموعه‌ای غنی از دستورها را که به کاربر اجازه نمایش یا تغییر هر بخشی از فرایند بوت را می‌دهد) ارائه کند. با این ابزارها بدون اطلاع از آنچه بروی کامپیوتر نصب است می‌توان از گراب روی یک دستگاه خارجی مانند فلاپی‌دیسک، دستگاه‌های یواس‌بی یا یک سی‌دی‌رام برای بوت سیستم‌عامل‌های نصب شده‌استفاده کرد. | ## بخش 3: گنو گراب | نصب گراب برای هر سیستم عامل پشتیبانی شده‌ای می‌تواند از هر سیستم عامل شبه یونیکسی معمولی همچنین با استفاده از پیاده‌سازی گراب برای داس و ویندوز نصب شود. فرایند بوت هنگامی که یک کامپیوتر روشن می‌شود، بایوس کامپوتر دستگاه اولیه قابل بوت (معمولا دیسک سخت) را پیدا می‌کند و برنامه خود راه‌انداز اولیه را از رکورد راه انداز اصلی یا MBR که ۵۱۲ بایت اول از دیسک سخت است بارگذاری می‌کند سپس کنترل را به این کد منتقل می‌کند. گراب نسخه ۱ گراب نسخه ۲ بعد از بارگذاری گراب، قبل از این‌که سیستم‌عامل شروع به‌کار کند نصب یکی از ویژگی‌های کلیدی گراب این است که بدون اینکه به سیستم عامل دیگری نصب شود می‌تواند نصب شود. هنگام کار کردن به عنوان یک سیستم پایه و تنها گراب عملاً یک سیستم کوچک است که می‌تواند همه سیستم‌عامل‌های اصلی را همان‌طور که در بالا ذکر شده به وسیلهٔ بارگذاری زنجیره‌ای بوت کند. برخلاف لودر لینوکس یا LILO نیازی به نصب مجدد گراب در رکورد راه انداز اصلی یا MBR یا پارتیشن‌ها بعد از تغییر در فایل پیکربندی نیست. فایل پیکربندی گراب، مرحله ۲ (معمولاً) و فایل‌های دیگر باید در یک پارتیشن قابل استفاده باشند. اگر این فایل‌ها یا پارتیش غیرقابل دسترس شوند، مرحله ۱ کاربر را به واسط خط فرمان می‌فرستد. گراب را می‌توان در رسانه‌های جداشدنی مانند دیسک نوری (دسترسی بایوس و استاندارد El Torito)، فلاپی دیسک و فلش دیسک به منظور بالا آوردن یک سیستم که دیسک سخت ندارد یا از دیسک سخت نمی‌تواند بوت شود، نصب کرد.ولی قبلاً می شد احتمالا توسعه پراستفاده‌ترین نسخه گراب، نسخهٔ قدیمی آن است. توسعه‌دهندگان گراب تمرکز خود را به گراب ۲، یک بازنویس مجدد با هدف ایجاد یک گنو گراب تمیزتر، قوی‌تر، و قابل حمل‌تر معطوف کرده‌اند. در سال ۲۰۰۲ هنگامی که نسخه ۰٫۹x گراب به گراب میراثی تغییر نام داد PUPA با توسعه گراب ۲ یکپارچه شد. | ## جمع‌بندی | برخی از اهداف این پروژه عبارتند از پشتیبانی از پلتفرم‌های غیر x86، بین‌المللی کردن/محلی کردن، پشتیبانی از کاراکترهای غیر اسکی، ماژول‌های پویا، مدیرت حافظه، یک زبان اسکریپتی کوچک، چارچوب نرم‌افزار شیءگرا.