گراب: تفاوت بین نسخه‌ها

از ویکی فارسی اوبونتو
پرش به: ناوبری، جستجو
جز
سطر ۶۹: سطر ۶۹:
 
:* حجم: میانگین ۲۰۰ مگابایت
 
:* حجم: میانگین ۲۰۰ مگابایت
 
:* فرمت: <code>FAT32</code>
 
:* فرمت: <code>FAT32</code>
:* [[MountPoint|نقطه‌اتصال]]: <code>/boot/efi</code>
+
:* [[MountPoint|نقطه‌اتصال]]: <code>boot/efi/</code>
  
 
حال از دستور زیر برای نصب گراب استفاده کنید:
 
حال از دستور زیر برای نصب گراب استفاده کنید:
سطر ۷۷: سطر ۷۷:
 
که عبارت
 
که عبارت
  
* <code>"efi-mount"</code> برابر با <code>/boot/efi</code> است
+
* <code>"efi-mount"</code> برابر با <code>boot/efi/</code> است
 
* <code>"system-type"</code> برابر با
 
* <code>"system-type"</code> برابر با
 
:* برای سیستم های ۳۲ بیتی : <code>i386-efi</code>
 
:* برای سیستم های ۳۲ بیتی : <code>i386-efi</code>
سطر ۹۸: سطر ۹۸:
 
<pre>/boot/grub/grub.cfg </pre>
 
<pre>/boot/grub/grub.cfg </pre>
  
لازم به ذکر است که هرگز نباید این پرونده را تغییر داد. تغییرات مورد نیاز باید در پرونده‌های <code>/etc/default/grub</code> یا در زیر شاخهٔ <code>/etc/grub.d/</code> ایجاد کرده و سپس پیکربندی گراب را دوباره تولید کرد.
+
لازم به ذکر است که هرگز نباید این پرونده را تغییر داد. تغییرات مورد نیاز باید در پرونده‌های <code>etc/dafault/grub/</code> یا در زیر شاخهٔ <code>/etc/grub.d/</code> ایجاد کرده و سپس پیکربندی گراب را دوباره تولید کرد.
  
در واقع دستور update-grub پروندهٔ پیکربندی گراب را با توجه به مقادیری که در /etc/default/grub و یا زیرشاخه های پوشه /etc/grub.d تعیین شده اند تولید کرده و آن را در /boot/grub/grub.cfg می‌ریزد.
+
در واقع دستور update-grub پروندهٔ پیکربندی گراب را با توجه به مقادیری که در <code>etc/dafault/grub/</code> و یا زیرشاخه های پوشه <code>/etc/grub.d/</code> تعیین شده اند تولید کرده و آن را در <code>boot/grub/grub.cfg/</code> می‌ریزد.
راه دیگر استفاده از دستور grub-mkconfig است. این دستور پروندهٔ پیکربندی را با توجه به مقادیر تعیین شده تولید کرده و خروجی می‌دهد. پس می توان خروجی آن را به /boot/grub/grub.cfg ریخت.(در بعضی توزیع ها دستور update-grub وجود ندارد و به ناچار از این دستور باید استفاده کرد. هرچند همان update-grub هم به نوعی از mkconfig بهره می‌برد.)
+
راه دیگر استفاده از دستور grub-mkconfig است. این دستور پروندهٔ پیکربندی را با توجه به مقادیر تعیین شده تولید کرده و خروجی می‌دهد. پس می توان خروجی آن را به <code>boot/grub/grub.cfg/</code> ریخت.(در بعضی توزیع ها دستور update-grub وجود ندارد و به ناچار از این دستور باید استفاده کرد. هرچند همان update-grub هم به نوعی از mkconfig بهره می‌برد.)
 
پس دستور زیر با استفاده از mkconfig پروندهٔ نهایی را می‌سازد.
 
پس دستور زیر با استفاده از mkconfig پروندهٔ نهایی را می‌سازد.
 
<pre>
 
<pre>
سطر ۱۱۶: سطر ۱۱۶:
 
GRUB_CMDLINE_LINUX=splash quiet
 
GRUB_CMDLINE_LINUX=splash quiet
 
</pre>
 
