خرابی GRUB (بوت‌لودر): دلایل و روش‌های رفع مشکل

یکی از دلایل بوت نشدن Linux می‌تواند خرابی GRUB باشد. وقتی GRUB آسیب ببیند، ممکن است سیستم روی grub rescue متوقف شود، فقط صفحه سیاه نشان دهد یا اصلاً وارد سیستم‌عامل نشود.

در این مقاله، نشانه‌های رایج، علت‌های معمول و روش پایه برای تعمیر GRUB با استفاده از Live USB را توضیح می‌دهیم.


1. نشانه‌های خراب شدن GRUB

  • هنگام روشن کردن، فقط grub rescue نمایش داده می‌شود
  • خطاهایی مانند “no such partition” ظاهر می‌شود
  • Linux بوت نمی‌شود و صفحه سیاه باقی می‌ماند
  • بعد از به‌روزرسانی، سیستم ناگهان دیگر بوت نمی‌شود

اگر این نشانه‌ها را می‌بینید، احتمال دارد خود GRUB یا یکی از پارتیشن‌های مرتبط با بوت آسیب دیده باشد.


2. علت‌های رایج

  • قطع شدن به‌روزرسانی سیستم در میانه کار
  • تغییر در ساختار پارتیشن‌های دیسک
  • بوت دوگانه با Windows اطلاعات بوت را بازنویسی کرده است
  • خرابی پارتیشن EFI یا پارتیشن /boot
  • مشکلات دیسک که باعث از بین رفتن فایل‌های بوت شده‌اند

این نوع مشکل به‌ویژه پس از تغییر پارتیشن‌ها، نصب مجدد سیستم یا به‌روزرسانی کرنل بیشتر دیده می‌شود.


3. ابتدا با Live USB بوت کنید

اگر Linux دیگر به شکل عادی بوت نمی‌شود، امن‌ترین راه این است که سیستم را با Linux Live USB اجرا کنید. سپس ترمینال را باز کرده و پارتیشن‌ها را بررسی کنید.

lsblk -f

مشخص کنید کدام پارتیشن، پارتیشن ریشه Linux است و کدام پارتیشن EFI است.


4. سیستم را mount کنید و GRUB را تعمیر کنید

در ادامه یک نمونه رایج از مراحل بازیابی آمده است. نام دستگاه‌ها را متناسب با سیستم خود تغییر دهید.

sudo mount /dev/sda2 /mnt
sudo mount /dev/sda1 /mnt/boot/efi   # فقط برای سیستم‌های UEFI

sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys

sudo chroot /mnt

پس از ورود به chroot، GRUB را دوباره نصب کنید.

grub-install /dev/sda

در سیستم‌های UEFI می‌توانید از دستور زیر نیز استفاده کنید:

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB

سپس پیکربندی بوت را دوباره ایجاد کنید.

update-grub

در پایان خارج شوید و سیستم را راه‌اندازی مجدد کنید.

exit
sudo reboot

5. اگر update-grub در دسترس نبود

در توزیع‌هایی مانند Fedora معمولاً از grub2-mkconfig استفاده می‌شود. برای مثال:

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

در سیستم‌های UEFI ممکن است مسیر فایل خروجی بسته به توزیع متفاوت باشد.


جمع‌بندی

خرابی GRUB یکی از علت‌های رایج بوت نشدن Linux است. در بسیاری از موارد نیازی به نصب مجدد کامل سیستم نیست. معمولاً این ترتیب کمک می‌کند:

  • بوت کردن با Live USB
  • بررسی پارتیشن Linux و EFI
  • mount کردن سیستم و ورود به chroot
  • نصب مجدد GRUB
  • ایجاد دوباره پیکربندی بوت

اگر دیسک به‌شدت آسیب ندیده باشد، معمولاً می‌توان سیستم را با همین مراحل بازیابی کرد.

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *