تعمیر گراب: تفاوت بین نسخهها
(←سوار کردن افرازها) |
(←پایان) |
||
(۸ نسخهٔ میانی ویرایش شده توسط ۲ کاربر نشان داده نشده) | |||
سطر ۵: | سطر ۵: | ||
=روش کار= | =روش کار= | ||
− | |||
− | + | {{نکته| اگر کار با محیط متنی برای شما دشوار است به قسمت پایانی مقاله '''روشهای جایگزین''' مراجعه کنید. }} | |
+ | |||
+ | ابتدا رایانه را با رسانهٔ زنده [[Boot|راهاندازی]] کرده و در نشست زنده، [[Terminal emulator|شبیهساز پایانه]] را بگشایید. | ||
==سوار کردن افرازها== | ==سوار کردن افرازها== | ||
سطر ۱۶: | سطر ۱۷: | ||
}} | }} | ||
− | فرض میکنیم ریشهی اوبونتو در افراز | + | فرض میکنیم ریشهی اوبونتو در افراز {{ic|/dev/sda3}} باشد. این افراز را روی [[File System|سامانهپروندهٔ]] توزیع زنده [[mount|سوار]] میکنیم. |
{{bc| | {{bc| | ||
سطر ۲۳: | سطر ۲۴: | ||
− | اگر هنگام نصب توزیع خود، افراز جدایی (فرض میشود | + | اگر هنگام نصب توزیع خود، افراز جدایی (فرض میشود {{ic|/dev/sda2}} ) برای boot در نظر گرفته بودهاید با دستور زیر boot را هم سوار نمایید: |
{{bc| | {{bc| | ||
سطر ۲۹: | سطر ۳۰: | ||
}} | }} | ||
− | در صورتی که سامانهٔ راهاندازی رایانهٔ شما از نوع [[UEFI]] است، لازم است افراز ESP نیز سوار شود. با فرض قرار داشتن ESP در | + | در صورتی که سامانهٔ راهاندازی رایانهٔ شما از نوع [[UEFI]] است، لازم است افراز ESP نیز سوار شود. با فرض قرار داشتن ESP در {{ic|/dev/sda1}} داریم: |
{{bc| | {{bc| | ||
سطر ۳۹: | سطر ۴۰: | ||
{{bc| | {{bc| | ||
$ sudo mount --bind /dev/ /mnt/dev | $ sudo mount --bind /dev/ /mnt/dev | ||
− | $ sudo chroot /mnt/ -t proc proc /proc | + | $ sudo chroot /mnt/ mount -t proc proc /proc |
− | $ sudo chroot /mnt/ -t sysfs sysfs /sys | + | $ sudo chroot /mnt/ mount -t sysfs sysfs /sys |
− | $ sudo chroot /mnt/ -t devpts devpts /dev/pts | + | $ sudo chroot /mnt/ mount -t devpts devpts /dev/pts |
}} | }} | ||
==نصب گراب== | ==نصب گراب== | ||
− | حال باید گراب را روی دیسک اصلی خود که راهانداز [[Bios|بایوس]] | + | حال باید گراب را روی دیسک اصلی خود که راهانداز [[Bios|بایوس]] به [[MBR|رکورد راهاندازی اصلی]] آن اشاره میکند، نصب کرد. با فرض این که <code>sda</code> دیسک اصلی شماست: |
{{bc| | {{bc| | ||
$ sudo grub-install --root-directory{{=}}/mnt/ /dev/sda | $ sudo grub-install --root-directory{{=}}/mnt/ /dev/sda | ||
+ | }} | ||
+ | |||
+ | برای سامانههای UEFI میتوان برای رفتن به ریشهٔ سوار شده و نصب گراب از این دستورها استفاده کرد: | ||
+ | |||
+ | {{bc| | ||
+ | $ sudo chroot /mnt | ||
+ | # grub-install --target{{=}}x86_64-efi --efi-directory{{=}}/boot/efi | ||
}} | }} | ||
==رفتن به محیط اوبونتوی اصلی== | ==رفتن به محیط اوبونتوی اصلی== | ||
− | + | اگر هنوز به ریشهٔ سوار شده وارد نشدهایم، این کار را با [[chroot]] انجام میدهیم: | |
{{bc| | {{bc| | ||
سطر ۶۴: | سطر ۷۲: | ||
# update-grub | # update-grub | ||
}} | }} | ||
− | |||
==خروج== | ==خروج== | ||
سطر ۷۴: | سطر ۸۱: | ||
==پایان== | ==پایان== | ||
− | + | در پایان رایانه را دوباره راهاندازی کرده و با خارج کردن رسانهٔ زنده، با گراب به اوبونتوی اصلی خود وارد شوید. | |
=روشهای جایگزین= | =روشهای جایگزین= |
نسخهٔ کنونی تا ۲ اردیبهشت ۱۴۰۳، ساعت ۰۹:۰۶
اگر پس از نصب اوبونتو، تغییراتی در ترتیب دیسکها بدهید یا سیستمعاملهای غیراستانداری مانند ویندوز را روی رایانهی خود نصب کنید، ممکن است گراب خود را از دست بدهید. در چنین مواردی باید گراب را دوباره نصب کرده یا به اصطلاح تعمیر کنید.
محتویات
پیشنیازها
- رسانهٔ زندهٔ اوبونتوی سازگار با معماری و نگارش گراب اوبونتویی که روی دیسک شماست.
روش کار
ابتدا رایانه را با رسانهٔ زنده راهاندازی کرده و در نشست زنده، شبیهساز پایانه را بگشایید.
سوار کردن افرازها
لازم است بدانید که افراز ریشه را در کجا نصب کردهاید. دستور 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
پایان
در پایان رایانه را دوباره راهاندازی کرده و با خارج کردن رسانهٔ زنده، با گراب به اوبونتوی اصلی خود وارد شوید.
روشهای جایگزین
میتوانید برای انجام این کار از نرمافزار بوت ریپیر نیز کمک بگیرید.