
اگر سیستم لینوکس شما پس از یک بهروزرسانی از کار بیفتد، از نمایش صفحه ورود خودداری کند یا هنگام راهاندازی خطای دیگری نمایش دهد، لازم نیست کل توزیع خود را دوباره نصب کنید. لینوکس چندین گزینه بوت ارائه میدهد که میتوانند به شما در بازیابی یک نصب آسیبدیده، عیبیابی مشکلات راهاندازی و بازگشت به سیستمتان کمک کنند.
شناخت این گزینههای بوت میتواند زمانی که اوضاع خراب میشود، زمان زیادی را برای شما صرفهجویی کند. در ادامه شش گزینه بوت لینوکس را میبینید که فکر میکنم شناختنشان ارزش دارد:
بوت کردن نسخه قدیمیتر هسته لینوکس از طریق GRUB
برگرداندن بهروزرسانی هستهای که سیستم شما را خراب کرده است
بهروزرسانی هسته گاهی اوقات میتواند مشکلاتی در سازگاری سختافزار، درایورهای گرافیک، شبکه یا پشتیبانی از فایلسیستم ایجاد کند. اگر مدت طولانی است که از لینوکس استفاده میکنید، احتمالاً خودتان چند خاطره هولناک از بهروزرسانیهای هسته دارید. وقتی چنین اتفاقی میافتد، یکی از اولین کارهایی که ارزش امتحان دارد بوت کردن یک هسته قدیمیتر است؛ بهخصوص اگر پیش از بهروزرسانی همهچیز بینقص کار میکرد.
بیشتر توزیعهای لینوکس هنگام بهروزرسانی به نسخه جدیدتر، نسخههای قدیمیتر کرنل را نیز نصبشده نگه میدارند. میتوانید از طریق بوتلودر GRUB به آنها دسترسی پیدا کنید؛ برای این کار گزینه Advanced options را از منوی راهاندازی انتخاب کنید. این کار فهرستی از کرنلهای نصبشده را باز میکند. نسخه قدیمیتری را که قبلاً درست کار میکرد انتخاب کنید و سپس برای بوت آن، Enter را فشار دهید.
اگر GRUB بهطور خودکار ظاهر نشد، هنگام راهاندازی BIOS کلید Shift را نگه دارید یا در سیستمهای UEFI بهطور مکرر کلید Esc را بزنید. رفتار دقیق کلیدها به پیکربندی بوتلودر شما بستگی دارد. پس از رسیدن به دسکتاپ، میتوانید بهروزرسانی مشکلدار را بررسی کنید، سازگاری درایورها را بسنجید یا یک کرنل سالم را دوباره نصب کنید. این روش بهویژه زمانی مفید است که یک بهروزرسانی کرنل سیستمی برایتان باقی بگذارد که دیگر نمیتواند به صفحه ورود برسد.
بوت لینوکس در حالت نجات
استفاده از حالت نجات systemd برای تعمیر نصب خراب لینوکس

حالت نجات زمانی مفید است که لینوکس بتواند کرنل خود را راهاندازی کند اما در فرایند بوت معمولی با مشکلاتی روبهرو شود. این حالت یک محیط مینیمال همراه با سرویسهای ضروری اجرا میکند و فایلسیستم را مانت میکند و شلی در اختیار شما میگذارد که میتوانید در آن فایلهای پیکربندی را تعمیر کنید، بستههای مشکلدار را حذف کنید و علت شکستهای راهاندازی را بررسی کنید.
در سیستمی که از systemd استفاده میکند، میتوانید با ویرایش ورودی بوت GRUB به حالت نجات دسترسی پیدا کنید. ورودی بوت معمولی خود را انتخاب کنید، کلید e را بزنید و خطی را پیدا کنید که با linux یا linuxefi شروع میشود. این پارامتر را به انتهای آن خط اضافه کنید:
systemd.unit=rescue.target
کلید Ctrl + X یا F10 را فشار دهید تا بوت ادامه یابد. بسته به پیکربندی شما، ممکن است پیش از رسیدن به شل بازیابی، از شما رمز عبور root خواسته شود.
از همینجا میتوانید لاگهای سیستم را بررسی کنید، یک بسته معیوب را حذف کنید یا فایل پیکربندیای را که از راهاندازی معمولی جلوگیری میکند اصلاح کنید. همچنین میتوانید از دستورهایی مانند journalctl -xb برای بررسی خطاهای بوت فعلی استفاده کنید. پارامتر قدیمیتر single نیز میتواند در بسیاری از سیستمهای لینوکس حالت تککاربره را درخواست کند، هرچند systemd.unit=rescue.target برای نصبهای مبتنی بر systemd صریحتر است.
بوت کردن لینوکس در حالت اضطراری
دسترسی به یک پوسته روت اضطراری وقتی حالت نجات کارساز نیست

