Tôi cần phải tạo lại initrd. Làm điều này:
update-initramfs -u -k all
đã ném lỗi cho một kernel tôi đã biên dịch và sau đó xóa một thời gian trước đây (vì dĩ nhiên update-initramfskhông thể tìm thấy /lib/modulesthư mục mà tôi đã xóa).
Tôi nghĩ rằng tôi đã loại bỏ hoàn toàn kernel bằng cách xóa tất cả các mục trong /bootvà thư mục của nó trong /lib/modules& running sudo update-grub(như trong câu trả lời này ), nhưng rõ ràng có dấu vết của nó ở đâu đó mà tôi có lẽ nên dọn sạch.
Tôi đọc nó và đào xung quanh /usr/share/initramfs-toolsnhưng tôi không thể hiểu được.
Trong man update-initramfstôi thấy rằng:
Việc sử dụng "tất cả" cho chuỗi phiên bản chỉ định update-initramfs để thực thi hành động đã chọn cho tất cả các phiên bản kernel, đã được biết đến với update-initramfs.
Nhưng làm thế nào để nó biết họ? Trường hợp nào update-initramfstìm phiên bản kernel?
Lưu ý: nhiều tháng sau ... Tôi đã thêm câu trả lời cho câu hỏi này vào thẻ wiki cho initramfs
update-initramfs -d -k <version>sẽ xóa mục nhập/var/lib/initramfs-toolsvà hình ảnh trong/bootmột lần, chỉ cần fyi :)