اگر لینوکس پس از بهروزرسانی، نصب درایور یا تغییر تنظیمات دیگر بوت نمیشود، لزوماً به معنی خرابشدن کامل سیستمعامل نیست. در بسیاری از موارد میتوان با انتخاب یک نسخه قدیمیتر از کرنل، ورود به حالت بازیابی یا اجرای سیستم با حداقل سرویسها، مشکل را برطرف کرد؛ حتی اگر محیط گرافیکی یا صفحه ورود لینوکس اجرا نشود.
این روشها از طریق منوی بوت GRUB یا پارامترهای راهاندازی کرنل در دسترس هستند. بعضی از آنها برای کاربران مبتدی مناسباند و برخی دیگر به آشنایی با ترمینال و دسترسی مدیر سیستم نیاز دارند.
چگونه از منوی GRUB برای تعمیر لینوکس استفاده کنیم؟
GRUB بوتلودر بسیاری از توزیعهای لینوکس است و پیش از اجرای سیستمعامل، امکان انتخاب کرنل و تغییر موقت پارامترهای بوت را فراهم میکند. اگر سیستم وارد محیط دسکتاپ نمیشود، ممکن است بتوانید از همین منو به ابزارهای بازیابی دسترسی پیدا کنید.
برای نمایش منوی GRUB، رایانه را راهاندازی مجدد کنید. در بسیاری از سیستمهای اوبونتو با نگهداشتن کلید Shift در سیستمهای BIOS یا چند بار فشردن کلید Esc در سیستمهای UEFI میتوان منو را نمایش داد. زمان فشردن کلیدها به دستگاه و توزیع لینوکس بستگی دارد.
بوت کردن لینوکس با کرنل قدیمیتر
اگر مشکل پس از بهروزرسانی کرنل یا نصب درایور جدید شروع شده است، اجرای نسخه قبلی کرنل میتواند راهحل سادهای باشد. معمولاً نسخههای قبلی تا زمانی که دستی حذف نشده باشند، در منوی GRUB باقی میمانند.
در منوی بوت، وارد بخش زیر شوید:
Advanced options for Ubuntu
سپس یکی از نسخههای قدیمیتر کرنل را انتخاب کنید که عبارت Recovery Mode کنار آن نباشد. اگر سیستم با کرنل قدیمی بوت شد، احتمال دارد مشکل از نسخه جدید کرنل یا سازگاری یکی از درایورها باشد. در این وضعیت میتوانید درایور یا بسته مشکلساز را بررسی کنید و پیش از حذف نسخه قدیمی، از عملکرد صحیح سیستم مطمئن شوید.
ورود به Recovery Mode برای تعمیر لینوکس
حالت بازیابی یا Recovery Mode برای زمانی مناسب است که لینوکس بهصورت عادی اجرا نمیشود، اما هنوز امکان دسترسی به ابزارهای تعمیر وجود دارد. در اوبونتو معمولاً از منوی GRUB وارد بخش Advanced options for Ubuntu شوید و نسخهای از کرنل را که عبارت Recovery Mode دارد انتخاب کنید.
پس از بارگذاری منوی بازیابی، بسته به نسخه توزیع ممکن است گزینههایی مانند این موارد را ببینید:
- fsck: بررسی و تلاش برای تعمیر خطاهای فایلسیستم.
- dpkg: تعمیر یا تکمیل نصب بستههای نرمافزاری.
- network: فعالکردن شبکه برای دریافت بستهها یا ابزارهای موردنیاز.
- root: ورود به ترمینال با دسترسی مدیر سیستم.
اگر گزینه root را انتخاب کردید و قصد تغییر فایلهای سیستمی را دارید، ممکن است لازم باشد پارتیشن ریشه را از حالت فقطخواندنی به حالت خواندن و نوشتن تغییر دهید:
mount -o remount,rw /
این دستور را فقط زمانی اجرا کنید که مطمئن هستید پارتیشن ریشه درست شناسایی شده است.
استفاده از Rescue Mode و Emergency Mode برای رفع مشکل بوت لینوکس
اگر منوی بازیابی توزیع شما در دسترس نیست یا میخواهید مستقیماً وارد محیط تعمیر شوید، میتوانید از هدفهای راهاندازی systemd استفاده کنید. این روش در توزیعهایی که از systemd استفاده میکنند کاربرد دارد و با ویرایش موقت پارامترهای بوت GRUB انجام میشود.
اجرای لینوکس در Rescue Mode برای غیرفعالکردن سرویس معیوب
Rescue Mode سیستم را با سرویسهای محدودتری نسبت به حالت عادی اجرا میکند و امکان دسترسی به ترمینال را برای تعمیر فراهم میسازد. اگر یک سرویس، برنامه پسزمینه یا تنظیمات سیستمی باعث متوقفشدن فرایند بوت شده باشد، این حالت میتواند مفید باشد.
برای استفاده از آن، در منوی GRUB ورودی لینوکس را انتخاب کنید و کلید e را فشار دهید. خطی را پیدا کنید که پارامترهای کرنل در آن قرار دارند و عبارت زیر را به انتهای آن اضافه کنید:
systemd.unit=rescue.target
سپس با کلیدهای نمایشدادهشده در پایین صفحه، سیستم را با تنظیمات ویرایششده بوت کنید. روش اجرای ورودی ویرایششده در GRUB ممکن است بسته به نسخه آن متفاوت باشد.
پس از ورود به محیط تعمیر میتوانید سرویس مشکوک را بررسی یا غیرفعال کنید. این تغییر فقط برای همان بار بوت اعمال میشود و تنظیمات دائمی GRUB را تغییر نمیدهد.
ورود به Emergency Mode برای تعمیر خطاهای جدی سیستم
Emergency Mode نسبت به Rescue Mode محیط محدودتری ارائه میدهد و برای بررسی مشکلاتی مناسب است که مانع راهاندازی سرویسهای ضروری یا اتصال فایلسیستمها میشوند. به عنوان مثال، تنظیم اشتباه در فایل /etc/fstab ممکن است باعث توقف بوت شود.
برای ورود به این حالت، مانند روش قبلی پارامترهای بوت را در GRUB ویرایش کنید؛ اما این بار عبارت زیر را اضافه کنید:
systemd.unit=emergency.target
در محیط بازشده میتوانید فایلهای پیکربندی را بررسی کنید. اگر قصد ویرایش فایلها را دارید، ممکن است لازم باشد پارتیشن ریشه را به حالت خواندن و نوشتن تغییر دهید:
mount -o remount,rw /
پس از اصلاح فایل مشکلساز، سیستم را مجدداً راهاندازی کنید. این حالت به دلیل محدودبودن سرویسها برای تعمیر خطاهای جدی مناسب است، اما برای استفاده روزمره طراحی نشده است.
استفاده از init=/bin/sh در شرایط اضطراری
اگر حتی Rescue Mode و Emergency Mode هم اجرا نمیشوند، میتوان بهعنوان آخرین راهکار، سیستم را مستقیماً با یک پوسته فرمان اجرا کرد. این روش برای زمانی است که احتمال میدهید systemd یا بخشی از سرویسهای راهاندازی آسیب دیده باشند.
در خط پارامترهای کرنل در GRUB عبارت زیر را اضافه کنید:
init=/bin/sh
پس از بوت، یک پوسته فرمان با دسترسی بسیار بالا در اختیار خواهید داشت. در این محیط بسیاری از سرویسهای معمول سیستم اجرا نشدهاند و ممکن است فایلسیستم ریشه فقطخواندنی باشد. برای تغییر فایلها باید ابتدا آن را به حالت خواندن و نوشتن ببرید.
این روش برای کاربران مبتدی توصیه نمیشود؛ زیرا دستورات اشتباه میتوانند به فایلهای سیستمی آسیب بزنند. اگر این راهکار هم جواب نداد، استفاده از فلش زنده لینوکس برای دسترسی به فایلها و تعمیر سیستم گزینه مناسبتری است.
رفع صفحه سیاه لینوکس با گزینه Nomodeset
اگر لینوکس بوت میشود اما صفحه نمایش سیاه میماند یا هنگام اجرای محیط گرافیکی تصویر بههم میریزد، ممکن است مشکل از درایور کارت گرافیک یا تنظیم حالت نمایش باشد. در چنین شرایطی پارامتر nomodeset میتواند به بوتشدن موقت سیستم کمک کند.
برای استفاده از این گزینه، وارد منوی GRUB شوید و ورودی لینوکس را با کلید e ویرایش کنید. سپس عبارت زیر را به انتهای خط پارامترهای کرنل اضافه کنید:
nomodeset
حالا سیستم را با پارامتر جدید بوت کنید. این گزینه مانع تغییر حالت گرافیکی توسط درایور کرنل در مراحل اولیه راهاندازی میشود و ممکن است امکان ورود به محیط دسکتاپ را فراهم کند؛ البته وضوح تصویر یا شتابدهی گرافیکی میتواند محدود شود.
اگر سیستم با این روش بالا آمد، باید درایور کارت گرافیک و سازگاری آن با نسخه کرنل را بررسی کنید. nomodeset راهحل دائمی برای خرابی درایور نیست و بهتر است پس از رفع مشکل، بوت عادی را دوباره امتحان کنید.
کدام گزینه بوت لینوکس برای رفع مشکل مناسبتر است؟
انتخاب روش درست به نوع خرابی بستگی دارد. اگر مشکل بعد از بهروزرسانی رخ داده، ابتدا کرنل قدیمیتر را امتحان کنید. اگر سیستم به دلیل سرویس یا فایل پیکربندی معیوب بوت نمیشود، حالتهای Rescue و Emergency کاربرد بیشتری دارند.
|
نوع مشکل |
گزینه پیشنهادی |
|---|---|
|
مشکل پس از بهروزرسانی کرنل |
کرنل قدیمیتر |
|
خرابی بستهها یا فایلسیستم |
Recovery Mode |
|
توقف بوت به دلیل سرویس معیوب |
Rescue Mode |
|
خطاهای جدی در راهاندازی فایلسیستم |
Emergency Mode |
|
خرابی systemd یا سرویسهای راهاندازی |
init=/bin/sh |
|
صفحه سیاه یا مشکل درایور گرافیک |
nomodeset |
پیش از اجرای دستورات تعمیر، اگر اطلاعات مهمی روی سیستم دارید و امکان دسترسی به آنها فراهم است، از فایلها نسخه پشتیبان تهیه کنید. همچنین پارامترهایی مانند init=/bin/sh و دسترسی مستقیم به پوسته ریشه را فقط در مواقع ضروری به کار ببرید؛ زیرا این محیطها محدودیتهای امنیتی کمتری دارند.
گیم پلنت