گاهی اوقت حتی حالت نجات (Rescue Mode) هم نمیتواند سیستم شما را به وضعیتی قابل استفاده برساند. یک اتصال (mount) خراب سیستم فایل، یک ورودی نادرست در /etc/fstab یا خرابی دیگری در مراحل اولیه بوت میتواند مانع تکمیل فرآیند بازیابی شود. اینجاست که حالت اضطراری وارد عمل میشود. این حالت محیطی حتی مینیمالتر از حالت نجات فراهم میکند؛ سرویسهای بسیار محدودی را راهاندازی میکند و برای عیبیابی یک پوسته روت در اختیارتان میگذارد. برای ورود به حالت اضطراری، مانند قبل ورودی بوت GRUB خود را ویرایش کنید و این عبارت را به انتهای آن اضافه کنید:
systemd.unit=emergency.target
اکنون میتوانید /etc/fstab را بررسی کنید، دلایل ناموفق بودن اتصالها را جستوجو کنید و مشکلات پیکربندی را اصلاح کنید. اگر سیستم فایل روت بهصورت فقطخواندنی متصل شده باشد، ممکن است لازم باشد پیش از ویرایش فایلها، آن را با دسترسی نوشتن دوباره متصل کنید:
mount -o remount,rw /
من این گزینه را زمانی امتحان میکنم که بوت عادی بازیابی بهدلیل مشکلات مربوط به سیستم فایل یا اتصالها مدام شکست بخورد. این حالت محیط کوچکتری برای کار در اختیارتان میگذارد که میتواند بهویژه زمانی مفید باشد که وابستگیهای مرحله راهاندازی مانع میشوند لینوکس به یک وضعیت بازیابی قابل استفاده برسد.
غیرفعال کردن یک سرویس systemd مشکلدار در حین بوت
استفاده از پارامتر systemd.mask برای دور زدن یک سرویس معیوب

یک سرویس systemd مشکلدار میتواند مانع از رسیدن لینوکس به صفحه ورود شود یا شما را در طول راهاندازی، نامحدود منتظر نگه دارد. این اتفاق ممکن است پس از تغییر پیکربندی شبکه، نصب یک درایور جدید یا دستکاری سرویسی که بهصورت خودکار اجرا میشود رخ دهد. میتوانید با افزودن پارامتر systemd.mask= به ورودی GRUB، به systemd بگویید که سرویس خاصی را در طول بوت فعلی mask کند. برای مثال، اگر NetworkManager عامل بروز مشکلات در راهاندازی است، عبارت زیر را اضافه کنید:
systemd.mask=NetworkManager.service
عبارت NetworkManager.service را با نام سرویسی که میخواهید بررسی کنید جایگزین کنید. Systemd مانع از اجرای واحد مشخصشده در طول آن بوت خواهد شد.
این ویژگی بهویژه زمانی مفید است که مشکوک باشید یک سرویس عامل راهاندازی ناموفق است، اما همچنان برای بررسی آن به دسترسی به سیستم خود نیاز دارید. پس از رسیدن به شل، لاگهای آن را با استفاده از journalctl بررسی کنید و تصمیم بگیرید که سرویس مشکلدار را غیرفعال کنید، دوباره پیکربندی کنید یا مجدداً نصبش کنید.
عمل mask کردن NetworkManager قابلیت شبکه آن را نیز غیرفعال میکند؛ بنابراین اگر عیبیابی شما به اینترنت نیاز دارد، به روش دیگری برای اتصال به اینترنت نیاز خواهید داشت.

#
بوت مستقیم لینوکس در یک شل ریشه Bash
دور زدن systemd با پارامتر init=/bin/bash

