گاهی اوقات ممکن است هنگام راه‌اندازی سیستم با مشکلاتی روبرو شوید که امکان ورود به محیط گرافیکی یا حتی خط فرمان را از شما سلب کند. در چنین شرایطی، نیاز به استفاده از محیط زنده و ابزارهای پیشرفته عیب‌یابی خواهید داشت. این راهنما به شما کمک می‌کند تا با استفاده از تصویر زنده پارچ، به سیستم نصب شده خود دسترسی پیدا کرده و مشکلات را برطرف کنید.

شناسایی مشکل

پیش از هر اقدامی، باید دقیقاً بدانید با چه نوع مشکلی روبرو هستید. برخی از نشانه‌های رایج عبارتند از:

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

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

کشف پارتیشن‌ها

اولین گام پس از ورود به محیط زنده، شناسایی پارتیشن‌های دیسک است. برای این کار از دستور زیر استفاده کنید:

sudo fdisk -l

این دستور فهرست کاملی از تمام دیسک‌ها و پارتیشن‌های موجود در سیستم را نمایش می‌دهد. خروجی این دستور شامل اطلاعات مهمی مانند نام دستگاه، اندازه، نوع پارتیشن و سیستم فایل است.

به عنوان مثال، ممکن است خروجی مشابه زیر را مشاهده کنید:

Device         Start       End   Sectors  Size Type
/dev/sda1       2048   1050623   1048576  512M EFI System
/dev/sda2    1050624  42993663  41943040   20G Linux filesystem
/dev/sda3   42993664 250069679 207076016 98.7G Linux filesystem

در این مثال، دیسک دارای سه پارتیشن است. پارتیشن اول با نوع سیستم یوای‌اف‌آی، پارتیشن دوم احتمالاً ریشه سیستم و پارتیشن سوم می‌تواند پوشه خانگی باشد. باید با دقت این اطلاعات را بررسی کنید تا پارتیشن‌های مورد نظر را شناسایی کنید.

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

وصل کردن پارتیشن ریشه

پس از شناسایی پارتیشن ریشه، باید آن را به نقطه اتصال استاندارد وصل کنید. معمولاً از مسیر دایرکتوری اتصال برای این منظور استفاده می‌شود:

sudo mount /dev/sda2 /mnt

در این دستور، فرض بر این است که پارتیشن دوم دیسک، پارتیشن ریشه سیستم شماست. باید نام دستگاه را با توجه به خروجی دستور قبلی تنظیم کنید.

پس از اجرای این دستور، تمام محتویات پارتیشن ریشه در مسیر دایرکتوری اتصال در دسترس خواهد بود. می‌توانید با دستور زیر محتویات آن را مشاهده کنید:

ls /mnt

باید پوشه‌های استاندارد سیستم مانند بوت، اتک، دایرکتوری اصلی، پوشه خانگی و غیره را مشاهده کنید. اگر این پوشه‌ها را نمی‌بینید، احتمالاً پارتیشن اشتباهی را وصل کرده‌اید.

وصل کردن پارتیشن‌های اضافی

بسیاری از نصب‌ها پارتیشن‌های جداگانه‌ای برای پوشه خانگی یا سایر مسیرها دارند. اگر سیستم شما این‌گونه است، باید این پارتیشن‌ها را نیز وصل کنید:

sudo mount /dev/sda3 /mnt/home

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

بررسی پیکربندی پارتیشن‌ها

قبل از وصل کردن پارتیشن یوای‌اف‌آی، بسیار مهم است که بدانید سیستم شما در چه زمانی نصب شده است. این موضوع تعیین می‌کند که باید پارتیشن بوت را کجا وصل کنید. برای بررسی این موضوع، می‌توانید پرونده جدول پارتیشن‌های سیستم فایل را بررسی کنید:

cat /mnt/etc/fstab

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

اگر در پرونده جدول پارتیشن‌های سیستم فایل خطی مانند این ببینید:

UUID=xxxx-xxxx  /efi  vfat  defaults  0  2

یعنی پارتیشن یوای‌اف‌آی باید به مسیر ایی‌اف‌آی وصل شود.

اما اگر خط مشابه زیر را مشاهده کردید:

UUID=xxxx-xxxx  /boot/efi  vfat  defaults  0  2

پس باید پارتیشن را به مسیر بوت اسلش ایی‌اف‌آی وصل کنید.

وصل کردن پارتیشن یوای‌اف‌آی

بر اساس اطلاعات به دست آمده از پرونده جدول پارتیشن‌های سیستم فایل، اکنون می‌توانید پارتیشن یوای‌اف‌آی را وصل کنید. اگر سیستم شما از مسیر ایی‌اف‌آی استفاده می‌کند:

sudo mount /dev/sda1 /mnt/efi

یا اگر از مسیر بوت اسلش ایی‌اف‌آی استفاده می‌کند:

sudo mount /dev/sda1 /mnt/boot/efi

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

ls /mnt/efi

یا

ls /mnt/boot/efi

باید پوشه‌هایی مانند ایی‌اف‌آی که شامل بارگذارها و فایل‌های مربوط به راه‌اندازی است را مشاهده کنید.

وصل کردن سیستم‌های فایل ضروری (در توزیع‌های غیر آرچی)

قبل از استفاده از محیط ریشه تغییر یافته، باید سیستم‌های فایل مجازی هسته را نیز وصل کنید. این کار برای عملکرد صحیح بسیاری از ابزارها ضروری است:

sudo mount --types proc /proc /mnt/proc
sudo mount --rbind /sys /mnt/sys
sudo mount --make-rslave /mnt/sys
sudo mount --rbind /dev /mnt/dev
sudo mount --make-rslave /mnt/dev
sudo mount --bind /run /mnt/run
sudo mount --make-slave /mnt/run

