تعمیر گراب: تفاوت بین نسخه‌ها

از ویکی فارسی اوبونتو
پرش به: ناوبری، جستجو
جز (سوار کردن پارتیشن‌ها: تایپو)
(پایان)
 
(۲۶ نسخه‌ٔ میانی ویرایش شده توسط ۵ کاربر نشان داده نشده)
سطر ۵: سطر ۵:
  
 
=روش کار=
 
=روش کار=
ابتدا رایانه را با رسانهٔ زنده [[Boot|راه‌اندازی]] کرده و در نشست زنده، [[Termianl|پایانه]] را بگشایید.
 
  
==سوار کردن پارتیشن‌ها==
+
{{نکته| اگر کار با محیط متنی برای شما دشوار است به قسمت پایانی مقاله '''روش‌های جایگزین''' مراجعه کنید. }}
لازم است بدانید که [[پارتیشن]] ریشه را در کجا نصب کرده‌اید. دستور [[fdisk]] می‌تواند در این زمینه به شما کمک کند.
 
<pre>$ sudo fdisk -l</pre>
 
  
فرض می‌کنیم ریشه‌ی اوبونتو در پارتیشن <code>dev/sda1</code> باشد. این پارتیشن را روی [[File System|سامانه‌پروندهٔ]] توزیع زنده [[mount|سوار]] می‌کنیم.
+
ابتدا رایانه را با رسانهٔ زنده [[Boot|راه‌اندازی]] کرده و در نشست زنده، [[Terminal emulator|شبیه‌ساز پایانه]] را بگشایید.
<pre>$ sudo mount /dev/sda1 /mnt</pre>
 
  
اگر هنگام نصب توزیع خود، پارتیشن جدایی (فرض می‌شود<code>dev/sda2</code>) برای boot در نظر گرفته بوده‌اید با دستور زیر boot را هم سوار نمایید:
+
==سوار کردن افرازها==
<pre>$ sudo mount  /dev/sda2 /mnt/boot</pre>
+
لازم است بدانید که [[Partition|افراز]] ریشه را در کجا نصب کرده‌اید. دستور [[fdisk]] می‌تواند در این زمینه به شما کمک کند.
  
برای شناخت صحیح پارتیشن ها در گراب باید شاخه‌های مجازی dev و proc را از توزیع زنده‌ای که هم‌اکنون در حال کار با آن هستیم، روی سامانه‌پرونده‌ی سیستم اصلی خود سوار کنیم:
+
{{bc|
<pre>
+
$ sudo fdisk -l
 +
}}
 +
 
 +
فرض می‌کنیم ریشه‌ی اوبونتو در افراز  {{ic|/dev/sda3}} باشد. این افراز را روی [[File System|سامانه‌پروندهٔ]] توزیع زنده [[mount|سوار]] می‌کنیم.
 +
 
 +
{{bc|
 +
$ sudo mount /dev/sda3 /mnt
 +
}}
 +
 
 +
 
 +
اگر هنگام نصب توزیع خود، افراز جدایی (فرض می‌شود {{ic|/dev/sda2}} ) برای boot در نظر گرفته بوده‌اید با دستور زیر boot را هم سوار نمایید:
 +
 
 +
{{bc|
 +
$ sudo mount /dev/sda2 /mnt/boot
 +
}}
 +
 
 +
در صورتی که سامانهٔ راه‌اندازی رایانهٔ شما از نوع [[UEFI]] است، لازم است افراز ESP نیز سوار شود. با فرض قرار داشتن ESP در {{ic|/dev/sda1}} داریم:
 +
 
 +
{{bc|
 +
$ sudo mount /dev/sda1 /mnt/boot/efi
 +
}}
 +
 
 +
برای شناخت صحیح افرازها در گراب باید شاخه‌های مجازی dev و proc و sys را از توزیع زنده‌ای که هم‌اکنون در حال کار با آن هستیم، روی سامانه‌پرونده‌ی سیستم اصلی خود سوار کنیم:
 +
 
 +
{{bc|
 
$ sudo mount --bind /dev/ /mnt/dev
 
$ sudo mount --bind /dev/ /mnt/dev
$ sudo mount --bind /proc /mnt/proc
+
$ sudo chroot /mnt/ mount -t proc proc /proc
</pre>
+
$ sudo chroot /mnt/ mount -t sysfs sysfs /sys
 +
$ sudo chroot /mnt/ mount -t devpts devpts /dev/pts
 +
}}
  
 
==نصب گراب==
 
