Данная статья покажет как исправить ошибку, в результате которой Linux не загружается. В данном случае решение показано на примере Kali Linux, но указанные действия также применимы к Debian, Ubuntu, Linux Mint и производным дистрибутивам.
Во время загрузки Linux возникла ошибка:
Initramfs unpacking failed: invalid magic at start of compressed archive Kernel panic — not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
Суть в том, что не удалось распаковать Initramfs из-за повреждения архива. Без этого загрузка и работа операционной системы невозможна.
Тем не менее эту проблему можно попытаться решить без загрузки с аварийного диска (например Live CD образа).
Для начала попробуйте загрузиться в Recovery Mode/Root Access в вашем текущем ядре.
Для этого в загрузчике выберите «Advanced options».
Затем выберите пункт с «recovery mode» - обычно это вторая строка.
Если вам удалось это сделать, то выполните следующую команду:
sudo update-initramfs -c -k $(uname -r)
В моём случае сообщение об ошибке изменилось, но система так и не была загружена.
Если не удалось загрузиться в режиме восстановления, то загрузитесь с предыдущей версией ядра.
У меня система успешно загрузилась с предыдущей версией:
Теперь нам нужно пересоздать файл ramdisk. Это можно сделать специальной командой, но нужно знать номер версии ядра. Также файл ramdisk пересоздаётся каждый раз, когда устанавливается пакет с ядром Linux. Рассмотрим оба варианта.
1. Переустановка ядра Linux
Для переустановки ядра выполните команду:
sudo apt install linux-image-amd64
Данная команда походит для 64-битных систем, если у вас 32-битная или ARM компьютер, то используете соответствующее имя пакета ядра linux-image-*
Предыдущая команда не сработала и я получил ошибку:
E: Работа dpkg была прервана, вы должны вручную запустить «sudo dpkg --configure -a» для устранения проблемы.
Для исправления ошибки рекомендуется выполнить следующую команду:
sudo dpkg --configure -a
Она также не сработала и вызвала ошибку:
dpkg: ошибка: fgets прочитал пустую строку из «/var/lib/dpkg/triggers/Unincorp»
Для её исправления:
sudo rm /var/lib/dpkg/triggers/Unincorp sudo touch /var/lib/dpkg/triggers/Unincorp
Смотрите также: dpkg: ошибка: fgets прочитал пустую строку из «/var/lib/dpkg/triggers/Unincorp» (РЕШЕНО)
Затем команда для исправления проблем с пакетами успешно была выполнена:
sudo dpkg --configure -a
Во время её выполнения был заново создан файл ramdisk (как этап настройки одного из пакетов) то есть переустановка ядра Linux не потребовалась. После этого я перезагрузил Linux, и операционная система загрузилась как обычно.
2. Генерация файла ramdisk
Для генерации initramfs (ramdisk) нужно выполнить команду вида:
sudo update-initramfs -c -k ВЕРСИЯ
Вместо НОМЕР нужно указать последнюю версию ядра Linux, установленного на вашей системе. То есть эта та самая версия, которая вызывает проблемы.
Просмотреть имеющиеся ядра можно командой:
ls -al /boot
Результат выполнения:
итого 149988 drwxr-xr-x 4 root root 4096 ноя 27 06:02 . drwxr-xr-x 20 root root 4096 ноя 15 03:40 .. -rw-r--r-- 1 root root 254811 окт 10 16:05 config-5.19.0-kali2-amd64 -rw-r--r-- 1 root root 257010 ноя 7 16:51 config-6.0.0-kali3-amd64 drwx------ 3 root root 4096 янв 1 1970 efi drwxr-xr-x 6 root root 4096 ноя 27 06:00 grub -rw-r--r-- 1 root root 67132798 ноя 9 03:32 initrd.img-5.19.0-kali2-amd64 -rw-r--r-- 1 root root 70411394 ноя 27 06:02 initrd.img-6.0.0-kali3-amd64 -rw-r--r-- 1 root root 83 окт 10 16:05 System.map-5.19.0-kali2-amd64 -rw-r--r-- 1 root root 83 ноя 7 16:51 System.map-6.0.0-kali3-amd64 -rw-r--r-- 1 root root 7703168 окт 10 16:05 vmlinuz-5.19.0-kali2-amd64 -rw-r--r-- 1 root root 7788992 ноя 7 16:51 vmlinuz-6.0.0-kali3-amd64
Версия ядра это цифры и последующие слова. Например, на данной системе последней версией ядра является «6.0.0-kali3-amd64». Тогда команда для создания нового файла initramfs следующая:
sudo update-initramfs -c -k 6.0.0-kali3-amd64
После этого перезагрузите компьютер:
reboot
Связанные статьи:
- Ubuntu/Mint/Kali загружается в initramfs BusyBox (РЕШЕНО) (100%)
- Как загрузиться в режиме восстановления или в аварийном режиме в Ubuntu 20.04 / 18.04 (60.1%)
- Ошибка «Cannot open access to console, the root account is locked» (РЕШЕНО) (60.1%)
- Как определить, почему Linux загружается в Emergency mode (60.1%)
- Как отремонтировать диск LVM с помощью fsck (60.1%)
- Решение проблемы «bash: ifconfig: команда не найдена» (RANDOM - 0.6%)