ورود/ایجاد حساب کاربری
   منوی اصلی
· خانه
· لیست کاربران
· جستجو
· آمار مشاهدات
· آرشیو مقالات


- شرح
· راهنمای نویسندگان
· درباره ما

   همکاری با نشریه
در صورتی که مایل به همکاری با نشریه هستید، می‌توانید در لیست پستی نشریه عضو شده و در جریان امور قرار گیرید. برای اطلاعات بیشتر، اینجا کلیک کنید.

   کاربران
سردبیر
هیچ مدیر کمکی حاضر
همکاران
هیچ مدیر کمکی حاضر
اعضا:
جدیدترین:جدید امروز:0
جدیدترین:جدید دیروز:0
جدیدترین:مجموع:2471
جدیدترین:جدیدترین:
ufumenarayu
اعضا:حاضر
اعضا:اعضا:0
مهمان‌ها:مهمان‌ها:1
مجموع:مجموع:1
کاربران حاضر
هیچ کاربر حاضری وجود ندارد

   ورود کاربران




 


 برای ورود مشکل دارید؟
 ثبت نام کاربران جدید

احیای مدیر بوت گراب

(721 مجموع کلمات موجود در متن)
(7024 بار مطالعه شده است)  نسخه چاپی

احیای مدیر بوت GRUB


برای هر کاربر گنو/لینوکس یا بطور کلی هر کاربر رایانه‌ای که سیستمی بـا چند سیستم‌عامل دارد پیش می‌آیـد کــه بــه دلایل مختلف مدیر بوت سیستم [۱] دچار مشکل شده و سیستم امکان بــوت شــدن بــه سیستم‌عاملهای مختلف را از دست می‌دهد. این حالت به طور معمول زمانی بروز می‌کند کـه سیستم‌عامل جدیدی نصب می‌شود. متداولترین موارد، نصب یک نسخه از سیستم‌عاملهای ویندوز مایکروسافت یا نصب یک توزیع دیگر گنو/لینوکس بر روی سیستم است.

در مــورد سیستم‌عاملهای ویندوز بــه ایــن دلیــل کـه این سیستم‌عاملها امکان بوت چندگانه با سیستم‌عاملهایی غیر از خانواده سیستم‌عاملهای ویندوز مایکروسافت را ندارند، اختیار بوت سیستم را از مــدیر بوت گنو/لینوکس می‌گیرند. اما در مورد توزیعهای مختلف گنو/لینوکس، ممکن است این مشکل به دلایل متـفاوتی بروز کند. در این نوشته راه‌حلی برای رفع این مشکل و بازیابی تنظیمات یک مدیر بوت ارائه می‌کـنـیم. بــا وجــود ایـنـکه در سایتهای مختلف و به روشهای گوناگون راه‌حل‌هایی برای حل این مشکل ارائه شده اما به نظر می‌رسد ارائـه یـکـجـا و یـکـباره راه‌حل ایده بدی نباشد. گذشته از این، اضافه کردن یک راه‌حل به راه‌حلهای قبلی کار مضمومی نیست!


فرض بر این است که سیستم تنها یک هارد دیسک دارد و به عنوان مدیر بوت هم از GRUB استفاده می‌کند. سیستم را با یک هارد دیسک در نظر گرفته‌ام زیرا وجود بیش از یک هارد دیسک بر روی سیستم حالات بروز چنین مشکلی را متنوع و ارائه راه‌حل برای آن را پیچیده می‌کند. مدیر بوت GRUB هم به این دلیل انتخاب شده است که بیشتر توزیعهای جدید از این مدیر بوت استفاده می‌کنند. مدیر بوت GRUB امکانات متنوعی دارد و در نسخــه‌های اخـیــر کـمـتـر پـیـش آمده که در شناسایی سیستم‌عاملهای گوناگون دچار اشتباه شود.


از این مقدمات که بگذریم می‌رسیم به راه‌حــل؛ فرض کنید که شما یک توزیع گنو/لینوکس بر روی اولین پارتیشن منطقی [۲] هارد دیسک خود نصب کرده‌اید که مدیر بوت GRUB نصب شده بـــا این توزیع، کنترل بوت سیستم را بـرعهده دارد. به هر دلیل این مدیر بوت صدمه دیده و شما قصد احیای آن را دارید.


اولین کاری که باید انجام دهید این است که سیستم را بــا یــک دیسک زنــده بــوت کنید. من از پارسیکس [۳] استفاده کردم. اما تمام مراحل، غیر از یک قسمت، می‌بایست در سایر دیسکهای زنده هم به همین ترتیب باشد.


