Linux показва съобщение за грешка при стартиране: причини и подробни решения

При стартиране на Linux понякога на екрана се появяват съобщения за грешка и системата спира, преди да стигне до работния плот. Макар такива съобщения да изглеждат тревожни, те всъщност са много полезни, защото показват къде е проблемът.

В тази статия разглеждаме подробно най-честите причини за грешки при стартиране на Linux и какви действия могат да се предприемат според конкретната ситуация.


1. Не рестартирайте насила много пъти подред

Когато видят грешка при стартиране, много потребители започват да рестартират компютъра отново и отново. Ако обаче проблемът е свързан с файловата система или диска, това може да влоши положението.

По-добре е първо да направите следното:

  • запишете точния текст на грешката
  • снимайте екрана
  • обърнете внимание на кой етап спира зареждането
  • спомнете си последните промени по системата

Ако проблемът се е появил след обновяване, причината може да е в ядрото или драйверите. Ако е имало внезапно спиране на тока, по-вероятно е да има повреда във файловата система.


2. Най-чести видове грешки при стартиране

  • грешки в GRUB или bootloader
  • грешки на файловата система
  • проблеми с kernel или initramfs
  • неуспешно стартиране на systemd услуги
  • проблеми с GPU драйвер или графичен интерфейс
  • липса на свободно място на диска
  • физически проблеми с диска

Въпреки че общият симптом е един и същ, а именно че Linux не се стартира, решението зависи от вида на грешката.


3. Показване на подробните съобщения при стартиране

Много дистрибуции скриват подробните съобщения чрез quiet splash. За да видите реалната причина, е полезно временно да премахнете този параметър в GRUB.

  1. Рестартирайте компютъра
  2. Натискайте няколко пъти Shift или Esc веднага след включване
  3. В GRUB изберете записа за стартиране и натиснете e
  4. Премахнете quiet splash
  5. Стартирайте с Ctrl + X

Така ще можете да видите на кой етап се появява грешката.


4. Ако се появява “grub rescue” или “no such partition”

Ако след включване директно се показва grub rescue или грешка като “no such partition”, проблемът най-често е в bootloader-а или структурата на дяловете.

Чести причини:

  • дяловете са били променяни или местени
  • Windows в dual boot е презаписал информацията за зареждане
  • повреден EFI дял или /boot дял
  • счупена конфигурация на GRUB

В много случаи може да помогне стартиране с Live USB и преинсталиране на GRUB:

sudo mount /dev/sda2 /mnt
sudo mount /dev/sda1 /mnt/boot/efi   # само за UEFI системи

sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys

sudo chroot /mnt
grub-install /dev/sda
update-grub
exit
sudo reboot

Имената на устройствата трябва да се сменят според вашата реална конфигурация.


5. Ако системата влиза в emergency mode

Съобщението You are in emergency mode обикновено означава, че системата е открила сериозен проблем при монтирането на дялове или при четенето на важни настройки. Честа причина е грешка във файла /etc/fstab.

Първо прегледайте журналите:

journalctl -xb

След това вижте съдържанието на fstab:

cat /etc/fstab

Типични грешки:

  • грешен UUID
  • несъществуваща mount точка
  • външен диск е записан във fstab, но не е свързан

Ако намерите проблем, редактирайте файла:

nano /etc/fstab

След това рестартирайте системата.


6. Ако грешката е свързана с fsck или файловата система

Съобщения като fsck failed или UNEXPECTED INCONSISTENCY обикновено означават повреда във файловата система. Това често се случва след спиране на тока или принудително изключване.

Най-безопасно е проверката да се направи от Recovery Mode или Live USB:

sudo fsck -f /dev/sda1

Не е добре fsck да се изпълнява върху активен root дял, който в момента е монтиран и използван.

Добре е също да се провери състоянието на диска:

sudo smartctl -a /dev/sda

Ако SMART вече показва много грешки, първо трябва да се архивират важните данни.


7. Ако systemd услуги се провалят

Понякога ядрото на Linux вече е стартирало, но важна услуга не може да се зареди и това блокира завършването на старта. Тогава често се виждат съобщения като:

  • Failed to start ...
  • Dependency failed for ...

В такъв случай опитайте да влезете в TTY:

Ctrl + Alt + F2

След входа проверете кои услуги са неуспешни:

systemctl --failed
journalctl -xb

За конкретна услуга:

systemctl status NetworkManager
journalctl -u NetworkManager -b

Ако проблемната услуга не е критична, може временно да бъде изключена, за да се провери дали системата ще продължи да се стартира.


8. Ако проблемът е в kernel или initramfs

Ако грешката е започнала след обновяване на kernel, възможно е причината да е в новото ядро или initramfs. В такъв случай опитайте да стартирате по-старо ядро от GRUB:

  1. Отворете GRUB
  2. Изберете Advanced options
  3. Изберете по-стара версия на ядрото

Ако така системата стартира, може да се създаде initramfs отново:

sudo update-initramfs -u

9. Ако причината е GPU драйверът

Понякога Linux всъщност вече е стартирал, но графичната среда не се появява заради проблем с GPU драйвера. Това е особено често след обновяване на NVIDIA.

В GRUB може временно да добавите nomodeset:

linux /boot/vmlinuz ... quiet splash nomodeset

Ако системата стартира по този начин, има голяма вероятност проблемът да е в графичния драйвер. След това драйверът трябва да се преинсталира.


10. Не забравяйте да проверите свободното място

Понякога истинската причина е много проста: root дялът или /boot е напълно запълнен. Тогава обновяванията се провалят и следващото стартиране се чупи.

Проверете свободното място с:

df -h

Ако мястото почти е свършило, почистете кеша и старите пакети:

sudo apt clean
sudo apt autoremove

Може да се наложи и премахване на стари ядра и големи лог файлове.


11. Ако нищо не помага, първо архивирайте данните

Ако не можете да влезете нито през TTY, нито през Recovery Mode, а основните методи не дават резултат, по-безопасно е първо да стартирате от Live USB и да запазите важните файлове. Това е още по-важно, ако подозирате хардуерен проблем с диска.

Чрез Live USB можете:

  • да копирате важни файлове
  • да пуснете fsck
  • да преинсталирате GRUB
  • да проверите конфигурационните файлове
  • да оцените състоянието на диска

Обобщение

Съобщение за грешка при стартиране на Linux не означава непременно, че системата трябва веднага да се преинсталира. В много случаи проблемът може да бъде решен, ако съобщението се прочете внимателно и причината се провери стъпка по стъпка.

  • запишете точния текст на грешката
  • включете подробните съобщения при стартиране
  • използвайте TTY, Recovery Mode или Live USB
  • проверете GRUB, файловата система, услугите, ядрото, драйверите и свободното място
  • ако подозирате проблем с диска, първо архивирайте данните

Най-важното е да не преинсталирате сляпо, а да използвате съобщението за грешка като указание към истинската причина.

Leave a Reply

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *