بوت دستی با گراب

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

grub2

منوی گراب را می‌توان به نحوی که نیاز داریم و با توجه به سیستم‌عامل‌های موجود ویرایش کنیم. انجام این ویرایش نیاز به آموزش‌هایی دارد که در مطالب بعدی حتما به آن می‌پردازیم. اما در اینجا به این نکته بسنده کنم که برای شناسایی یک سیستم لینوکس جدید در کامپیوتر باید بعد از ورود به آن از طریق ترمینال دستور update-grub را اجرا کنید تا به‌صورت خودکار تنظیمات لازم اعمال شود (این کار معمولا توسط نصاب‌ها در هنگام نصب توزیع انجام می‌شود).

اما اگر توزیعی نصب کردیم که هنوز توسط گراب شناسایی نشده چگونه باید وارد آن شویم؟! یا اگر تنظیمات به هر طریقی مشکل پیدا کرد؟!

خب برای بوت دستی با گراب به سیستم عامل باید زمان بالا آمدن سیستم، هنگامی که منوی گراب را مشاهده می‌کنید دکمه ‘c’ را بزنید تا خط فرمان گراب نمایش داده شود. این همان جایی است که می‌گویم گراب قدرت زیادی دارد چون اگر دستور help را وارد کنید متوجه می‌شوید چه امکاناتی دارد! اما ما در اینجا فقط به بوت دستی آن می‌پردازیم.

بعد از ورود به خط فرمان گراب، ابتدا باید وارد پارتیشنی شوید که سیستم‌عامل مورد نظرتان در آن قرار دارد. برای دیدن لیست دیسک و پارتیشن‌ها دستور ‘ls’ را وارد کنید.

لیستی را مشاهده خواهید کرد که از hd0, hd1, … (شناسه دیسک‌ها) به همراه شناسه هر پارتیشن مثل grp0, grp1, msdos, … تشکیل شده است. با توجه به اطلاعاتی که از سیستم خود دارید یکی ازین موارد را باید در نظر داشته باشید.

اکنون دستور زیر را وارد کنید (شناسه پارتیشنی که از بالا یافته‌اید وارد کنید).

set root=(<شناسه پارتیشن>)
  • اگر دقیق نمی‌دانید کدام پارتیشن برای سیستم مورد نظر شماست کافیست قبل از تایپ شناسه پارتیشن کلید Tab را بزنید تا لیست پارتیشن‌ها همراه اطلاعات کامل آن نمایش داده شود.

خب حالا می‌توانید از پارتیشن سیستم‌عامل خود استفاده کنید.

برای بارگزاری یک سیستم لینوکس نیاز به بارگزاری kernel (هسته) و initrd (برنامه‌های اولیه) دارید.

ابتدا kernel را به گراب و پارتیشن root را به kernel معرفی کنید (فایل هسته در شاخه boot قرار دارد و اسم آن معمولا با vmlinux شروع می‌شود).

linux /boot/<linux-image> root=/dev/<sdaX>
  • آدرس پارتیشن روت را بعد از root= درست همان‌طوری که در لینوکس داریم وارد کنید.

  • اگر اسم دقیق کرنل را نمی‌دانستید کافیست قبل از تایپش کلید تب را بزنید تا فایل‌های شاخه boot لیست شوند.

حالا initrd را به گراب معرفی کنید (این فایل نیز در شاخه boot قرار دارد و اسم آن معمولا با initrd شروع می‌شود).

initrd /boot/<initrd-image>

سپس دستور زیر را وارد کنید تا سیستم‌عامل مورد نظرتان راه اندازی شود.

boot

این هم یک تصویر که مثال خوبی برای کار ماست.

grub-cmd