گراب
گراب (به انگلیسی: GRUB) مخفف (GRand Unified Bootloader) یک برنامهٔ بارکنندهٔ راهاندازی است که قادر به راهاندازی طیف گستردهای از سیستمعاملهای آزاد و انحصاری با استفاده از قابلیت بارگذاری زنجیرهای(chain-loading) است.
هنگام آغاز گراب، میتوان از رابط متنی یا فهرستی استفاده کرد. با استفاده از رابط متنی، میتوان مشخّصات دیسک و نام پروندهٔ کرنل را به صورت دستی درج کرد. با بهره گیری از رابط فهرستی میتوان سیستمعاملهای مورد نظر را با استفاده از کلیدهای جهت نما برگزید. این فهرست، بر پایهٔ پروندهٔ پیکربندیای است که از پیش تهیه شده. همچنین میتوان از رابط فهرستی به رابط متنی یا برعکس تعویض نمود.
از نگارش ۹.۱۰ اوبونتو به بعد از نگارش ۲ گراب به صورت پیشگزیده استفاده میشود.
محتویات
تاریخچه
گراب از سال ۱۹۹۵ شروع به کار کرد؛ زمانی که اریک بولن سعی در راهاندازی سیستمعامل گنو هرد داشت. بولن و برایان فورد ویژگی راهاندازی چندتایی را طرّاحی کردند.
سپس بولن تلاش کرد تا این قابلیت را به برنامهٔ بارکنندهٔ راهاندازی FreeBSD بیفزاید که به اندیشهٔ ساخت برنامهٔ بارکنندهٔ راهاندازی خودش افتاد. آنگاه گراب متولّد شد. اریک ویژگیهای زیادی را به این برنامه افزود و سرانجام در سال ۱۹۹۹، گراب به عنوان یک بستهٔ نرمافزاری رسمی گنو برگزیده شد.
در طول چند سال، ویژگیهای زیادی به گراب افزوده شد، ولی خیلی زود مشخّص شد که این برنامه با طرّاحی فعلی، قادر به ادامه نبوده و به نقطهای رسیده که افزودن ویژگیهای جدید، بدون خراب کردن ویژگی های فعلی ممکن نیست. حدود سال ۲۰۰۲، اکوجی کار را بر روی PUPA (مخفّف Preliminary Universal Programming Architecture for GNU GRUB) با هدف نوشتن دوبارهٔ هستهٔ گراب شروع کرد تا آن را تمیزتر، امنتر ، قویتر و قدرتمندتر کند . نام این پروژه به گراب ۲ تغییر یافت و نام گراب ۱ نیز به legacy تغییر یافت. پس از آن، نگهداری گراب ۱ کمی ادامه پیدا کرد، تا آخرین نگارش آن که در تاریخ ۲۰۰۵ عرضه شد.
تا حدود سال ۲۰۰۷، توزیع های گنو/لینوکسی استفاده از گراب ۲ را در سطوح محدود پذیرفتند و تا سال ۲۰۰۹، بسیاری از آنها گراب ۲ را به عنوان بارکنندهٔ راهاندازی پیشگزیدهٔ خود برگزیدند.
ویژگیها
هدف اصلی گراب، همان گونه در در تاریخچه بیان شد، راهاندازی چندتایی است. به همین منظور اصول زیر در طرّاحی آن در نظر گرفته شده:
- توابع ساده باید برای کاربر های نهایی سرراست باشند
- قابلیتهای غنی برای پشتیبانی متخصّصان و طرّاحان کرنل
- سازگاری با راهاندازی FreeBSD ،NetBSD ،OpenBSD و لینوکس و هرد
علاوه بر الزامات بالا، گراب ویژگی ها زیر را نیز داراست:
- شناسایی قالبهای اجرایی گوناگون
- پشتیبانی از کرنلهای بدون پشتیبانی از راهاندازی چندتایی
- پشتیبانی از ماژول های گوناگون
- بارگذاری پروندهٔ پیکربندی
- فراهم ساختن رابط فهرستی
- دارا بودن رابط متنی انعطافپذیر
- پشتیبانی از سامانه پروندههای گوناگون
- پشتیبانی استخراج از حالت فشرده به صورت توکار
- دسترسی به دادههای موجود در هر یک از قطعات نصبشده
- شناسایی تمامی حافظههای اصلی
- پشتیبانی از راهاندازی از طریق شبکه
- پشتیبانی از پایانه های راه دور
نصب
سیستم های بایاس
برای نصب گراب میتوانید از دستور زیر استفاده کنید :
$ sudo grub-install --target=i386-pc device
که عبارت device
برابر با نام افزارهٔ مورد نظر است. به عنوان مثال :
$ sudo grub-install --target=i386-pc /dev/sda
این دستور گراب را بر روی نخستین دیسک ذخیره، نصب میکند.
سیستم های یوایافآی
- برای نصب گراب در سیستم های یوایافآی پارتیشن تیبل جیپیتی توصیه میشود.
- برای نصب گراب در سیستم های یوایافآی به یک سیستم پارتیشن ایافآی نیاز است.
- اگر ویندوز یوایافآی از پیش نصب شده دارید، ویندوز قبلا این پارتیشن را ایجاد کرده است.
- این پارتیشن باید دارای مشخصات زیر باشد:
- حجم: میانگین ۲۰۰ مگابایت
- فرمت:
FAT32
- نقطهاتصال:
/boot/efi
حال از دستور زیر برای نصب گراب استفاده کنید:
$ sudo grub-install --target="system-type" --boot-directory="efi-mount" device
که عبارت
-
"efi-mount"
برابر با/boot/efi
است -
"system-type"
برابر با
- برای سیستم های ۳۲ بیتی :
i386-efi
- برای سیستم های ۶۴ بیتی :
x86_64-efi
- برای سیستم های ۳۲ بیتی :
-
device
برابر با نام افزارهٔ مورد نظر است.
برای مثال :
$ sudo grub-install --target=x86_64-efi --boot-directory=/boot/efi /dev/sda
این دستور گراب را بر روی نخستین دیسک ذخیره، نصب میکند.
پیکربندی
روش تولید پیکربندی گراب در سیستم های یوایافآی یا بایاس تفاوتی ندارد و با دستور زیر امکان پذیر است:
$ sudo update-grub
پرونده پیکربندی گراب در مسیر زیر ذخیره میشود:
/boot/grub/grub.cfg
لازم به ذکر است که هرگز نباید این پرونده را تغییر داد. تغییرات مورد نیاز باید در پروندههای /etc/default/grub
یا در زیر شاخهٔ /etc/grub.d/
ایجاد کرده و سپس پیکربندی گراب را دوباره تولید کرد.
در پرونده /etc/default/grub
هر خط برای پیکربندی یک ویژگی در گراب استفاده میشود، برای نمونه، برای این که صفحه گراب همیشه هنگام روشن شدن رایانه دیده شود، باید در خط زیر عبارت hidden
به menu
تغییر داده شود:
GRUB_TIMEOUT_STYLE=hidden
همچنین برای این که صفحه گراب به مدت زمان مشخصی بر حسب ثانیه نمایش داده شود، باید در خط زیر زمان تعیین شود:
GRUB_TIMEOUT=10
تعمیر
برای نصب دوبارهٔ گراب روی رایانهای که گراب از پیش روی آن نصب بوده و دچار مشکل شده است تعمیر گراب را ببینید.
اعمال تغییر در منوی گراب
برای تغییر تنظیمات گراب با ابزار گرافیکی از بستهٔ زیر استفاده کنید.
grub-customizer