محمد نصیری
بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

آموزش تعمیر GRUB با دیسک نجات لینوکس (Linux Rescue Environment)

اگر با سیستم عامل ویندوز کار کرده باشید حتما به این مشکل برخورد کرده اید که در هنگام بوت شدن سیستم پیامی به شما داده می شود که بصورت NTLDR Missing یا ... نمایش داده می شود که نمایانگر بروز مشکل در Boot Loader ویندوز است. همانطور که قبلا هم در خصوص Boot Loader لینوکس صحبت کردیم و گفتیم که GRUB یک Boot Loader قوی و قدرتمند برای لینوکس است متاسفانه برخلاف ویندوز زمانیکه Boot Loader لینوکس به مشکل بخورد معمولا پیغام خطای خاصی به شما داده نمی شود و تنها چیزی که شما در صفحه مشاهده می کنید صفحه ای مشکی است به صورت زیر که سیستم در حال پیدا کردن دستگاه Bootable است و آن را پیدا نمی کند.

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

در چنین شرایطی لینوکس ما دیگر Boot نخواهد شد و فرآیند Boot آن به دلیل خراب شدن GRUB به مشکل خورده است. امروز می خواهیم راجع به یکی از قابلیت های بسیار خوب لینوکس به نام Linux Rescue Environment صحبت کنیم ، قابلیتی که لینوکس به ما داده است تا در صورت بروز چنین شرایطی و خراب شدن سیستم عامل و یا Boot Loader سیستم عامل بتوانیم از آن استفاده کنیم و تعمیرات لینوکس را بدون نگرانی از Boot نشدن سیستم عامل اصلی انجام دهیم.

Linux Rescue Mode یا Linux Rescue Environment چیست ؟

Linux Rescue Mode یا Linux Rescue Environment همانطور که از نامش هم پیداست محیط یا حالتی است که شما می توانیم لینوکس خود را نجات دهید ( باور کنید الان متوجه نمیشید وقتی توی کار واقعی به مشکل خوردید دقیقا متوجه میشید به خداااااا ) . Linux Rescue Mode به شما این قابلیت را می دهد که یک سیستم عامل لینوکس بسیار کوچک که به سیستم عامل اصلی لینوکس نصب شده روی سیستم شما هیچ ارتباطی ندارد را توسط CD-ROM یا DVD-ROM سیستم بوت کنید و به محتویات سیستم عامل نصب شده از جمله فایل های لینوکس نصب شده روی هارد دیسک دسترسی پیدا کنید.

همانطور که می دانید و قبلا هم در انجمن تخصصی فناوری اطلاعات ایران در این خصوص صحبت کرده ایم تمامی سیستم عامل لینوکس فایل است و در صورتیکه شما بتوانید به این فایل ها دسترسی پیدا کنید می توانید در آنها پیکربندی و مشکلات آنها را برطرف کنید. Linux Rescue Mode هیچ کاری به هارد دیسک شما ندارد و بر روی هارد دیسک شما نصب نمی شود و در واقع می توان از آن به یک نوع سیستم عامل Live نام برد. بنابراین محتویات آن فقط در RAM باقی مانده و بعد از Restart شدن هیچ چیز از آن باقی نمی ماند.

برای اینکه بتوانید از Linux Rescue Mode استفاده کنید کافیست DVD یا CD نصب سیستم عامل لینوکسی که در حال حاضر به مشکل خورده است را در اختیار داشته باشید و به هنگام بوت یا در خط فرمان دستور زیر را برای ورود به Rescue Mode وارد کنید و یا اینکه از طریق منوهایی که به شما ارائه می شوند می توانید براحتی وارد حالت Rescue Mode شوید. دقت کنید که پیشنهاد می شود که حتما از DVD یا CD لینوکسی استفاده کنید که در حال حاضر دچار مشکل شده است تا هماهنگی بیشتری بین سیستم عامل ها وجود داشته باشد البته این امر الزامی نیست. در سیستم عامل های لینوکس قدیمی تر در صورتیکه Boot Loader سیستم عامل شما به مشکل می خورد شما فقط می بایست با استفاده از ابزارهای دستوری مجددا GRUB را نصب می کردید اما امروزه اکثر توزیع های لینوکس بصورت گرافیکی قابلیت تعمیر کردن GRUB و نصب مجدد آن را به شما می دهند.

