تعمیر گراب

از ویکی فارسی اوبونتو
نسخهٔ تاریخ ‏۲۸ مهر ۱۴۰۰، ساعت ۱۹:۴۱ توسط Eshagh (بحث | مشارکت‌ها) (نصب گراب: افزودن الگوی {{=}})
پرش به: ناوبری، جستجو

اگر پس از نصب اوبونتو، تغییراتی در ترتیب دیسک‌ها بدهید یا سیستم‌عامل‌های غیراستانداری مانند ویندوز را روی رایانه‌ی خود نصب کنید، ممکن است گراب خود را از دست بدهید. در چنین مواردی باید گراب را دوباره نصب کرده یا به اصطلاح تعمیر کنید.

پیش‌نیازها

روش کار

ابتدا رایانه را با رسانهٔ زنده راه‌اندازی کرده و در نشست زنده، شبیه‌ساز پایانه را بگشایید.

در صورتی که کار با محیط متنی دشوار است به قسمت پایانی مقاله روش‌های جایگزین مراجعه کنید.

سوار کردن افرازها

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


$ sudo fdisk -l

فرض می‌کنیم ریشه‌ی اوبونتو در افراز dev/sda3 باشد. این افراز را روی سامانه‌پروندهٔ توزیع زنده سوار می‌کنیم.


$ sudo mount /dev/sda3 /mnt


اگر هنگام نصب توزیع خود، افراز جدایی (فرض می‌شودdev/sda2) برای boot در نظر گرفته بوده‌اید با دستور زیر boot را هم سوار نمایید:


$ sudo mount /dev/sda2 /mnt/boot

در صورتی که سامانهٔ راه‌اندازی رایانهٔ شما از نوع UEFI است، لازم است افراز ESP نیز سوار شود. با فرض قرار داشتن ESP در dev/sda1 داریم:


$ sudo mount /dev/sda1 /mnt/boot/efi

برای شناخت صحیح افرازها در گراب باید شاخه‌های مجازی dev و proc و sys را از توزیع زنده‌ای که هم‌اکنون در حال کار با آن هستیم، روی سامانه‌پرونده‌ی سیستم اصلی خود سوار کنیم:


$ sudo mount --bind /dev/ /mnt/dev
$ sudo mount --bind /dev/pts /mnt/dev/pts
$ sudo mount --type proc none /mnt/proc
$ sudo mount --type sysfs none /mnt/sys

نصب گراب

حال باید گراب را روی دیسک اصلی خود که راه‌انداز بایوس یا UEFI به رکورد راه‌اندازی اصلی آن اشاره می‌کند، نصب کرد. با فرض این که sda دیسک اصلی شماست:


$ sudo grub-install --root-directory=/mnt/ /dev/sda

رفتن به محیط اوبونتوی اصلی

سپس با chroot به توزیع اصلی نصب‌شدهٔ خود وارد می‌شویم:


$ sudo chroot /mnt

به‌روز رسانی گراب

حال باید فهرست گراب را بر اساس آن‌چه روی دیسک وجود دارد به‌روز رسانی کرد:


# update-grub


خروج

سپس با زدن دستور exit یا فشردن دکمه‌های ctrl+d از محیط chroot خارج می‌شویم. پس از آن باید افرازهای سوار شده را پیاده کرد:


$ sudo umount -R /mnt

پایان

نهایتا رایانه را راه‌اندازی مجدّد کنید و با خارج کردن رسانهٔ زنده، از طریق گراب به اوبونتوی اصلی خود وارد شوید.

روش‌های جایگزین

می‌توانید برای انجام این کار از نرم‌افزار بوت ریپیر نیز کمک بگیرید.