امیرحسین کریم پور
مدیر ارشد توسینسو و متخصص سرویس های مایکروسافت

معرفی نکات مهم در برطرف کردن مشکل بوت ( Boot ) لینوکس

تمامی سیستم عامل های دسکتاپ نظیر ویندوز ، یونیکس ، MAC OS و ... میتوانند هنگام بوت شدن دچار مشکل شوند ، سیستم عامل لینوکس نیز از این قاعده مستثنی نیست. اگر سرور لینوکسی تان صفحه لاگین را هنگام استارتاپ نمایش ندهد لینوکس شما با مشکل Boot شدن مواجه شده است. برای حل این مشکل بایستی موشکافانه مراحل بوت شدن لینوکس را بررسی کنید و علت مشکل را یافته و آنرا برطرف کنید. به طور کلی اولین چیزی که بعد از آغاز به کار یا بعبارت فنی Initialize شدن موفق سخت افزار های سیستم تان اتفاق می افتد بارگزاری شدن بوت لودر GRUB در حافظه RAM است .

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

بسته به پیکربندی GRUB دو راه برای مشاهده اینکه GRUB بصورت موفق از MBR بارگزاری شده است وجود دارد . روش اول استفاده از Boot menu است که در واقع به شما OS هایی را نشان میدهد که روی هارد دیسک نصب کرده اید و به شما امکان انتخاب یکی از OS ها را برای بوت شدن می دهد، راه بعدی هم مشاهده اینکه کرنل لینوکس با موفقیت بارگزاری می شود است . پس اگر هنگام بوت شدن لینوکس چیز مشکوکی را در صفحه مشاهده نکردید میتوانید مطمئن شوید که مشکل سخت افزاری وجود ندارد و مشکل به احتمال زیاد ناشی از بوت لودر GRUB است ، اما توجه کنید که مشکل به MBR نیز مربوط می شود .

بعد از Load یا بارگزاری شدن GRUB همانطور که انتظار می رود کرنل سیستم عامل لینوکس در حافظه RAM بارگزاری می شود . Kernel یا هسته سیستم عامل سخت افزار های سرور شما را Initialize می کند . کرنل توسط برنامه ای به نام initrd یا RamFS قادر به فعالیت می باشد و وجودش برای کرنل ضروری است زیرا اگر initrd نباشد درایور ها و سرویس های مورد نیاز کرنل Load نمی شوند. به طور معمول initrd با مشکل مواجه نمی شود اما ممکن است بعد از Upgrade کردن Kernel لینوکس به مشکل بخورد که در این صورت دوباره با موفقیت ایجاد نمی شود ، اگر این اتفاق بیفتد شما با پیغام Kernel panic مواجه می شوید و سرور به هیچ دستور ورودی به سیستم واکنش نشان نخواهد داد.

اما این را نیز به خاطر داشته باشید که خطای Kernel panic توسط عوامل زیادی ممکن است بروز دهد و محدود به initrd نمی شود . خب بعد از اینکه kernel و initrd با موفقیت بارگزاری شدند پراسس Init یا Systemd بارگزاری و اجرا می شود. پراسس Init و یا Systemd (در لینوکس های جدید) مشهور به مادر تمام پراسس های لینوکس است. پراسس Init باعث می شود تا سایر پراسس ها و سرویس ها نیز اجرا شوند. فهمیدن اینکه دقیقا چه زمانی پراسس Init آغاز و اجرا می شود خیلی دشوار است اما شما بایستی بدانید که تمامی پراسس هایی که در لینوکس اجرا می کنید وابسته به پراسس Init هستند.

در پروسه Load شدن Init دو sub-stage وجود دارد. اولین Stage یا مرحله بارگزاری پراسس های اساسی لینوکس است. برای مثال Mount کردن پارتیشن یا بعبارتی فایل سیستم ها و نیز ایجاد فایل های درایور ها توسط udev در شاخه dev/ می باشد. به طور معمول اگر مشکلی در این مرحله از پروسه بوت شدن لینوکس بوجود بیاید یک پیغام یا Prompt به شما نشان داده می شود و از شما خواسته می شود تا پسورد کاربر Root را وارد کنید تا وارد محیط Recovery mode شوید .

در دومین مرحله از این sub-stage سرویس های لینوکس به اجرا در می آیند. هنگام شروع مرحله دوم از بوت شدن لینوکس یک پیغام با مضمون initializing run level n به سرعت نمایش داده می شود توجه کنید که n در اینجا شماره Runlevel است که اگر سرور لینوکسی داشته باشید قطعا این شماره 3 خواهد بود. هنگامی که شما این پیغام را مشاهده کنید یک سرور آماده به کار و عملیاتی دارید و میتوانید با لاگین کردن به سرور سرور لینوکسی تان را مدیریت کنید .

حال اگر در این مرحله مشکلی بوجود بیاید شما با یک پیغام error مواجه خواهید شد اما با این حال پروسه بوت شدن ادامه پیدا می کند . این گونه مشکلات در سیستم عامل لینوکس مشکلات ساده ای هستند که براحتی قابل حل شدن هستند . شما برای برطرف کردن مشکل بوجود آمده از این مرحله از بوت شدن لینوکس به یک Rescue CD مثل لینوکس Knoppix نیاز دارید که می توانید یک فلش را Bootable کرده و Knoppix و یا Ubuntu ی Live را درون آن ریخته و سرور را با آن فلش Boot کنید و مشکل را برطرف بسازید.

نویسنده : امیرحسین کریم پور

منبع : linux.tosinso.com

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی میباشد


امیرحسین کریم پور
امیرحسین کریم پور

مدیر ارشد توسینسو و متخصص سرویس های مایکروسافت

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

نظرات