برای اینکه نصب مدیر بوت در لینوکس را انجام دهیم اول باید یک توضیح درباره چطور اجرا شدن سیستم عامل بدهیم. زمانی که سیستم را روشن می کنیم اول BIOS که یک حافظه فقط خواندنی هستش یکسری از موارد را چک می کند و سپس عملیات POST اتفاق می افتد، عملا POST یکسری تست است که سخت افزار را برسی میکند مانند اروری که گاهی باید F1 بزنیم.

ارورر معروف F1 - (نصب مدیر بوت در لینوکس)

ارورر معروف F1 – (نصب مدیر بوت در لینوکس)

حالا بعد از این که POST با موفقیت کارش تمام شود MBR یا master boot record که قبلا در پست قبل”طراحی لی آوت هارد دیسک (Design hard disk layout)) درباره آن صحبت کردیم عملیات را بدست می گیرد. همانطور که قبلا گفتیم MBR فقط 512 بایت اول هارد است.

حالا برای این که بتوانید سیستم عامل را لود کنید و یا چند سیستم عامل در کنار هم نصب کنید نیاز به یک smart bootloader داریم که در نسخه های قدیمی لینوکس به آن LILO گفته می شد ولی امروزه از GRUB و GRUB2 استفاده می شود.

زمانی که یک بوت لودر عملیات را به بوت لودر دیگری انتقال می دهد به آن Chain Loading گفته می شود مانند زمانی که GRUB می خواهد عملیات بوت رو به دست سیستم عامل ویندوز بدهد.

LILO چیست؟

LILO مخفف کلمات Linux Loader است و همانطور که از نامش هم پیداست Boot Loader ای است که ویژه سیستم عامل لینوکس طراحی و پیاده سازی شده است. LILO در واقع کدی است که BIOS در هنگام Startup سیستم در داخل حافظه کامپیوتر Load می کند. همانند GRUB بوت لودر LILO هم می تواند سیستم عامل ها را از یک منبع خارجی مثل فلاپی دیسک یا هارد دیسک اکسترنال boot کند.

Standard LILO menu - (نصب مدیر بوت در لینوکس)

Standard LILO menu – (نصب مدیر بوت در لینوکس)

کاری که LILO در چنین حالتی انجام می دهد این است که Master Boot Record یا MBR را روی دستگاه خارجی نصب می کند و با این حالت براحتی در زمان بوت سیستم Kernel سیستم عامل را پیدا می کند و آن را داخل حافظه RAM سیستم Load می کند و سیستم عامل را بالا می آورد.

تنظیمات آن در مسیر زیر قرار دارد:

/etc/lilo.conf

و با استفاده از دستور زیر هم LILO نصب و کانفیگ می شود:

/usr/sbin/liloconfig

که محتوای فایل بالا به صورت زیر می باشد:

تا اینجای کار ما فقط فایل تنظیمات را ساختیم و ویرایش کرده ایم ولی برای نصب LILO باید دستور زیر را وارد کنیم:

نکته: -v به معنی verbosity است و در این دستور چون خواستیم توضیحات بیشتری به ما نمایش دهد دوبار -v استفاده کرده ایم.

خروجی دستور بالا و تنظیماتی که در فایل کانفیگ وارد کردیم به صورت زیر است:

برخی از سوئیچ های دستور LILO:

switch meaning
-q show information about the map file. map file is located at /boot/map and contains the boot configs
-R boot the system on the next reboot only. Used for remote systems
-l list information about the Kernel
-u uninstall lilo and restore previous boot record

Grub چیست و بررسی بارگذاری راه انداز Grub

GRUBv1 یا دقیقتر ورژن 0.9 است که به آن GRUB Legacy هم می گویند که عملا دیگه هیچ جایی استفاده نمی شود. GRUB هم یک Boot Loder هست و کارش دقیقا مثل LiLo و دیگر Boot Loder است البته با ویژگی های خاص خودش.

/boot/grub/menu.lst : حاوی اطلاعات مربوط به پارتیشن ها یا سیستم عامل هایی است که سیستم می تواند به وسیله آنها راه اندازی شود.

/etc/grub.conf : این فایل حاوی پارامترهایی است که پوسته GRUB جهت نصب صحیح بارگذار به انها نیاز دارد.

/boot/grub/device.map : فایل مذکور نام قطعاتی که در GRUB و BIOS ذکر شده اند را به نام های معادلشان در لینوکس تبدیل می کند و در واقع مترجمی بین سیستم عامل و BIOS است که توسط آن دیگر فایل های پیکربندی، پارتیشن های سیستم را تشخیص می دهند.

محتوایات فایل grub.conf در ورژن یک GRUB به صورت دیفالت زیر می باشد:

در زیر بخشی از آپشن های فایل بالا را اورده ایم:

command meaning
# comment
default the default system to boot; starts from 0
timeout how long to wait before autobooting
splashimage background image
password Security is important! will ask this password
title Name of the entery
root The partion to boot. Counting starts from 0. root(hd0,2) is the 3rd partion on the first disk
kernel which kernel image should be loaded
initrd the name of the initial RAM disk. Modules needed by the kernel before the file system is mounted
savedefault remember the last booted item
chainloader another file will act as stage 1 loader. Used for booting Windows systems

نصب GRUB legacy

Grub Legacy (Grub 0.97) - نصب مدیر بوت در لینوکس

Grub Legacy (Grub 0.97) – نصب مدیر بوت در لینوکس

بعد از این که تنظیمات گراب را انجام دادیم باید با استفاده از روت و دستور زیر آن را نصب کنیم:

GRUB2 چیست؟

Grub v2 - نصب مدیر بوت در لینوکس

Grub v2 – نصب مدیر بوت در لینوکس

درحال حاضر بیشترین استفاده در لینوکس های امروزی GRUBv2 می باشد که فایل تنظیمات آن در /boot/grub/grub.cfg قرار دارد که محتویات آن چیزی شبیه به زیر است:

حال بعد تغییرات فایل کانفیگ می توان با دستور grub-install /dev/sda آن را در /dev/sda و بر روی MBR نصب کرد.

فایل راهنمای (Help) گراب هم به صورت زیر است که در ساخت آن می تواند به شما کمک کند:

همچنین اگر تنظیماتی از قبل وجود ندارد می توان با دستور grub-mkconfig یک تنظیمات پیشفرض ایجاد کرد.