تشریح سناریوی تخریب و بازسازی GRUB با استفاده از Linux Rescue Mode

همانطور که تاکنون نیز از لینوکس Debian به عنوان لینوکس کارگاهی استفاده کرده ایم امروز نیز از همین لینوکس به عنوان لینوکس اصلی استفاده می کنیم و همچنین از Rescue Mode مربوط به همین سیستم عامل نیز استفاده خواهیم کرد. با توجه به اینکه انتظار نداریم که شما سیستم عامل خراب شده را در حال حاضر داشته باشید بنابراین اولین گام در تست Linux Rescue Mode ما خراب کردن GRUB در سیستم عامل Debian ای است که در حال حاضر کار می کند بنابراین مشابه تصویر زیر ابتدا وارد سیستم عامل اصلی خود که بر روی هارد دیسک نصب شده است بشوید و با استفاده از دستور زیر GRUB سیستم عامل را تخریب کنید :

root@itpro-debian:/#dd if/dev/zero of=/dev/sda bs=1 count=446

 

تصویر اول روش تخریب GRUB سیستم عامل لینوکس

اصلا به این موضوع دقت نکنید که دستور بالا دقیقا چه کاری را قرار است انجام دهد و جزئیات آن اصلا مهم نیست ، مهم این است که با استفاده از دستور بالا فایل Boot Loader لینوکس شما یا همان GRUB تخریب می شود و بعد از Reboot شدن سیستم عامل لینوکس Debian شما دیگر سیستم قادر به شناسایی سیستم عامل و بوت شدن نیست ، به تصویر زیر دقت کنید ، بعد از اجرای دستور بالا و Reboot کردن سیستم عامل دیگر سیستم Boot نمی شود و پیام زیر به شما نمایش داده می شود :

تصویر دوم بوت نشدن سیستم عامل لینوکس

خوب بعد از اینکه با تصویر بالا مواجه شدید کافیست DVD یا CD بوت سیستم عامل Debian را در داخل دستگاه قرار دهید ، همانطور که در تصویر پایین مشاهده می کنید صفحه نصب سیستم عامل به شما نمایش داده می شود اما اینبار قرار نیست شما سیستم عامل را نصب کنید بلکه قرار است آن را تعمیر کنید بنابراین در تصویر پایین بر روی گزینه Advanced Options کلید Enter را بزنید و به مرحله بعدی بروید.

تصویر سوم انتخاب Advanced Options در بوت سیستم عامل لینوکس

بعد از انتخاب گزینه Advanced Options همانطور که در تصویر زیر مشاهده می کنید بایستی بر روی گزینه Rescue Mode کلید کنید تا مراحل اجرای Rescue Mode انجام شوند. توجه کنید که ما تمامی کارهای خودمان را از طریق محیط خط فرمانی یا Command Line ای Rescue Mode انجام می دهیم اما شما می توانید با انتخاب گزینه Graphical Rescue Mode بصورت گرافیکی یک لینوکس Rescue را بوت کنید و به محتویات هارد دیسک خود دسترسی پیدا کنید ، ترجیح ما استفاده از محیط خط فرمان است . گزینه Rescue Mode را انتخاب کنید و Enter را بزنید.

 

تصویر چهارم انتخاب Rescue Mode در بوت سیستم عامل لینوکس

بعد از اینکه در تصویر بالا گزینه Rescue Mode را انتخاب کردید چند مرحله را مشاهده خواهید کرد که ترجیحا در خصوص آنها صحبتی نمی کنیم ، در این مراحل از شما در خصوص هارد دیسکی که در آن سیستم عامل شما نصب شده است ، آدرس Default Gateway ، آدرس دامین ، اسم سیستم و برخی دیگر از موارد سئوال می شود که شما کافیست فقط کلید Enter را بزنید و Continue کنید. دقت کنید تنها در مواردی نیاز است که آدرس هارد دیسک را عوض کنید که شما مطمئن هستید سیستم عامل لینوکس شما در هارد دیسک و پارتیشن پیشفرض نصب نشده است ، در غیر اینصورت باید همان پارتیشنی را انتخاب کنید که در آن لینوکس شما نصب شده است ، در بیشتر موارد این گزینه به شکل devsda1 به شما نمایش داده می شود.

 