این دستورات سیستم‌های فایل مجازی را از محیط زنده به محیط وصل شده منتقل می‌کنند. گزینه‌های مختلف اطمینان می‌دهند که تغییرات به درستی منعکس شوند.

همچنین اگر سیستم شما از پیکربندی نام استفاده می‌کند، بهتر است آن را نیز کپی کنید:

sudo cp /etc/resolv.conf /mnt/etc/resolv.conf

این کار اطمینان می‌دهد که دسترسی به شبکه در داخل محیط ریشه تغییر یافته کار می‌کند.

سپس با دستور

sudo chroot /mnt

وارد محیط ریشه تغییر یافته می‌شوید.

ورود به محیط ریشه تغییر یافته (در توزیع‌های آرچ پایه)

اکنون که تمام پارتیشن‌های لازم وصل شده‌اند، می‌توانید با استفاده از ابزار ریشه تغییر یافته آرچ وارد سیستم نصب شده خود شوید:

sudo arch-chroot /mnt

پس از اجرای این دستور، محیط خط فرمان شما تغییر می‌کند و گویی مستقیماً در سیستم نصب شده خود هستید. اکنون می‌توانید تمام دستورات و عملیات‌های مدیریتی را به همان شکلی که در سیستم عادی انجام می‌دهید، اجرا کنید.

به‌روزرسانی کامل سیستم

یکی از رایج‌ترین کاربردهای محیط ریشه تغییر یافته، رفع مشکلات ناشی از به‌روزرسانی‌های ناقص است. برای به‌روزرسانی کامل سیستم:

pacman -Syu

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

گاهی ممکن است نیاز باشد ابتدا کلیدهای امضای بسته‌ها را به‌روز کنید:

pacman -Sy archlinux-keyring
pacman -Su

این رویکرد دو مرحله‌ای اطمینان می‌دهد که کلیدهای امضا قبل از به‌روزرسانی سایر بسته‌ها به‌روز شده‌اند.

بازگردانی بسته‌های خاص

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

ls /var/cache/pacman/pkg/ | grep نام-بسته

پس از یافتن نسخه مورد نظر، می‌توانید آن را نصب کنید:

pacman -U /var/cache/pacman/pkg/نام-بسته-نسخه-معماری.pkg.tar.zst

برای مثال، اگر می‌خواهید هسته لینوکس را به نسخه قبلی بازگردانید:

pacman -U /var/cache/pacman/pkg/linux-6.6.1-1-x86_64.pkg.tar.zst

پس از بازگردانی، بهتر است آن بسته را از به‌روزرسانی‌های خودکار مستثنی کنید تا مجدداً به‌روز نشود:

nano /etc/pacman.conf

در این پرونده، خط زیر را پیدا کنید یا اضافه کنید:

IgnorePkg = نام-بسته

بازسازی بارگذار راه‌انداز

اگر مشکل شما مربوط به بارگذار راه‌انداز است، باید آن را بازسازی کنید. برای گراب:

grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=GRUB
grub-mkconfig -o /boot/grub/grub.cfg

یا اگر مسیر بوت اسلش ایی‌اف‌آی دارید:

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
grub-mkconfig -o /boot/grub/grub.cfg

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

بازسازی راهنمای راه‌اندازی اولیه

اگر سیستم به دلیل مشکل در سیستم فایل ریشه اولیه راه‌اندازی نمی‌شود، باید آن را بازسازی کنید:

mkinitcpio -P

این دستور تمام پیش‌تنظیم‌های موجود را پردازش کرده و راهنماهای راه‌اندازی اولیه را ایجاد می‌کند. اگر پیغام خطایی دریافت کردید، باید مشکل را قبل از ادامه برطرف کنید.

بررسی و تعمیر سیستم فایل

گاهی مشکلات ناشی از خرابی سیستم فایل هستند. در این صورت باید از محیط زنده و قبل از وصل کردن پارتیشن‌ها، آن‌ها را بررسی کنید:

sudo umount /mnt/boot/efi
sudo umount /mnt/home
sudo umount /mnt
sudo fsck /dev/sda2

ابزار بررسی سیستم فایل خرابی‌ها را شناسایی و در صورت امکان تعمیر می‌کند. توجه داشته باشید که هرگز نباید سیستم فایل وصل شده را بررسی کنید.

خروج از محیط و راه‌اندازی مجدد

پس از انجام تمام اصلاحات لازم، باید از محیط ریشه تغییر یافته خارج شوید:

exit

سپس تمام پارتیشن‌های وصل شده را جدا کنید:

sudo umount -R /mnt

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

اکنون می‌توانید سیستم را راه‌اندازی مجدد کنید:

reboot

قبل از راه‌اندازی مجدد، حتماً رسانه زنده را خارج کنید تا سیستم از دیسک سخت راه‌اندازی شود.

نکات مهم و هشدارها

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

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

اگر سیستم شما رمزنگاری شده است، باید ابتدا حجم رمزنگاری شده را با ابزارهای مناسب باز کنید. در چنین مواردی، فرآیند کمی پیچیده‌تر می‌شود و نیاز به دستورات اضافی دارد.

دریافت کمک بیشتر

اگر پس از انجام این مراحل همچنان با مشکل روبرو هستید یا سوالی دارید، می‌توانید به انجمن پارچ مراجعه کنید و از جامعه کاربران و توسعه‌دهندگان کمک بگیرید:

https://forum.parchlinux.com

در انجمن، حتماً جزئیات کامل مشکل خود شامل پیام‌های خطا، مراحلی که انجام داده‌اید و اطلاعات سیستم خود را ارائه دهید تا دیگران بتوانند بهتر به شما کمک کنند.