</pre>
برای آن که سایر سیستم عامل ها که توسط os-prober تشخیص داده شده اند در منوی گراب آورده شوند لازم است مقدار زیر در /etc/defaut/grub تعیین شود (حالت پیشفرض این متغیر به توزیع بستگی دارد)
+
برای آن که سایر سیستم عامل ها که توسط os-prober تشخیص داده شده اند در منوی گراب آورده شوند لازم است مقدار زیر در <code>etc/default/grub/</code> تعیین شود (حالت پیشفرض این متغیر به توزیع بستگی دارد)
 
<pre>
 
<pre>
 
GRUB_DISABLE_OS_PROBER=false
 
GRUB_DISABLE_OS_PROBER=false

نسخهٔ ‏۱۹ مهر ۱۴۰۲، ساعت ۲۱:۲۶

گراب (به انگلیسی: GRUB) مخفف (GRand Unified Bootloader) یک برنامهٔ بارکنندهٔ راه‌اندازی است که قادر به راه‌اندازی طیف گسترده‌ای از سیستم‌عامل‌های آزاد و انحصاری با استفاده از قابلیت بارگذاری زنجیره‌ای(chain-loading) است.

هنگام آغاز گراب، می‌توان از رابط متنی یا فهرستی استفاده کرد. با استفاده از رابط متنی، می‌توان مشخّصات دیسک و نام پروندهٔ کرنل را به صورت دستی درج کرد. با بهره گیری از رابط فهرستی می‌توان سیستم‌عامل‌های مورد نظر را با استفاده از کلیدهای جهت نما برگزید. این فهرست، بر پایهٔ پروندهٔ پیکربندی‌ای است که از پیش تهیه شده. هم‌چنین می‌توان از رابط فهرستی به رابط متنی یا برعکس تعویض نمود.

از نگارش ۹.۱۰ اوبونتو به بعد از نگارش ۲ گراب به صورت پیش‌گزیده استفاده می‌شود.

نمایی از نگارش ۲ گراب در ابتدای راه‌اندازی رایانه
نشان گراب توسّط کارول کرنسکی
نشان دیگری از گراب توسّط کارول کرنسکی



تاریخچه

گراب از سال ۱۹۹۵ شروع به کار کرد؛ زمانی که اریک بولن سعی در راه‌اندازی سیستم‌عامل گنو هرد داشت. بولن و برایان فورد ویژگی راه‌اندازی چندتایی را طرّاحی کردند.

سپس بولن تلاش کرد تا این قابلیت را به برنامهٔ بارکنندهٔ راه‌اندازی FreeBSD بیفزاید که به اندیشهٔ ساخت برنامهٔ بارکنندهٔ راه‌اندازی خودش افتاد. آنگاه گراب متولّد شد. اریک ویژگی‌های زیادی را به این برنامه افزود و سرانجام در سال ۱۹۹۹، گراب به عنوان یک بستهٔ نرم‌افزاری رسمی گنو برگزیده شد.

در طول چند سال، ویژگی‌های زیادی به گراب افزوده شد، ولی خیلی زود مشخّص شد که این برنامه با طرّاحی فعلی، قادر به ادامه نبوده و به نقطه‌ای رسیده که افزودن ویژگی‌های جدید، بدون خراب کردن ویژگی های فعلی ممکن نیست. حدود سال ۲۰۰۲، اکوجی کار را بر روی PUPA (مخفّف Preliminary Universal Programming Architecture for GNU GRUB) با هدف نوشتن دوبارهٔ هستهٔ گراب شروع کرد تا آن را تمیزتر، امن‌تر ، قوی‌تر و قدرتمندتر کند . نام این پروژه به گراب ۲ تغییر یافت و نام گراب ۱ نیز به legacy تغییر یافت. پس از آن، نگه‌داری گراب ۱ کمی ادامه پیدا کرد، تا آخرین نگارش آن که در تاریخ ۲۰۰۵ عرضه شد.

تا حدود سال ۲۰۰۷، توزیع های گنو/لینوکسی استفاده از گراب ۲ را در سطوح محدود پذیرفتند و تا سال ۲۰۰۹، بسیاری از آن‌ها گراب ۲ را به عنوان بارکنندهٔ راه‌اندازی پیش‌گزیدهٔ خود برگزیدند.

ویژگی‌ها

هدف اصلی گراب، همان گونه در در تاریخچه بیان شد، راه‌اندازی چندتایی است. به همین منظور اصول زیر در طرّاحی آن در نظر گرفته شده:

  • توابع ساده باید برای کاربر های نهایی سرراست باشند
  • قابلیت‌های غنی برای پشتیبانی متخصّصان و طرّاحان کرنل
  • سازگاری با راه‌اندازی FreeBSD ،NetBSD ،OpenBSD و لینوکس و هرد

