#Симптом и границы применимости
Arch Linux запускается только с прежним рабочим ядром (если в загрузчике действительно сохранён отдельный вариант), а новое ядро зависает или не находит root. На обычной установке Arch обновление пакета linux заменяет прежний образ, поэтому «старое ядро» может означать linux-lts, резервную запись загрузчика или вручную сохранённый образ; это требуется уточнить.
#Возможные причины и признаки
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Загрузчик указывает на несуществующий образЯдро обновлялось при не смонтированном /boot или EFI. | Даты и версии образов в /boot не совпадают с пакетами; новое ядро не найдено. | Проверить фактические точки монтирования до повторной установки пакета. |
| Не соответствует initramfsЗагрузочный образ создан для другого ядра или без нужных модулей/хуков. | Остановка на поиске root UUID, не обнаруживается контроллер диска. | Проверить конфигурацию сборщика initramfs и пересобрать лишь после проверки загрузочного тома. |
| Регрессия драйвера/параметраНовое ядро не работает на конкретном оборудовании. | С прежним ядром всё исправно, журнал нового указывает модуль/ACPI. | Временно сохранить рабочее ядро и собрать точные записи для диагностики. |
#Подробная диагностика и безопасные действия
- 1. Запуститесь с доступного рабочего вариантаВ меню вашего загрузчика выберите уже существующую рабочую запись: linux-lts, fallback либо прошлую сохранённую версию. Не подменяйте названия: доступность таких записей зависит от реальной конфигурации. На этом этапе ничего на диске не исправляйте.
- Диагностическая команда в терминале Arch Linux, без изменения настроекLinux · Терминал (Bash)КомандаДиагностическая команда в терминале Arch Linux, без изменения настроек.
uname -rcat /proc/cmdline
- 2. Определите установленные пакеты ядерВ терминале рабочей системы просмотрите только установленные пакеты и версии. Если установлен один linux, наличие старого ядра в меню не гарантирует, что его модульный каталог сохранён. Не устанавливайте отдельно ядро без полной синхронизации.
- Диагностическая команда в терминале Arch Linux, без изменения настроекLinux · Терминал (Bash)КомандаДиагностическая команда в терминале Arch Linux, без изменения настроек.
pacman -Q linux linux-lts linux-zen linux-hardenedls /usr/lib/modules/
- 3. Проверьте точку EFI и /bootСначала узнайте, на какой файловой системе лежат реальные файлы загрузки.
findmnt /bootможет ничего не вернуть, когда ESP монтируется на /efi — это нормально. Загрузчики systemd-boot и GRUB используют разные пути.Linux · Терминал (Bash)КомандаДиагностическая команда в терминале Arch Linux, без изменения настроек.findmnt /bootfindmnt /efilsblk -fls -la /boot
- 4. Посмотрите, чем заканчивается загрузка нового ядраЕсли удалось запустить новое ядро с неуспешной загрузкой, в рабочей системе прошлый журнал можно увидеть по
-b -1при сохранённых записях. Если журнал отсутствует, сфотографируйте экран реальной ошибки; отличайте отсутствие root-раздела от сбоя графического интерфейса. - Диагностическая команда в терминале Arch Linux, без изменения настроекLinux · Терминал (Bash)КомандаДиагностическая команда в терминале Arch Linux, без изменения настроек.
journalctl --list-bootsjournalctl -b -1 -k --no-pager -n 100
- 5. Проверьте процесс установки и наличие образовВ журнале pacman ищите обновление linux, linux-lts, mkinitcpio либо kernel-install. Сопоставьте файлы /boot и записи загрузчика, не меняйте их до выяснения, что именно используется на компьютере.
- Диагностическая команда в терминале Arch Linux, без изменения настроекLinux · Терминал (Bash)КомандаДиагностическая команда в терминале Arch Linux, без изменения настроек.
grep -E "(upgraded|installed) (linux|linux-lts|mkinitcpio|dracut)" /var/log/pacman.log | tail -n 40ls -lh /boot
- 6. Восстановление согласуйте с реальным загрузчикомЕсли подтверждено, что ядро установилось при размонтированном загрузочном разделе, сначала правильно смонтируйте его по fstab, создайте резервную копию и только затем переустанавливайте нужное ядро и генерируйте initramfs средствами установленной системы (mkinitcpio, dracut или kernel-install). Универсальное выполнение mkinitcpio -P здесь недопустимо.
- Диагностическая команда в терминале Arch Linux, без изменения настроекLinux · Терминал (Bash)КомандаДиагностическая команда в терминале Arch Linux, без изменения настроек.
findmnt /bootfindmnt /eficommand -v mkinitcpiocommand -v dracut
- 7. Проверьте новую загрузку, сохранив рабочий вариантНе удаляйте linux-lts и рабочую запись, пока новое ядро не загружается несколько раз. Для удалённого сервера обеспечьте консоль/IPMI. После успешного старта сравните uname, lsmod и состояние основных файловых систем.Linux · Терминал (Bash)КомандаДиагностическая команда в терминале Arch Linux, без изменения настроек.
uname -rsystemctl --failedfindmnt /
#Как понять, что проблема устранена
Повторите исходное действие, из-за которого возникла неисправность, и сверяйте не только код завершения команды, но и прикладной результат. Сохраните вывод последней диагностической команды и записи журнала до и после исправления. Если ошибка повторяется, верните только изменённую настройку из резервной копии и передайте специалисту точный симптом, имя программы/службы, версию системы и необходимые фрагменты журнала без паролей и закрытых ключей.
#Что делать, если не помогло
Не применяйте случайные советы для другого дистрибутива: в Arch Linux особенно опасны частичные обновления пакетов, а в Rocky Linux — отключение SELinux или неконтролируемый перезапуск системных служб. Остановитесь после неуспешного безопасного шага, зафиксируйте фактическое сообщение и вернитесь к соответствующей причине. Для загрузки, разделов диска и единственного удалённого подключения используйте резервную копию и локальную консоль.