==نصب گراب==
حال باید گراب را روی دیسک اصلی خود که راه‌انداز [[Bios|بایاس]] به [[MBR|رکورد راه‌اندازی اصلی]] آن اشاره می‌کند، نصب کرد. با فرض این که <code>sda</code> دیسک اصلی شماست:
+
حال باید گراب را روی دیسک اصلی خود که راه‌انداز [[Bios|بایوس]] به [[MBR|رکورد راه‌اندازی اصلی]] آن اشاره می‌کند، نصب کرد. با فرض این که <code>sda</code> دیسک اصلی شماست:
<pre>$ sudo grub-install --root-directory=/mnt/ /dev/sda</pre>
+
 
 +
{{bc|
 +
$ sudo grub-install --root-directory{{=}}/mnt/ /dev/sda
 +
}}
 +
 
 +
برای سامانه‌های UEFI می‌توان برای رفتن به ریشهٔ سوار شده و نصب گراب از این دستورها استفاده کرد:
 +
 
 +
{{bc|
 +
$ sudo chroot /mnt
 +
# grub-install --target{{=}}x86_64-efi --efi-directory{{=}}/boot/efi
 +
}}
  
 
==رفتن به محیط اوبونتوی اصلی==
 
==رفتن به محیط اوبونتوی اصلی==
سپس به وسیلهٔ [[chroot]] به توزیع اصلی نصب‌شدهٔ خود وارد می‌شویم:
+
اگر هنوز به ریشهٔ سوار شده وارد نشده‌ایم، این کار را با [[chroot]] انجام می‌دهیم:
<pre>$ sudo chroot /mnt</pre>
+
 
 +
{{bc|
 +
$ sudo chroot /mnt
 +
}}
  
 
===به‌روز رسانی گراب===
 
===به‌روز رسانی گراب===
 
حال باید فهرست گراب را بر اساس آن‌چه روی دیسک وجود دارد به‌روز رسانی کرد:
 
حال باید فهرست گراب را بر اساس آن‌چه روی دیسک وجود دارد به‌روز رسانی کرد:
<pre># update-grub</pre>
+
 
 +
{{bc|
 +
# update-grub
 +
}}
  
 
==خروج==
 
==خروج==
سپس با زدن دستور <code>exit</code> یا فشردن دکمه‌های ctrl+d از محیط chroot خارج می‌شویم. پس از آن باید پارتیشن‌های سوار شده را پیاده کرد:
+
سپس با زدن دستور <code>exit</code> یا فشردن دکمه‌های ctrl+d از محیط chroot خارج می‌شویم. پس از آن باید افرازهای سوار شده را پیاده کرد:
<pre>$ sudo umount /mnt</pre>
+
 
 +
{{bc|
 +
$ sudo umount -R /mnt
 +
}}
  
 
==پایان==
 
==پایان==
نهایتا رایانه را راه‌اندازی مجدّد کنید و با خارج کردن رسانهٔ زنده، از طریق گراب به اوبونتوی اصلی خود وارد شوید.
+
در پایان رایانه را دوباره راه‌اندازی کرده و با خارج کردن رسانهٔ زنده، با گراب به اوبونتوی اصلی خود وارد شوید.
 +
 
 +
=روش‌های جایگزین=
 +
می‌توانید برای انجام این کار از نرم‌افزار [[Boot Repair|بوت ریپیر]] نیز کمک بگیرید.
  
 
[[رده:آموزش‌ها]]
 
[[رده:آموزش‌ها]]
 +
[[رده:راه‌اندازی]]

نسخهٔ کنونی تا ‏۲ اردیبهشت ۱۴۰۳، ساعت ۰۹:۰۶

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

پیش‌نیازها

روش کار

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

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

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

لازم است بدانید که افراز ریشه را در کجا نصب کرده‌اید. دستور 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

پایان

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

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

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