آموزش تعمیر گراب/Grub در لینوکس ( و یکم بیشتر )

                                                                               .GRUB stands for GNU GRand Unified Bootloader

خب
اول از همه باید بدونیم که یک سیستم عامل لینوکسی چجوری boot میشه و بالا میاد. بعدش راحت تر می تونیم اون رو تعمیر کنیم.

به طور خلاصه :
GRUB همون چیزیه که بین روشن شدن سیستم و بالا اومدن لینوکس قرار میگیره، می‌گه: «خب کدوم کرنل؟ کدوم پارتیشن؟ EFI یا Legacy؟»
اگه GRUB خراب شه ← سیستم حتی به لینوکس هم نمی‌رسه.
( توضیح زیادی نمیدم دربارش، توی یه عکس خلاصه اش کردم و اگر علاقه‌مند بودید با سرچ مطالب زیادی در این مورد پیدا میکنید. )

گراب دو تا ورژن ۱ و۲ داره. که این روزا بیشتر ورژن ۲ اون رو می بینیم و توی این مقاله هم روی همین ورژن بحث می کنیم. توی این سناریو فرض میکنیم گراب کلا وجود نداره و هیچ خبری ازش نیست!! یا مثل تصویر زیر ممکنه فقط یک صفحه مشکی براتون باز بشه و بالا سمت چپ نوشته باشه Grub بدون هیچ prompt و چیز دیگه ای :

image

توی این حالت ها برای تعمیر Grub باید اون رو دوباره نصب کنید، به یک iso و یک usb نیاز داریم.
روی ویندوز با نرم‌افزار Rufus و برای لینوکس هم با این روش میتونیم یک فایل iso رو به صورت bootable روی usb قرار بدیم.


دبیان به‌طور کلی دو مدل ISO اصلی ارائه میده:

Debian Installer ISO

این همون ایزوی کلاسیک دبیانه که تمرکزش نصب سیستم هست.

ویژگی‌ها:

  • محیط گرافیکی کامل برای نصب

  • Live نیست (سیستم بالا نمیاد که باهاش کار کنی)

  • شامل Rescue Mode برای تعمیر سیستم

  • مناسب برای:

    • نصب تمیز دبیان

    • تعمیر بوت‌لودر (GRUB)

    • سناریوهایی که سیستم اصلاً بوت نمی‌شه

Debian Live ISO

این نسخه برای تست و استفاده موقتیه.

ویژگی‌ها:

  • سیستم به‌صورت کامل Live بالا میاد

  • می‌تونی قبل از نصب، محیط دبیان رو تست کنی

  • دسکتاپ‌های مختلف (GNOME، KDE، XFCE و …)

  • مناسب برای:

    • تست سخت‌افزار

    • کارهای روزمره موقت

    • تعمیر سیستم با chroot (دستی‌تر)


تعمیر GRUB با استفاده از Debian Installer

USB را به سیستم وصل کنید و کامپیوتر را بوت کنید.
گزینه Try Debian without installing (در صورت وجود) یا Rescue mode را انتخاب کنید.

Advanced options → Rescue mode

در این بخش ها منو هایی مثل انتخاب کیبورد/تایم زون/زبان/.. باز میشن که خیلی مهم نیستن و این ها رو سریع رد میکنیم تا به مراحل Rescue برسیم.

شناسایی و Mount سیستم نصب‌شده

?Attempt to mount the root filesystem

گزینه Yes رو انتخاب یا تایپ میکنیم.

لیست پارتیشن‌ها نمایش داده میشن و پارتیشن root سیستم دبیان رو انتخاب میکنیم.
(مثلاً /dev/sda2 یا /dev/nvme0n1p2)

در این مرحله root به‌صورت خودکار mount می‌شه (معمولاً روی /target)

اگه سیستم UEFI باشه، EFI هم معمولاً خودش mount می‌شه.

ورود به Rescue Menu

بعد از mount موفق، به منوی Rescue می‌رسیم.

مهم‌ترین گزینه‌ها:

  • Reinstall GRUB boot loader

  • Execute a shell in /target

گزینه Reinstall GRUB boot loader رو انتخاب میکنیم.

Installer ازمون می‌پرسه که GRUB روی کدوم دیسک نصب بشه؟ مثلاً:

/dev/sda

/dev/nvme0n

در این مرحله دیسک رو انتخاب میکنیم و دقت کنید که به اشتباه پارتیشن رو انتخاب نکنید ! (یعنی sda ، نه sda1)

انجام تعمیر به‌صورت خودکار

در این مرحله Debian Installer نوع بوت (UEFI یا Legacy) رو تشخیص می‌ده GRUB رو دوباره نصب می‌کنه و تنظیمات لازم رو اعمال می‌کنه.

خروج و ریبوت

بعد از اتمام کار از منو خارج میشیم و سیستم رو ریبوت میکنیم، توجه کنید که باید فلش یا هر مدیایی که سیستم وصل کردیم رو جدا کنیم.
بعد از ریبوت مشاهده میکنید که سیستم به راحتی بالا میاد و مشکل ما حل میشه. ( البته اگر مشکل فقط Grub بوده بشه (: )
موفق باشید.

3 پسندیده