تصویر پنجم انتخاب هارد دیسک و پارتیشن در لینوکس
تصویر ششم انتخاب گزینه Reinstall GRUB boot loader در محیط Rescue Mode  لینوکس

بعد از اینکه مراحل Boot در Rescue Mode سیستم عامل Debian انجام شد شما با تصویر بالا مواجه می شوید ، مهمترین گزینه هایی که ما در اینجا بحث می کنیم Execute a shell in //dev//sda1 و Reinstall GRUB boot loader است. همانطور که متوجه شدید در این حالت دیگر نیازی به وارد کردن دستورات برای تعمیر کردن و نصب مجدد GRUB نیست و شما براحتی با انتخاب کردن گزینه Reinstall GRUB boot loader می توانید مشکل بوت سیستم عامل لینوکس Debian خود را برطرف کنید. بنابراین برای اینکه مطمئن شویم کارمان درست است گزینه Reinstall GRUB boot loader را انتخاب کنید و سیستم را Reboot کنید ، متوجه خواهید شد که سیستم عامل شما به درستی اینبار از روی هارد دیسک بوت خواهد شد و مشکلی پیش نمی آید. اما هدف ما استفاده از محیط خط فرمان برای رفع این مشکل بود بنابراین به ابتدای این آموزش برگردید و یکبار دیگر فایل GRUB را تخریب کنید و اینبار به جای اینکه بصورت گرافیکی GRUB را نصب کنیم می خواهیم بصورت دستی و با خط فرمان اینکار را انجام دهیم.

 

تصویر هفتم انتخاب گزینه Execute a shell in the installer environment  در Rescue Mode لینوکس

برای اینکه بتونیم بصورت خط فرمانی GRUB رو تعمیر کنیم اینبار بعد از Boot شدن سیستم در حالت Rescue Mode گزینه Execute shell in the installer environment رو انتخاب می کنیم با انتخاب این گزینه با تصویر زیر مواجه میشیم که از ما هارد درایو یا بهتر بگیم پارتیشنی رو میپرسه که لینوکس ما روش نصب شده و تخریب شده ، به تصویر زیر دقت کنید :

 

تصویر هشتم انتخاب کردن پارتیشن سیستم عامل لینوکس در Rescue Mode لینوکس

در تصویر بالا طبق مواردی که از قبل به شما گفته شد ، شما باید پارتیشنی رو انتخاب کنید که Rescue Mode بتونه از طریق اون فایل های سیستم عاملی که نصب شده رو پیدا کنه یا در اصطلاح میگیم باید پارتیشن لینوکس روی هارد دیسک ما به Rescue Mode در حالت Mount قرار بگیره ، بعد از اینکه در تصویر بالا مشابه شکل dev//sda/رو وارد کردید و بر روی Continue کلید کردید با یک محیط Shell مواجه خواهید شد.

 

تصویر نهم نصب GRUB در حالت Rescue Mode لینوکس

در محیط Shell ای که به شما نمایش داده شد با استفاده از وارد کردن دستور grub-install //dev//sda شما boot loader جدید GRUB رو در محل تعریف شده بصورت دستی نصب خواهید کرد ، دستور باید با نتیجه ای که در شکل بالا مشاهده می کنید یعنی Installation finished و No Error تموم بشه ، و بعد کافیه که شما سیستم را Reboot کنید و سیستم عامل خراب شده شما به درستی Boot خواهد شد. امیدوارم مورد توجه شما قرار گرفته باشد. ITPRO باشید

نویسنده : محمد نصیری

منبع : جزیره لینوکس و سیستم های متن باز وب سایت توسینسو

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


محمد نصیری
محمد نصیری

بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

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

نظرات