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

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

در دو مقاله اخیر تحت عناوین ریکاوری کردن سرور لینوکس با Knoppix Rescue Disk و نکات مهم در خصوص برطرف کردن مشکلات Boot نشدن سیستم عامل لینوکس شما دانش پیش زمینه درباره برطرف کردن مشکلات Boot نشدن سیستم عامل گنو لینوکس کسب کردید . در این مقاله می آموزید که چگونه مشکلات Boot نشدن گنو لینوکس را که ناشی از با مشکل مواجه شدن بوت لودر GRUB است برطرف کنید . پس این مقاله به درد کسانی میخورد که گنو لینوکس آنها از GRUB پشتیبانی می کند ، هر چند که امروزه دیگر به ندرت می توان یافت که یک لینوکس از GRUB پشتیبانی نکند . دلایلی که می تواند باعث با مشکل مواجه شدن GRUB شود به شرح زیر است :

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

1 - GRUB به طور کامل پاک شده است و شما به جر cursor چشمک زن هنگام بوت شدن لینوکس چیزی را مشاهده نمی کنید .

2 - GRUB با پیغام های خطای معمول همراه می باشد .

3 - GRUB نمی تواند فایل های مورد نیاز خود را پیدا کند .

اگر شما این چنین مشکلاتی را با GRUB در سیسام عامل گنو لینوکس تان دارید دو راهکار برای حل این مشکل دارید یکی اینکه GRUB را مجددا نصب یا Re-Install کنید و دیگری اینکه به صورت دستی در خط فرمان GRUB را Load کنید . در این مقاله نحوه عملیاتی کردن هر دوی این راهکار ها را به شما یاد می دهیم .

راهکار اول : نصب مجدد GRUB

اگر شما با مشکل جدی هنگام بوت شدن سیستم مواجه هستید و بوت سکتور MBR سیستم تان با مشکل روبرو است خیلی شایع است که هنگام Boot شدن سیستم cursor چشمک زن را مشاهده کنید . در این گونه مواقع شما خطای ناشی از بوت لودر GRUB را دریافت نخواهید کرد و سیستم شما حتی قادر به Boot شدن هم نخواهد بود . پس همانطور که احتمالا حدس میزنید چاره این مشکل Boot کردن گنو لینوکس با یک Rescue Disk مثل Knoppix است . اطمینان حاصل کنید تمام پارتیشن هایتان که روی هارد دیسک است به سیستم به صورت صحیح Mount شده اند بعد وارد محیط chroot شوید و با اجرای دستور grub-install اقدام به نصب مجدد بوت لودر GRUB کنید ، در این جا فرض را بر این می گیریم که هارد دیسک شما نامش sda می باشد پس برای نصب GRUB در این پارتیشن دستور زیر را بکار می بریم :

~:# grub-install /dev/sda

دستور فوق کاری که انجام می دهد این است که از مسیر bootgrubmenu.lst/ فایل پیکربندی GRUB را می خواند و یک GRUB جدید و سالم را روی MBR مینویسد . خروجی دستور فوق به صورت زیر است :

root@Knoppix:/# grub-install /dev/sda You shouldn't call/sbin/grub-install.
Please call /usr/sbin/grub-install instead! Searching for GRUB installation
directory ... found: /boot/grub Installation finished. No error reported. This
is the contents of the device map /boot/grub/device.map. Check if this is
correct or not. If any of the lines is incorrect, fix it and re-run the script
'grub-insteall'. (hd0) /dev/sda

راهکار دوم : Boot کردن سیستم بصورت دستی با GRUB

همیشه لازم نیست که GRUB را مجددا نصب کنیم . اگر کد GRUB در سیستم موجود باشد اما در فایل پیکربندی GRUB تان مشکلی وجود داشه باشد سیستم شما قادر به بوت شدن نخواهد بود و در این گونه مواقع چاره ای جز Reboot کردن سیستم نخواهید داشت . حال بعد از Reboot شدن سیستم مراحل زیر را به ترتیب دنبال کنید :

1 - برای ورود به منوی بوت GRUB کلید Escape و یا کلید E را از روی کیبورد فشار دهید تا فایل GRUB نشان داده شود و بتوانید آنرا ویرایش کنید . شما همچنین می توانید با یک Rescue Disk گنو لینوکس هم GRUB را باز کرده و ویرایش کنید.

2 - خوشبختانه شل GRUB به شما این امکان را می دهد تا از Help آن استفاده کنید . اما شما نیاز نخواهید داشت تا تمام دستورات را از حفظ باشید . برای دیدن دستوراتی که می توانید در محیط خط فرمان GRUB از آنها استفاده کنید دستور help را تایپ و اجرا کنید .

3 - Load کردن دستی GRUB نیازمند این است که تمامی پارامتر ها از فایل bootgrubmenu.lst/ اجرا شوند. برای مشاهده فایل menu.lst از دستور زیر می توانید استفاده کنید :

:~# cat /boot/grub/menu.lst

4 - حال پارامتر های زیر را باید جایگزین پیکربندی های قبلی GRUB کنید :

root (hd0,0) kernel /boot/vmlinuz-2.6.24-16-server root=/dev/sda2 ro
splash initrd /boot/initrd-2.6.24-16-server

5 - بعد از وارد کردن پارامتر های فوق در فایل menu.lst تنظیمات را ذخیره کنید و سیستم را مجددا Boot کنید و اطمینان بیابید که این بار هیچ پیغام خطایی در صفحه نمایش ظاهر نمی شود اگر باز هم پیغام خطا ظاهر شد مجددا برگردید و مرحله قبل را چک کنید.

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

منبع : linux.tosinso.com

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


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

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

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

نظرات