۶ گزینه بوت لینوکس که میتواند شما را از سیستمی خراب نجات دهد
اگر سیستم systemd از بوت شدن نصب شما جلوگیری میکند، میتوانید کاملاً آن را دور بزنید و مستقیماً یک شل را اجرا کنید. این یکی از گزینههای بازیابی شدیدتر است، اما زمانی که اهداف بازیابی عادی در دسترس نیستند، میتواند بسیار مفید باشد. ورودی بوت GRUB خود را ویرایش کرده و خط زیر را اضافه کنید:
init=/bin/bash
این دستور به هستهی لینوکس میگوید که به جای راهاندازی سیستم initِ معمول، «Bash» را به عنوان PID 1 اجرا کند. شما مستقیماً وارد یک شل روت بدون سرویسهای سیستمی، مدیر ورود، یا محیط دسکتاپ معمولی خواهید شد. یک نکته که باید به یاد داشته باشید این است که فایل سیستمی روت شما معمولاً به صورت فقط خواندنی (read-only) نصب شده است. قبل از تغییر فایلهای پیکربندی یا تعمیر نصب خود، آن را با دسترسی نوشتن مجدداً نصب کنید:
mount -o remount,rw /
اکنون میتوانید فایلها را ویرایش کنید، پیکربندی سیستم را بررسی کنید و مشکلاتی که مانع شروع systemd میشوند را برطرف کنید. پس از اتمام کار، تغییرات معلق را تخلیه و سیستم را ریبوت کنید:
sync
reboot -f
از این گزینه در موقعیتهایی استفاده کنید که حالتهای نجات (rescue) و اضطراری نمیتوانند شما را به یک محیط قابل استفاده برسانند. از آنجایی که شما systemd را دور زدهاید، چندین دستور و سرویس آشنا در دسترس نخواهند بود و رویهای غیرمتعارف سیستم کار نخواهد کرد.
حل مشکلات بوت لینوکس با nomodeset
غیرفعال کردن تنظیم حالت گرافیک اولیه برای دور زدن مشکلات درایور

یک بهروزرسانی درایور گرافیکی میتواند باعث شود شما حتی با وجود بوت شدن عادی لینوکس در پسزمینه، فقط به یک صفحه سیاه خیره شوید. این موضوع بسیار کلافهکننده است زیرا اغلب اطلاعات بسیار کمی در صفحه وجود دارد تا بتوان علت آن را شناسایی کرد.
پارامتر هستهای nomodeset به هسته میگوید که تنظیم حالت کرنل (KMS) را در هنگام شروع اولیه غیرفعال کند. این کار از اینکه هسته در حین مقداردهی اولیه به حالت گرافیک معمولی تغییر یابد، جلوگیری کرده و میتواند به شما کمک کند تا به یک محیط نمایش یا ورود پایه دست پیدا کنید. برای امتحان کردن آن، ورودی بوت GRUB خود را ویرایش کرده و خط زیر را اضافه کنید:
nomodeset
اگر مشکل مربوط به راهاندازی اولیه گرافیک باشد، این کار ممکن است بگذارد از صفحه خالی عبور کنید. سپس میتوانید درایور گرافیک را بررسی کنید، یک بهروزرسانی اخیر را به حالت قبل برگردانید یا بستههای درایور مناسب را دوباره نصب کنید.
البته این کار بهایی هم دارد. ممکن است نمایشگر شما به رزولوشن پایینتری محدود شود و شتابدهی گرافیکی سختافزاری نیز در دسترس نباشد. من nomodeset را تا زمانی که مشکل واقعی درایور در دست بررسی است، صرفاً یک اقدام موقت برای عیبیابی میدانم.

ایجاد اسنپشات پیش از بهروزرسانی لینوکس
اگر بهطور منظم با بهروزرسانیهای لینوکس، درایورها یا پیکربندی سیستم آزمایش میکنید، راهاندازی Timeshift را توصیه میکنم. این ابزار به شما امکان میدهد اسنپشاتهایی از سیستم ایجاد کنید که اگر بهروزرسانی، نصب شما را خراب کند، بتوانید آنها را بازیابی کنید. میتوانید اسنپشاتهای خودکار را زمانبندی کنید یا پیش از نصب بهروزرسانیهای بزرگ، بهصورت دستی یکی بسازید.
اگر فایلسیستم شما بهصورت بومی از اسنپشات پشتیبانی میکند، میتوانید سراغ ابزارهایی مثل Snapper هم بروید، بهخصوص در نصبهای مبتنی بر Btrfs. فقط یادتان باشد اسنپشاتها را بهدرستی پیکربندی کنید و آنها را روی فضای ذخیرهسازی نگه دارید که در صورت بوت نشدن سیستم همچنان در دسترس باشد. یک اسنپشات اخیر میتواند شما را از ساعتها عیبیابی و شاید حتی یک نصب مجدد کامل نجات دهد. من ترجیح میدهم پیش از بهروزرسانی چند دقیقه وقت بگذارم و یکی بسازم تا اینکه بعداً حسرت نبودنش را بخورم.
- ### دسکتاپ
- ### موبایل























دیدگاهتان را بنویسید