هر آنچه در باره‌ی بوت‌ لودر گراب لینوکس و نصب بوت دوگانه سیستم عامل باید بدانید

زمانی که کامپیوتر روشن می‌شود یک سری برنامه نرم افزاری وجود دارد که باید ابتدا اجرا شوند تا محیط سیستم‌عامل به طور کامل بارگذاری شود؛ یکی از این نرم افزارها به عنوان bootstrap loader یا boot loader معروف است. Grub یک بوت لودر است که در اکثر توزیع‌های گنو/لینوکس مورد استفاده قرار می‌گیرد، در این مقاله تمامی موارد مربوط به گراب را بررسی می‌کنیم، با زومیت همراه باشید.

تکاری که boot loader انجام می‌دهد همان طور که از نامش هم پیداست این است که سیستم عامل اصلی کامپیوتر را لود می‌کند. نرم افزارهای سیستم عامل در هارد دیسک، CD ،DVD و حافظه‌های فلش USB ذخیره می‌شوند اما این نرم‌افزارها توسط پردازنده کامپیوتر قابل دسترس نیستند زیرا پردازنده فقط می‌تواند برنامه‌هایی را اجرا کند که در ROM سیستم قابل دسترس هستند. برنامه‌هایی که در RAM وجود دارند با استفاده از Boot Loaderهایی مثل SLOF ،OpenBoot ،OpenBIOS ، BOOTMGR ،Syslinux ،NTLDR ،GRUB و LILO قابل دسترس خواهند بود.

GRUB چیست؟

GRUB-menu

GRUB مخفف Grand Unified Bootloader است که می‌تواند سیستم عامل‌هایی مانند Linux Mach4 ،vSAT ،DOS و بسیاری دیگر از سیستم عامل‌ها را بوت کند. گراب توانایی بارگذاری انواع هسته یا Kernel را با انواع مختلف قالب‌های باینری دارد. امکانات و تنظیمات مختلفی در فایل config این Bootloader وجود دارد که اجازه Multiboot کردن سیستم عامل‌ها را نیز به دستگاه می‌دهد، همچنین انتخاب پارتیشن سیستمی که قرار است سیستم عامل و هسته آن یا Kernel آن Load شوند نیز بر عهده گراب است. گراب از چندین قالب اجرایی پشتیبانی می‌کند و همچنین نیازی به انجام داده ترجمه‌ها هم ندارد. این بوت لودر یک command prompt یا خط فرمان دارد که تا حد زیادی شبیه به bash shell لینوکس است و این اجازه را به کاربران می‌دهد که یک سیستم عامل نصب شدن را از روی فلاپی دیسک، CD-ROM و یا حتی USB بوت کند. فایل‌های کانفیگ و پیکربندی گراب در مسیر etc/default/grub/ قرار دارد. 

برای خواندن فایل پیکر بندی گراب دستور زیر را وارد کنید:
sudo nano /etc/default/grub
پس از آن با صفحه‌ای مشابه تصویر زیر مواجه خواهید شد:

hitrost

LILO چیست؟

LILO مخفف کلمات Linux Loader است و همان طور که از نامش هم پیداست Boot Loaderای است که ویژه سیستم عامل لینوکس طراحی و پیاده سازی شده است. LILO در واقع کدی است که BIOS در هنگام راه‌اندازی سیستم در داخل حافظه کامپیوتر بارگذاری می‌کند. همانند گراب بوت لودر LILO هم می‌تواند سیستم عامل‌ها را از یک منبع خارجی مثل هارد دیسک اکسترنال بوت کند. کاری که LILO در چنین حالتی انجام می‌دهد این است که Master Boot Record یا MBR را روی دستگاه خارجی نصب می‌کند و با این حالت به راحتی در زمان بوت سیستم Kernel سیستم عامل را پیدا می‌کند و آن را داخل حافظه RAM سیستم Load می‌کند و سیستم عامل را بالا می‌آورد. LILO به ما اجازه می‌دهد که سیستم عامل‌هایی مثل DOS ،Windows ،OS/2 و سایر توزیع‌های متنوع لینوکس را بر روی سخت افزار خود اجرا کنیم و از آن‌ها استفاده کنیم. LILO بصورت پیشفرض به عنوان Boot Loader اصلی لینوکس ارائه می‌شد تا این که به مرور زمان با بوت لودرِ گراب جایگزین شد. برخلاف گراب در LILO شما توانایی Boot کردن از طریق شبکه را ندارید اما در حالت کلی LILO ساده‌تر و دارای پیچیدگی‌های کمتری نسبت به GRUB است.

اصلاح گراب بعد از نصب ویندوز

gdAOl

