Hạt nhân mà bạn đang khởi động không phải là hạt nhân mà bạn đã cài đặt. Nói tóm lại, các mô-đun mà bạn đã cài đặt là dành cho một nhân khác - có thể cũ hơn hoặc mới hơn, do bộ tải khởi động chọn, có thể chưa được cập nhật.
Bạn có thể xác minh điều này với mèo /proc/phiên bản
. Điều này sẽ hiển thị kernel hiện đang chạy. cài đặt apt --reinstall linux-modules-`cut -d\ -f3 /proc/version`
nên cài đặt đúng phiên bản.
Bạn có thể dùng dpkg -l|grep linux-
để xem những gì được cài đặt.
Đối với việc khiến bộ tải khởi động ngừng khởi động lại vào cùng một phiên bản cũ, cập nhật sudo-grub
có thể giải quyết điều đó. Ngoài ra, bạn có thể xem /boot/grub/grub.cfg
để biết thêm thông tin, hoặc giữ Sự thay đổi hoặc nhấn THOÁT khi khởi động và chọn kernel thích hợp. (Nhìn thấy https://askubuntu.com/questions/281119/how-do-you-run-update-grub để khắc phục sự cố nhiều hơn)
Mặc dù Linux tuân theo thiết kế "nguyên khối" trong đó hầu hết các chức năng có thể được tích hợp vào chính nhân, nhưng ngày nay có quá nhiều chức năng khả dụng đến mức sẽ hợp lý hơn khi chuyển phần lớn chức năng đó - chẳng hạn như iptables - ra thành "các mô-đun nhân có thể tải được “. Nó có một tính năng tuyệt vời là nó "tự động tải" các mô-đun này khi cần - nhưng các mô-đun này thường rất cụ thể đối với phiên bản kernel - và nó không tìm thấy những mô-đun đó - xem ls /usr/lib/mô-đun/*
- là những gì đã cho bạn thông báo lỗi.
Bạn có thể xem những mô-đun hiện đang được tải lsmod
. Bạn cũng có thể tải các mô-đun với insmod
và dỡ chúng với rmmod
. (Nhìn thấy người đàn ông
và như thế.)
Máy tính đã thay đổi rất nhiều trong 30 năm qua, thay vì chỉ lưu trữ các mô-đun trên phân vùng chính, chúng cần được lưu trữ trong một đĩa RAM tạm thời ban đầu
bởi vì đôi khi những mô-đun đó là cần thiết để truy cập vào ổ cứng hoặc hệ thống tệp thực tế. cập nhật-grub
đảm nhiệm việc lưu trữ các bản sao của các mô-đun được yêu cầu trong các tệp có liên quan ban đầu
cho các nhân Linux có liên quan.
Nói chung, miễn là hạt nhân có thể đọc hệ thống tệp gốc của bạn bằng cách nào đó, bạn có thể khởi động bất kỳ hệ thống tệp gốc Linux nào bằng bất kỳ hạt nhân nào. Vì vậy, bạn thường có thể dễ dàng sửa chữa - hoặc sao lưu hệ thống của mình bằng cách khởi động từ Linux có khả năng khởi động trực tiếp, sau đó cài đặt hệ thống tệp chính của bạn. (Để tìm nó, hãy xem lsblk
và gắn kết
) Để hoạt động trên hệ thống thực tế của bạn mặc dù bạn đã khởi động từ một hệ thống khác, hãy xem chroot
. Ví dụ: nếu bạn khởi động trực tiếp và ổ cứng của bạn hiển thị là /dev/sdb1
sau đó bạn có thể fsck/dev/sdb
và sau đó gắn kết/dev/sdb1/mnt
, và sau đó sudo mount -t proc - /mnt/sdb1/proc; Sudo mount -o liên kết /dev /mnt/sdb1/dev; Sudo chroot /mnt/sdb1
và sau đó bạn có thể chạy cài đặt apt
hoặc cập nhật-grub
và lối ra
và khởi động lại sudo
.)
Các tệp có thể bị hỏng hoặc bị thiếu do nhiều yếu tố - dung lượng ổ đĩa thấp, dây cáp bị lỏng, phần cứng bị hỏng, mất điện, EMF, tia vũ trụ. Phần mềm hiện đại rất tốt trong việc giải quyết phần lớn điều này. Điều tuyệt vời về Linux trái ngược với các hệ thống khác là nó mang lại cho bạn nhiều cơ hội hơn để sửa chữa thay vì chỉ cài đặt lại - và tìm hiểu thêm về cách thức hoạt động của nó trong quy trình.