یکشنبه, ۱۶ اردیبهشت, ۱۴۰۳ / 5 May, 2024
مجله ویستا

نگاهی دقیق تر به فرایند راه اندازی لینوکس


نگاهی دقیق تر به فرایند راه اندازی لینوکس

اصطلاح فنی راه اندازی کامپیوتر را فرایند بوت یا Bootstrapping می گویند و یا بطور خلاصه تر بوت boot یا booting بخش آغازین این فرایند توسط کدهای ذخیره شده در ROM کامپیوتر انجام می شود

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

اصطلاح فنی راه‌اندازی کامپیوتر را فرایند بوت یا Bootstrapping می‌گویند و یا بطور خلاصه‌تر بوت (boot یا booting). بخش آغازین این فرایند توسط کدهای ذخیره شده در ROM کامپیوتر انجام می‌شود. این بخش در همه سیستم‌عامل‌ها یکسان می‌باشد. وظیفه این کد بارگذاری مدیر بوت لینوکس (Linux Boot Loader) برای ادامه فرایند می‌باشد.

● برنامه‌های مدیر بوت

برنامه‌های مدیر بوت برنامه‌هایی هستند که توسط ROM کامپیوتر (یا همان BIOS) بارگذاری می‌شوند. در لینوکس دو مدیر بوت رایج وجود دارد. لیلو (LiLO) مدیر بوت سنتی لینوکس و گراب (Grub) مدیر بوتی جدیدتر می‌باشد.هرکدام از این برنامه‌ها ابتدا مقداری اطلاعات پیکربندی را دریافت کرده و سپس هسته لینوکس یا سیستم‌عامل دیگری را بارگذاری می‌کند و ادامه فرایند بوت را به آن می‌سپارد. قبلا دو مقاله برای آشنایی بیشتر با نحوه مدیریت و پیکربندی این دو مدیر بوت منتشر کرده‌ام که می‌توانید آنها را در بخش مقالات سایت مطالعه نمایید.

مهمترین تفاوت بین لیلو و گراب در نحوه دریافت اطلاعات پیکربندی است. فایل پیکربندی لیلو با اجرای دستور lilo بصورت ثابت ذخیره می‌گردد. این اطلاعات یا در رکورد بوت اصلی (MBR یا Master Boot Record) دیسک یا در رکورد بوت پارتیشن لینوکس ذخیره می‌شود. اطلاعات پیکربندی که توسط دستور lilo استفاده می‌شود، عموما در فایل etc/lilo.conf ذخیره می‌شود. در زیر یک مثال از این فایل پیکربندی را مشاهده می‌نمایید.

boot=/dev/hda boot loader to MBR

root=/dev/hda۱ root partition

install=/boot/boot.b

map=/boot/map

delay=۵۰ ۵ second delay before auto-boot

image=/vmlinuz kernel

label=linux name to refer to entry

read-only

image=/vmlinuz.old backup entry

label=old

read-only