در شرایطی که یکی از توزیع‌های لینوکس بر روی سیستم شما نصب شده باشد و به هر دلیلی نیاز باشد تا ویندوز نصب کنید، گراب به کلی غیرفعال خواهد شد. در این حالت راه‌حل‌های بسیاری وجود دارد. به هر حال در نظر داشته باشید که نصب ویندوز، اختلالی در بارگذاری لینوکس ایجاد خواهد کرد. در این شرایط استفاده از Hiren's Boot CD برای تعمیر گراب توصیه می‌شود. زمانی که سیستم ریست می‌شود این سی‌دی‌ها حکم راه‌انداز سیستم را دارند. سی‌دی‌های راه اندازی یا همان Bootable گاهی اهمیتی فوق‌العاده پیدا می‌کنند، زمانی که برای سیستم مشکلی پیش آمده و ویندوز قابل راه اندازی و بارگذاری نیست. در این زمان است که این سی دی‌های راه‌انداز اهمیت زیادی پیدا می‌کنند.  سی‌دی‌های Hiren's Boot ابزارهای زیادی را در خود جای داده است و کمک می‌کند تا در محیط ساده خط فرمان که حتی نشانگر ماوس هم در آن فعال نیست کارهایی اعجاب آوری را انجام داد. نرم افزارهایی که در این سی‌دی وجود دارند شامل آنتی ویروس‌ها، ابزار بازگردانی اطلاعات، تعمیر هارد و MBR و غیره هستند. البته بهترین راه‌حل استفاده از یک سی‌دی لینوکس Live است، در چنین شرایطی یکی از توزیع‌های لینوکس مانند اوبونتو را از روی سی‌دی یا فلش اجرا کنید. برای این منظور مراحل زیر را طی کنید:

 ابتدا سی‌دی لایو اوبونتو یا یکی دیگر توزیع‌های دیگر لینوکس را درون سیستم قرار داده و سیستم را توسط آن بوت کنید. پس از بالا آمدن سیستم به صورت لایو ترمینال را باز کرده و دستور زیر را وارد کنید:
$ sudo fdisk -l 
خروجی دستور بالا بر روی ترمینال به صورت زیر نمایش داده می‌شودکه مربوط به جدول پارتیشن بندی هارد دیسک است:
hitost kali
 

سیستم عامل در پارتیشنی قرار دارد که با ستاره مشخص شده است (ستون Boot). در این مثال سیستم عامل در dev/sda1 قرار دارد. حال این پارتیشن را به کمک دستور mount بارگذاری می‌کنیم: 

$ sudo mount /dev/sda1 /mnt 
اگر شاخه boot/ را در پارتیشنی جداگانه نصب کرده‌اید لازم است که آن را هم mount کنید. فرض می‌کنیم که boot/ در پارتیشن sda2 نصب شده است: 
$ sudo mount /dev/sda2 /mnt/boot

 همچنین برای ادامه عملیات بازیابی dev/ را هم به صورت زیر mount کنید: 

$ sudo mount –bind /dev /mnt/dev
حالا لازم است برای اعمال تغییرات، سیستم عامل اصلی را که در mnt/ مانت کرده بودیم با دستور chroot وارد شویم: 
$ sudo chroot /mnt 
فایل Grub را با استفاده از یک ویرایشگر متنی ویرایش می‌کنیم: 
$ gedit /etc/default/grub 
سپس باید با دستور زیر فایل کانفیگ گراب ۲ را از اول ایجاد می‌کنیم: 
$ update-grub 
حالا برای نصب گراب ۲ دستور زیر را وارد کنید: 
$ grub-install /dev/sda 
اگر در حین این عملیات با خطایی مواجه شدید دستور زیر را وارد کنید: 
$ grub-install –recheck /dev/sda 
عملیات نصب و بازیابی Grub2 با موفقیت انجام شد. کلیدهای Ctrl+D را برای خروج از chroot وارد کنید. حالا باید مواردی که mount کردیم را با دستورهای زیر unmount کنیم: 
$ sudo umount /mnt/dev 
$ sudo umount /mnt 
در این مرحله عملیات بازیابی گراب به پایان رسید. با دستور زیر سیستم را ریستارت کنید: 
$ sudo reboot 

Super Grub Disk

super grub2 disk 2.01-rc2 main menu

تا به اینجا با مدیریت گراب آشنا شدید، اما برای مدیریت و تعمیر گراب در صورت داشتن چند سیستم عامل یک راهکار سریع‌تر نیز وجود دارد آن هم استفاده از یک دیسک‌کم بنام Super Grub Disk است. این دیسک را می‌توانید از این لینکدانلود کرده و بر روی سیستم خود بوت کنید.

نصب همزمان ویندوز و لینوکس