مشکل‌ترین بخش کار و اختلافی کــه در دیسکهای زنــده گوناگون وجود دارد در ایـن بـخـش است. یعنـی در یافتن نام پارتیشنی که GRUB مورد نظر ما برای احیا، در آن پارتیشن نصب شده است.

به خاطر دارید کـه ما قصد احیای GRUB نصب شده بر اولین پارتیــشن منطقی [۲] روی هــارد دیسـک را داریــم. نــوع نامگذاری پارتیشنهای یک دیسک سخت IDE ما را به این نتیجه می‌رساند کـه نـام ایــن پـارتـیـشـن hda5 است یا چنین کاراکترهایی در نام پارتیشن وجود دارد. بــرای اطلاع از نــوع نــامــگـذاری پارتیشنهای هارد دیسک مقاله "نحوه نامگذاری پارتیشنها در لینوکس" [۴] را بخوانید. لینوکس سخت‌افزارهای متصل شده به سیستم را در دایرکتوری dev ثبت می‌کند. بنابراین شما می‌بایست در این دایرکتوری بدنبال نام کامل پارتیشن مورد نظر خود یعنی hda5 باشید.

در دیسک زنده پارسیکس درون دایرکتوری dev نام پارتیشنهای دیســـک سخت در یـــک زیردایرکتوری [۵]به نام disk به چهار شکل و در چهار دایرکتوری ثبت شده است. که ما از دایــرکـتوری by-id استفاده می‌کنیم و در این دایرکتوری بدنبالpart5 می‌گردیم.


نام کامل hda5 مشخص شده است.

وقتی که نام کامل پارتیشن مورد نظر خود را یافتیم، بــا دســتـور mount آن را به دایرکتوری media/hda5/ متصل می‌نماییم. به عنوان مثال برای هارد دیسک سیستم من که در تصویر می‌بینید:

# mount /dev/disk/by-id/ata-Maxtor_4D040H2_D24H1D5E-part5 /media/hda5


در صورتی کــه بــرای پیدا کردن پارتیشن نصب شده خــود بـاز هم مشکل دارید، راه حل دیگری نیز وجود دارد. پارسیکس هنگام بوت تمامی پارتیشن‌های دیسک سخت را شناســایی و در fstab اضافه می‌کنـد. بــا کلیک روی آیکون کامپیوتر بر روی میزکار می‌توانید ببینید که چه پارتیشن‌هایی وجود دارد. با کلیک روی هرکدام خواهید توانست محتویات آنــرا دیده و سپس پارتیشن محل نصب خود را پیدا کنید (پارتیشنی خواهد بود که در آن تمامی شاخه‌های اصلی سیستم مانـنـد boot، dev، lib و... وجود دارند). پس از پیدا کردن پارتیشن ریشه، مجددا با کلیک راست بر روی آیکون آن که اینبار بر روی میزکار ایجاد شده است، آنرا unmount کرده و سپس دستور زیر را بصورت کاربر ریشه وارد کنید (فرض می‌کنیم پارتیشن ریشه همان hda5 می‌باشد):

# mount /dev/hda5 /media/hda5

حالا با دستور chroot مسیر media/hda5/ را به عنوان مسیر root جدید معرفی کنید:

# chroot /media/hda5

کار نزدیک به انجام است. فقط دو دستور دیگر باقی مانده:

# grub-install /dev/hda
# exit

GRUB نصب شده بر روی توزیع گنو/لینوکس موجود بر پارتیشن hda5 احیا شده است. توجه داشته باشید که فرض ما بر این است که لینوکس هارد دیسک IDE سیستم شما را با نام hda شناخته است. ممکن است لینوکس به دلایلی هارد دیسک IDE سیستم شما را hda نشناسد و مثلاً hdc شنــاسایی کــند. یا اینکه هارد دیسک سیستم شما از نوع IDE نباشد که دیگر خارج از بحث ماست. در این حالت بجای hda در دستور بالا باید نام هارد دیسک خود را بگذارید. این روش با توزیعهای دبیان، اوبونتو، پارسیکس و زوزه امتحان شده و موثر بوده است.

بهنام بهجت مرندی blixbox@gmail.com


PDF Version

[۱] Boot Loader
[۲] Logical
[۳] http://www.parsix.org/
[۴] http://technotux.org/html/modules.php?op=modload&
name=Sections&file=index&req=viewarticle&artid=48&page=1

[۵] Sub Directory

تمامی مطالب و مقالات این سایت تحت مجوز GNU FDL قرار دارند. بنابراین کپی و ایجاد تغییر در آنها مطابق شرایط این مجوز آزاد می‌باشد.