تعمیر گراب
اگر پس از نصب اوبونتو، تغییراتی در ترتیب دیسکها بدهید یا سیستمعاملهای غیراستانداری مانند ویندوز را روی رایانهی خود نصب کنید، ممکن است گراب خود را از دست بدهید. در چنین مواردی باید گراب را دوباره نصب کرده یا به اصطلاح تعمیر کنید.
محتویات
پیشنیازها
- رسانهٔ زندهٔ اوبونتوی سازگار با معماری و نگارش گراب اوبونتویی که روی دیسک شماست.
روش کار
ابتدا رایانه را با رسانهٔ زنده راهاندازی کرده و در نشست زنده، شبیهساز پایانه را بگشایید.
سوار کردن افرازها
لازم است بدانید که افراز ریشه را در کجا نصب کردهاید. دستور 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 chroot /mnt/ mount -t proc proc /proc $ sudo chroot /mnt/ mount -t sysfs sysfs /sys $ sudo chroot /mnt/ mount -t devpts devpts /dev/pts
نصب گراب
حال باید گراب را روی دیسک اصلی خود که راهانداز بایوس به رکورد راهاندازی اصلی آن اشاره میکند، نصب کرد. با فرض این که sda
دیسک اصلی شماست:
$ sudo grub-install --root-directory=/mnt/ /dev/sda
برای سامانههای UEFI میتوان برای رفتن به ریشهٔ سوار شده و نصب گراب از این دستورها استفاده کرد:
$ sudo chroot /mnt # grub-install --target=x86_64-efi --efi-directory=/boot/efi
رفتن به محیط اوبونتوی اصلی
اگر هنوز به ریشهٔ سوار شده وارد نشدهایم، این کار را با chroot انجام میدهیم:
$ sudo chroot /mnt
بهروز رسانی گراب
حال باید فهرست گراب را بر اساس آنچه روی دیسک وجود دارد بهروز رسانی کرد:
# update-grub
خروج
سپس با زدن دستور exit
یا فشردن دکمههای ctrl+d از محیط chroot خارج میشویم. پس از آن باید افرازهای سوار شده را پیاده کرد:
$ sudo umount -R /mnt
پایان
نهایتاً رایانه را دوباره راهاندازی کرده و با خارج کردن رسانهٔ زنده، از طریق گراب به اوبونتوی اصلی خود وارد شوید.
روشهای جایگزین
میتوانید برای انجام این کار از نرمافزار بوت ریپیر نیز کمک بگیرید.