فکر نکنم چیزی مشکل داشته باشه یا اضافه. (البته مطمئن نیستم)
دستور آپدیت گراب چیه ؟
توی دبیان و توزیعهای مبتنی بر اون، update-grub برای اینکار هست. میشه از update-grub2 هم استفاده کرد. هیچ فرقی با هم ندارند. دومی یه لینک به اولی هست.
update-grub فقط یه اسکریپت ساده هست که کلا سه خطه.
یکی که shebang هست، یکی set -e تا اگه جایی مشکلی پیش اومد، ادامه اسکریپت انجام نشه.
اونی که کار اصلی رو انجام میده، این خطه:
exec grub-mkconfig -o /boot/grub/grub.cfg "$@"
در واقعیت اون اسکریپت، دستور grub-mkconfig رو اجرا میکنه. هر آرگومان، آپشن و چیزی هم که بهش بدید، میده به grub-mkconfig.
تا جایی که میدونم، توی بقیه توزیعها دستور update-grub یا update-grub2 نیست و باید مستقیم از خود دستور grub-mkconfig استفاده کنید.
ممکنه تکی بعضی توزیعها، (مثل فدورا یا آرچ) به جای grub-mkconfig، از grub2-mkconfig استفاده بشه.
با این توضیحات، توی دبیان و توزیعهای مبتنی بر اون میتونید از این دستور استفاده کنید
update-grub
یا این یکی
update-grub2
توی بقیه توزیعها، مستقیم از grub-mkconfig یا grub2-mkconfig استفاده کنید.
(اولی توی دبیان هم کار میده)
grub-mkconfig -o /boot/grub/grub.cfg
یا این یکی:
grub2-mkconfig -o /boot/grub2/grub.cfg
دلیل اینکه بعضی جاها یه 2 توی اسم دستور هست، به خاطر نسخههای مختلف گراب هست.
اول گراب ۱ منتشر شده بود و توسعه پیدا میکرد.
بعد از یه مدت تصمیم گرفته شد که یه نسخه جدید گراب از اول نوشته بشه و به این شکل، گراب ۲ نوشته شد و توی سال ۲۰۱۲ اولین نسخه اون منتشر شد.
این گرابی که الان توسط بیشتر توزیعها استفاده میشه، گراب ۲ هست.
بعد از منتشر شدن گراب ۲، گراب ۱ به اسم گراب legacy هم شناخته میشه.
اکثر توزیعها الان از گراب ۲ استفاده میکنند. بعضیها کلا گراب ۱ رو از مخازن خودشون حذف کردند و تقریبا همه جا (دستورات، راهنماها، صفحات man و ...) کلمه grub رو به grub2 تغییر دادند.
البته دبیان هنوز گراب ۱ رو توی مخازنش داره و به همین خاطر، همزمان کلمات grub، grub2 و grub legacy توی دستورات، راهنماها، وبسایت و غیره اون پیدا میشه.
هر جایی که کلمه grub توی دبیان استفاده میشه، منظور grub2 هست یا چیزهایز که بین grub2 و grub legacy مشترکه. مگه اینکه به طور واضح بگه منظورش grub legacy هست.