تعمیر گراب: تفاوت بین نسخهها
(اصلاح پایانه به شبیه ساز پایانه) |
(افزودن پشتیبانی EFI) |
||
سطر ۷: | سطر ۷: | ||
ابتدا رایانه را با رسانهٔ زنده [[Boot|راهاندازی]] کرده و در نشست زنده، [https://wiki.ubuntu.ir/wiki/%D8%B4%D8%A8%DB%8C%D9%87%E2%80%8C%D8%B3%D8%A7%D8%B2_%D9%BE%D8%A7%DB%8C%D8%A7%D9%86%D9%87 شبیهساز پایانه] را بگشایید. | ابتدا رایانه را با رسانهٔ زنده [[Boot|راهاندازی]] کرده و در نشست زنده، [https://wiki.ubuntu.ir/wiki/%D8%B4%D8%A8%DB%8C%D9%87%E2%80%8C%D8%B3%D8%A7%D8%B2_%D9%BE%D8%A7%DB%8C%D8%A7%D9%86%D9%87 شبیهساز پایانه] را بگشایید. | ||
− | ==سوار کردن | + | ==سوار کردن افرازها== |
− | لازم است بدانید که [[ | + | لازم است بدانید که [[Partition|افراز]] ریشه را در کجا نصب کردهاید. دستور [[fdisk]] میتواند در این زمینه به شما کمک کند. |
<pre>$ sudo fdisk -l</pre> | <pre>$ sudo fdisk -l</pre> | ||
− | فرض میکنیم ریشهی اوبونتو در | + | فرض میکنیم ریشهی اوبونتو در افراز <code>dev/sda3</code> باشد. این افراز را روی [[File System|سامانهپروندهٔ]] توزیع زنده [[mount|سوار]] میکنیم. |
− | <pre>$ sudo mount /dev/ | + | <pre>$ sudo mount /dev/sda3 /mnt</pre> |
− | اگر هنگام نصب توزیع خود، | + | اگر هنگام نصب توزیع خود، افراز جدایی (فرض میشود<code>dev/sda2</code>) برای boot در نظر گرفته بودهاید با دستور زیر boot را هم سوار نمایید: |
<pre>$ sudo mount /dev/sda2 /mnt/boot</pre> | <pre>$ sudo mount /dev/sda2 /mnt/boot</pre> | ||
− | برای شناخت صحیح | + | در صورتی که سامانهٔ راهاندازی رایانهٔ شما از نوع [[UEFI]] است، لازم است افراز ESP نیز سوار شود. با فرض قرار داشتن ESP در <code>dev/sda1</code> داریم: |
+ | <pre>$ sudo mount /dev/sda1 /mnt/boot/efi</pre> | ||
+ | |||
+ | برای شناخت صحیح افرازها در گراب باید شاخههای مجازی dev و proc و sys را از توزیع زندهای که هماکنون در حال کار با آن هستیم، روی سامانهپروندهی سیستم اصلی خود سوار کنیم: | ||
<pre> | <pre> | ||
$ sudo mount --bind /dev/ /mnt/dev | $ sudo mount --bind /dev/ /mnt/dev | ||
سطر ۲۶: | سطر ۲۹: | ||
==نصب گراب== | ==نصب گراب== | ||
− | حال باید گراب را روی دیسک اصلی خود که راهانداز [[Bios| | + | حال باید گراب را روی دیسک اصلی خود که راهانداز [[Bios|بایوس]] یا UEFI به [[MBR|رکورد راهاندازی اصلی]] آن اشاره میکند، نصب کرد. با فرض این که <code>sda</code> دیسک اصلی شماست: |
<pre>$ sudo grub-install --root-directory=/mnt/ /dev/sda</pre> | <pre>$ sudo grub-install --root-directory=/mnt/ /dev/sda</pre> | ||
سطر ۳۸: | سطر ۴۱: | ||
==خروج== | ==خروج== | ||
− | سپس با زدن دستور <code>exit</code> یا فشردن دکمههای ctrl+d از محیط chroot خارج میشویم. پس از آن باید | + | سپس با زدن دستور <code>exit</code> یا فشردن دکمههای ctrl+d از محیط chroot خارج میشویم. پس از آن باید افرازهای سوار شده را پیاده کرد: |
<pre>$ sudo umount -R /mnt</pre> | <pre>$ sudo umount -R /mnt</pre> | ||
نسخهٔ ۱۶ آذر ۱۳۹۹، ساعت ۱۳:۴۰
اگر پس از نصب اوبونتو، تغییراتی در ترتیب دیسکها بدهید یا سیستمعاملهای غیراستانداری مانند ویندوز را روی رایانهی خود نصب کنید، ممکن است گراب خود را از دست بدهید. در چنین مواردی باید گراب را دوباره نصب کرده یا به اصطلاح تعمیر کنید.
محتویات
پیشنیازها
- رسانهٔ زندهٔ اوبونتوی سازگار با معماری و نگارش گراب اوبونتویی که روی دیسک شماست.
روش کار
ابتدا رایانه را با رسانهٔ زنده راهاندازی کرده و در نشست زنده، شبیهساز پایانه را بگشایید.
سوار کردن افرازها
لازم است بدانید که افراز ریشه را در کجا نصب کردهاید. دستور 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
پایان
نهایتا رایانه را راهاندازی مجدّد کنید و با خارج کردن رسانهٔ زنده، از طریق گراب به اوبونتوی اصلی خود وارد شوید.
روشهای جایگزین
میتوانید برای انجام این کار از نرمافزار بوت ریپیر نیز کمک بگیرید.