علاوه بر الزامات بالا، گراب ویژگی ها زیر را نیز داراست:

  • شناسایی قالب‌های اجرایی گوناگون
  • پشتیبانی از کرنل‌های بدون پشتیبانی از راه‌اندازی چندتایی
  • پشتیبانی از ماژول های گوناگون
  • بارگذاری پروندهٔ پیکربندی
  • فراهم ساختن رابط فهرستی
  • دارا بودن رابط متنی انعطاف‌پذیر
  • پشتیبانی از سامانه پرونده‌های گوناگون
  • پشتیبانی استخراج از حالت فشرده به صورت توکار
  • دسترسی به داده‌های موجود در هر یک از قطعات نصب‌شده
  • شناسایی تمامی حافظه‌های اصلی
  • پشتیبانی از راه‌اندازی از طریق شبکه
  • پشتیبانی از پایانه های راه دور

نصب

سیستم های بایاس

  • حجم ۱ مگابایت
  • فرمت ef02 در نرم‌افزار Fdisk و bios_grub در نرم‌افزار Parted


برای نصب گراب می‌توانید از دستور زیر استفاده کنید :

 $ sudo grub-install --target=i386-pc device 

که عبارت device برابر با نام افزارهٔ مورد نظر است. به عنوان مثال :

 $ sudo grub-install --target=i386-pc /dev/sda 

این دستور گراب را بر روی نخستین دیسک ذخیره، نصب می‌کند.


سیستم های یو‌ای‌اف‌آی

اگر ویندوز یو‌ای‌اف‌آی از پیش نصب شده دارید، ویندوز قبلا این پارتیشن را ایجاد کرده است.
این پارتیشن باید دارای مشخصات زیر باشد:

حال از دستور زیر برای نصب گراب استفاده کنید:

 $ 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/dafault/grub/ یا در زیر شاخهٔ /etc/grub.d/ ایجاد کرده و سپس پیکربندی گراب را دوباره تولید کرد.

در واقع دستور update-grub پروندهٔ پیکربندی گراب را با توجه به مقادیری که در etc/dafault/grub/ و یا زیرشاخه های پوشه /etc/grub.d/ تعیین شده اند تولید کرده و آن را در boot/grub/grub.cfg/ می‌ریزد. راه دیگر استفاده از دستور grub-mkconfig است. این دستور پروندهٔ پیکربندی را با توجه به مقادیر تعیین شده تولید کرده و خروجی می‌دهد. پس می توان خروجی آن را به boot/grub/grub.cfg/ ریخت.(در بعضی توزیع ها دستور update-grub وجود ندارد و به ناچار از این دستور باید استفاده کرد. هرچند همان update-grub هم به نوعی از mkconfig بهره می‌برد.) پس دستور زیر با استفاده از mkconfig پروندهٔ نهایی را می‌سازد.

sudo grub-mkconfig -o /boot/grub/grub.cfg

در پرونده /etc/default/grub هر خط برای پیکربندی یک ویژگی در گراب استفاده می‌شود، برای نمونه، برای این که صفحه گراب همیشه هنگام روشن شدن رایانه دیده شود، باید در خط زیر عبارت hidden به menu تغییر داده شود:

GRUB_TIMEOUT_STYLE=hidden

همچنین برای این که صفحه گراب به مدت زمان مشخصی بر حسب ثانیه نمایش داده شود، باید در خط زیر زمان تعیین شود:

GRUB_TIMEOUT=10

برای تغییر پارامتر های خط فرمان هنگام بوت شدن کرنل می توانید خط زیر را تغییر دهید.(در مثال زیر دو مولفه splash و quiet اضافه شده)

GRUB_CMDLINE_LINUX=splash quiet

برای آن که سایر سیستم عامل ها که توسط os-prober تشخیص داده شده اند در منوی گراب آورده شوند لازم است مقدار زیر در etc/default/grub/ تعیین شود (حالت پیشفرض این متغیر به توزیع بستگی دارد)

GRUB_DISABLE_OS_PROBER=false

تعمیر

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


اعمال تغییر در منوی گراب

برای تغییر تنظیمات گراب با ابزار گرافیکی از بستهٔ زیر استفاده کنید.


 $ grub-customizer