بازگرداندن گراب به وسیله سی‌دی آرچ لینوکس

روی کامپیوترم فقط آرچ نصب بود و برای بازی کردن نیاز به ویندوز داشتم؛ از اونجایی که ویندوز بوت لودر خودش رو جایگزین می‌کنه باید بعد از نصبش گراب رو دوباره نصب می‌کردم. روشی رو که استفاده کردم در ادامه می‌بینید.

فرض بر این هست که می‌دونید چیکار دارید می‌کنید! مثلا باید پارتیشنی که لینوکس در اون نصب شده رو بدونید.

سی‌دی آرچ رو بوت کنید.

یه دیرکتوری برای محیط chroot ایجاد کنید:

[cc lang=»bash»]mkdir /mnt/root[/cc]

پارتیشن لینوکس و موارد ضروری دیگه رو mount می‌کنیم:

[cc lang=»bash»]mount /dev/sda1 /mnt/root[/cc]

[cc lang=»bash»]cd /mnt/root[/cc]

[cc lang=»bash»]mount -o bind /dev dev/[/cc]

[cc lang=»bash»]mount -t proc proc proc/[/cc]

[cc lang=»bash»]mount -t sysfs sys sys/[/cc]

من سه دستور آخر رو اجرا کردم ولی به نظر میاد در آرچ‌های جدید(2012)، دستور [cci]arch-chroot /mnt/root[/cci]، این سه کار رو انجام میده.

اگه پارتیشن جدایی برای بوت دارید باید مونتش کنید:

[cc lang=»bash»]mount /dev/[boot partition] boot/[/cc]

حالا روت رو تغییر می‌دیم:

[cc lang=»bash»]chroot .[/cc]

می‌تونید شل مورد نظرتون رو هم در دستور بالا مشخص کنید. مثلا:

[cc lang=»bash»]chroot . /bin/bash[/cc]

حالا فایل grub.cfg رو تولید می‌کنیم:

[cc lang=»bash»]grub-mkconfig -o /boot/grub/grub.cfg[/cc]

گراب رو نصب می‌کنیم:

[cc lang=»bash»]grub-install /dev/sda[/cc]

از chroot خارج می‌شیم:

[cc lang=»bash»]exit[/cc]

فایل‌سیستم‌ها و دستگاه‌ها رو unmount می‌کنیم:

[cc lang=»bash»]umount {dev,proc,sys,}[/cc]

روت رو unmount می‌کنیم:

[cc lang=»bash»]cd ..[/cc]

[cc lang=»bash»]umount root[/cc]

در نهایت ری‌بوت می‌کنیم:

[cc lang=»bash»]reboot[/cc]