Ядро, с которым вы загружаетесь, отличается от того, которое вы установили. Короче говоря, модули, которые вы установили, предназначены для другого - возможно, более старого или более нового ядра, выбранного загрузчиком, который, скорее всего, не был обновлен.
Вы можете убедиться в этом с помощью кот /прок/версия
. Это покажет текущее работающее ядро. apt install --reinstall linux-modules-`cut -d\ -f3 /proc/version`
должен установить правильную версию.
Ты можешь использовать dpkg -l|grep Linux-
чтобы увидеть, что установлено.
Что касается того, чтобы загрузчик перестал перезагружаться в ту же старую версию, sudo update-grub
может решить это. В качестве альтернативы вы можете просмотреть /загрузка/жратва/жратва.cfg
для получения дополнительной информации или держите Сдвиг или нажмите ESC при загрузке и выберите соответствующее ядро. (Видеть https://askubuntu.com/questions/281119/how-do-you-run-update-grub для дальнейшего устранения неполадок)
Несмотря на то, что Linux придерживается «монолитного» дизайна, в котором большая часть функций может быть встроена в само ядро, в настоящее время доступно так много функций, что имеет смысл перенести как можно больше этих функций, таких как iptables, в «загружаемые модули ядра». ". У него есть замечательная функция, когда он «автозагружает» эти модули по мере необходимости, но эти модули обычно очень специфичны для версии ядра — и он не находит их — см. ЛС /USR/библиотека/модули/*
- это то, что дало вам сообщение об ошибке.
Вы можете просмотреть, какие модули в настоящее время загружены с помощью lsmod
. Вы также можете загружать модули с помощью инсмод
и разгрузить их с rmmod
. (Видеть мужчина инмод
и так далее.)
Компьютеры настолько изменились за последние 30 лет, что вместо того, чтобы просто хранить модули в основном разделе, их нужно хранить на временном RAM-диске. initrd
потому что иногда эти модули необходимы для доступа к реальному жесткому диску или файловой системе. обновление-личность
заботится о хранении копий необходимых модулей в соответствующих initrd
для соответствующих ядер Linux.
Как правило, если ядро каким-то образом может прочитать вашу корневую файловую систему, вы можете загрузить любую корневую файловую систему Linux, используя любое ядро. Таким образом, вы обычно можете легко восстановить или сделать резервную копию вашей системы, загрузившись с загрузочного Linux, а затем смонтировав свою основную файловую систему. (чтобы найти см. лсблк
и устанавливать
) Чтобы работать в вашей реальной системе, даже если вы загрузились с другой, см. chroot
. Например, если вы выполняете загрузку в реальном времени, а ваш жесткий диск отображается как /dev/sdb1
тогда ты можешь fsck /dev/sdb
а потом смонтировать /dev/sdb1 /mnt
, а потом sudo mount -t proc - /mnt/sdb1/proc; sudo mount -o bind /dev /mnt/sdb1/dev; судо chroot/mnt/sdb1
и тогда вы можете бежать меткая установка
или же обновление-личность
и выход
и судо перезагрузка
.)
Файлы могут быть повреждены или отсутствовать из-за многих факторов - нехватки места на диске, ослабленных кабелей, поврежденного оборудования, перебоев в подаче электроэнергии, ЭМП, космических лучей. Современное программное обеспечение хорошо справляется со многими из этих проблем. Отличительной чертой Linux по сравнению с другими системами является то, что она дает вам гораздо больше возможностей для ее восстановления, а не просто переустановки, и в процессе вы узнаете больше о том, как она работает.