تعمیر گراب: تفاوت بین نسخهها
(ویکی سازی) |
|||
سطر ۱: | سطر ۱: | ||
− | + | اگر پس از نصب [[Ubuntu|اوبونتو]]، تغییراتی در ترتیب دیسکها بدهید یا سیستمعاملهای غیراستانداری مانند [[Windows|ویندوز]] را روی رایانهی خود نصب کنید، ممکن است [[grub|گراب]] خود را از دست بدهید. در چنین مواردی باید گراب را دوباره نصب کرده یا به اصطلاح تعمیر کنید. | |
− | |||
− | + | =پیشنیازها= | |
+ | * [[Live Media|رسانهٔ زندهٔ]] اوبونتوی سازگار با [[Arch|معماری]] و نگارش گراب اوبونتویی که روی دیسک شماست. | ||
− | + | =روش کار= | |
+ | ابتدا رایانه را با رسانهٔ زنده [[Boot|راهاندازی]] کرده و در نشست زنده، [[Termianl|پایانه]] را بگشایید. | ||
− | در | + | ==سوار کردن پارتیشنها== |
+ | لازم است بدانید که پارتیشن ریشه را در کجا نصب کردهاید. دستور [[fdisk]] میتواند در این زمینه به شما کمک کند. | ||
+ | <pre>$ sudo fdisk -l</pre> | ||
− | <pre>sudo mount /dev/ | + | فرض میکنیم ریشهی اوبونتو در پارتیشن <code>dev/sda1</code> باشد. این پارتیشن را روی [[File System|سامانهپروندهٔ]] توزیع زنده [[mount|سوار]] میکنیم. |
+ | <pre>$ sudo mount /dev/sda1 /mnt</pre> | ||
− | اگر | + | اگر هنگام نصب توزیع خود، پارتیشن جدایی (فرض میشود <code>dev/sda2</code>) برای boot در نظر گرفته بودهاید با دستور زیر boot را هم سوار نمایید: |
+ | <pre>$ sudo mount /dev/sda2 /mnt/boot</pre> | ||
− | <pre>sudo mount /dev/ | + | برای شناخت صحیح پارتیشن ها در گراب باید شاخههای مجازی dev و proc را از توزیع زندهای که هماکنون در حال کار با آن هستیم، روی سامانهپروندهی سیستم اصلی خود سوار کنیم: |
+ | <pre> | ||
+ | $ sudo mount --bind /dev/ /mnt/dev | ||
+ | $ sudo mount --bind /proc /mnt/proc | ||
+ | </pre> | ||
− | + | ==نصب گراب== | |
+ | حال باید گراب را روی دیسک اصلی خود که راهانداز [[Bios|بایاس]] به [[MBR|رکورد راهاندازی اصلی]] آن اشاره میکند، نصب کرد. با فرض این که <code>sda</code> دیسک اصلی شماست: | ||
+ | <pre>$ sudo grub-install --root-directory=/mnt/ /dev/sda</pre> | ||
− | <pre> | + | ==رفتن به محیط اوبونتوی اصلی== |
+ | سپس به وسیلهٔ [[chroot]] به توزیع اصلی نصبشدهٔ خود وارد میشویم: | ||
+ | <pre>$ sudo chroot /mnt</pre> | ||
− | + | ===بهروز رسانی گراب=== | |
+ | حال باید فهرست گراب را بر اساس آنچه روی دیسک وجود دارد بهروز رسانی کرد: | ||
+ | <pre># update-grub</pre> | ||
− | < | + | ==خروج== |
− | + | سپس با زدن دستور <code>exit</code> یا فشردن دکمههای ctrl+d از محیط chroot خارج میشویم. پس از آن باید پارتیشنهای سوار شده را پیاده کرد: | |
− | + | <pre>$ sudo umount /mnt</pre> | |
− | + | ==پایان== | |
− | + | نهایتا را راهاندازی مجدّد کنید و از با خارج کردن رسانهٔ زنده، از طریق گراب به اوبونتوی اصلی خود وارد شوید. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
نسخهٔ ۱۲ تیر ۱۳۹۴، ساعت ۰۱:۳۵
اگر پس از نصب اوبونتو، تغییراتی در ترتیب دیسکها بدهید یا سیستمعاملهای غیراستانداری مانند ویندوز را روی رایانهی خود نصب کنید، ممکن است گراب خود را از دست بدهید. در چنین مواردی باید گراب را دوباره نصب کرده یا به اصطلاح تعمیر کنید.
محتویات
پیشنیازها
- رسانهٔ زندهٔ اوبونتوی سازگار با معماری و نگارش گراب اوبونتویی که روی دیسک شماست.
روش کار
ابتدا رایانه را با رسانهٔ زنده راهاندازی کرده و در نشست زنده، پایانه را بگشایید.
سوار کردن پارتیشنها
لازم است بدانید که پارتیشن ریشه را در کجا نصب کردهاید. دستور fdisk میتواند در این زمینه به شما کمک کند.
$ sudo fdisk -l
فرض میکنیم ریشهی اوبونتو در پارتیشن dev/sda1
باشد. این پارتیشن را روی سامانهپروندهٔ توزیع زنده سوار میکنیم.
$ sudo mount /dev/sda1 /mnt
اگر هنگام نصب توزیع خود، پارتیشن جدایی (فرض میشود dev/sda2
) برای boot در نظر گرفته بودهاید با دستور زیر boot را هم سوار نمایید:
$ sudo mount /dev/sda2 /mnt/boot
برای شناخت صحیح پارتیشن ها در گراب باید شاخههای مجازی dev و proc را از توزیع زندهای که هماکنون در حال کار با آن هستیم، روی سامانهپروندهی سیستم اصلی خود سوار کنیم:
$ sudo mount --bind /dev/ /mnt/dev $ sudo mount --bind /proc /mnt/proc
نصب گراب
حال باید گراب را روی دیسک اصلی خود که راهانداز بایاس به رکورد راهاندازی اصلی آن اشاره میکند، نصب کرد. با فرض این که sda
دیسک اصلی شماست:
$ sudo grub-install --root-directory=/mnt/ /dev/sda
رفتن به محیط اوبونتوی اصلی
سپس به وسیلهٔ chroot به توزیع اصلی نصبشدهٔ خود وارد میشویم:
$ sudo chroot /mnt
بهروز رسانی گراب
حال باید فهرست گراب را بر اساس آنچه روی دیسک وجود دارد بهروز رسانی کرد:
# update-grub
خروج
سپس با زدن دستور exit
یا فشردن دکمههای ctrl+d از محیط chroot خارج میشویم. پس از آن باید پارتیشنهای سوار شده را پیاده کرد:
$ sudo umount /mnt
پایان
نهایتا را راهاندازی مجدّد کنید و از با خارج کردن رسانهٔ زنده، از طریق گراب به اوبونتوی اصلی خود وارد شوید.