boolinux

  • نصب ویندوز: همان طوری که اشاره شد، درصورتی که سیستم‌ عامل لینوکس را پس از ویندوز نصب کنید، بوت‌لودر آن به طور کامل در کنار ویندوز قرار خواهد گرفت اما در صورتی که ویندوز را پس از لینوکس نصب کنید، این سیستم‌ عامل به‌طور کل وجود لینوکس را نادیده گرفته و مشکلاتی برای فعال‌کردن مجدد بوت‌لودر لینوکس خواهید داشت.
  • ایجاد فضای لازم برای لینوکس: جهت نصب لینوکس، به فضای خالی بر روی درایو سیستم ویندوز نیاز خواهید داشت. استفاده از یک درایو دیسک سخت متفاوت برای این منظور، در صورتی که از یک رایانه شخصی بهره می‌برید می‌تواند یک گزینه دیگر باشد. در طول این فرآیند معمولا به تغییر اندازه پارتیشن ویندوز نیاز خواهید داشت تا فضای کافی برای نصب لینوکس مهیا کنید. درصورتی‌که از پایه به نصب ویندوز اقدام می‌کنید، مطمئن شوید تا فضای کافی بر روی درایو، جهت نصب لینوکس در نظر می‌گیرید. این روند شما را از مواجه با مشکلات بعدی نجات خواهد داد.
  • نصب لینوکس: حال توزیع لینوکس مورد نظر خود را انتخاب کرده و آن‌ را بر روی درایو یو‌اس‌بی و یا دی‌وی‌دی قرار دهید. سپس سیستم خود را از طریق آن درایو راه‌اندازی و لینوکس را نصب کنید. در طول فرآیند نصب مدنظر داشته باشید که گزینه نصب لینوکس در کنار ویندوز را انتخاب کرده‌اید و به‌هیچ‌وجه از گزینه پاک‌کردن کامل دیسک سخت استفاده نکنید. این روند به طور خودکار منوی بوت‌لودر گراب ۲ را راه‌اندازی و امکان انتخاب سیستم‌ عامل مورد نظر پس از هربار راه‌اندازی کامپیوتر را به شما خواهد داد. 

نصب ویندوز

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

1

ایجاد فضای کافی برای لینوکس

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

3

به همین منظور ابتدا کلیدهای ویندوز+R را فشرده و در پنجره Run، عبارت diskmgmt.msc را تایپ کرده و اینتر کنید، حال ابزار ابزار مدیریت دیسک یا Disk Management باز خواهد شد؛ بر روی پارتیشن ویندوز کلیک راست کرده و گزینه Shrink Volume را انتخاب کنید. حال این ابزار فضای خالی مورد نیاز برای سیستم‌ عامل جدید لینوکس را آماده خواهد کرد. در صورتی که از قابلیت رمزگذاری BitLocker در ویندوز استفاده می‌کنید، امکان تغییر اندازه پارتیشن را نخواهید داشت. در این صورت ابتدا باید کنترل پنل را باز کرده و به صفحه تنظیمات بیت‌لاکر رفته و گزینه Suspend Protection در کنار پارتیشن رمزگذاری‌شده که قصد تغییر اندازه آن‌ را دارید را انتخاب کنید. پس از انجام این تغییرات، می‌توانید به تغییر اندازه پارتیشن اقدام و با راه‌اندازی مجدد کامپیوتر، بیت‌لاکر مجددا فعال‌ خواهد شد.

نصب لینوکس

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

4

در برخی کامپیوترهای جدید، سیستم به دلیل فعال بودن گزینه Secure Boot از نصب لینوکس جلوگیری می‌کند. در حال حاضر اکثر توزیع‌های لینوکس حتی با فعال‌ بودن این گزینه نیز شروع به عملیات نصب می‌کنند، با این وجود در صورت بروز مشکل، پیش از آغاز نصب گزینه Secure Boot را غیر فعال کنید. پس از شروع عملیات نصب، سئوالی به منظور مشخص‌کردن مکان و نحوه نصب توزیع لینوکس پرسیده خواهد شد. این گزینه در توزیع‌های مختلف لینوکس متفاوت است؛ با این وجود باید به دنبال گزینه‌ای باشید که امکان نصب لینوکس در کنار ویندوز را به شما خواهد داد و یا از گزینه پارتیشن بندی دستی برای ایجاد پارتیشن‌های مورد نظر خود استفاده کنید. هیچ‌گاه گزینه‌ای مبنی جایگزینی ویندوز انتخاب نکنید زیرا در صورت انتخاب چنین گزینه‌ای، سیستم‌عامل جاری شما به طور کامل از بین خواهد رفت.

انتخاب سیستم‌ عامل و شخصی‌سازی گراب ۲

5