Vì vậy, tôi nâng cấp kernel yum -y update kernel
trên hình ảnh cơ sở AWS EC2 của tôi, và tôi nhận được như sau:bẩn thỉu lỗi nghiêm trọng: không thể tìm thấy một mẫu phù hợp
Running Transaction
Installing : kernel-2.6.32-504.3.3.el6.x86_64
grubby fatal error: unable to find a suitable template
Dưới đây là nội dung của/boot/grub/grub. conf:
default=0
timeout=0
hiddenmenu
title CentOS (2.6.32-358.el6.x86_64)
root (hd0,0)
kernel /boot/vmlinuz-2.6.32-358.el6.x86_64 ro root=LABEL=rootfs console=ttyS0
initrd /boot/initramfs-2.6.32-358.el6.x86_64.img
vì vậy grub.conf là không nhận được cập nhật, và kể từ khi tôi đã có kernel-2.6.32-504.1.3.el6.x86_64 cài đặt, grub không được cập nhật lần cuối cùng tôi được cập nhật kernel hoặc . Tôi đã thử thêm kernel bằng tay:
grubby --grub --add-kernel="/boot/vmlinuz-2.6.32-504.3.3.el6.x86_64 ro root=LABEL=rootfs \
console=ttyS0" --title="CentOS (2.6.32-504.3.3.el6.x86_64)" \
--initrd=/boot/initramfs-2.6.32-504.3.3.el6.x86_64.img
và sau đó /boot/grub/grub.conf trông như thế này:
default=0
timeout=0
hiddenmenu
title CentOS (2.6.32-504.3.3.el6.x86_64)
kernel /vmlinuz-2.6.32-504.3.3.el6.x86_64 ro root=LABEL=rootfs console=ttyS0
initrd /initramfs-2.6.32-504.3.3.el6.x86_64.img
title CentOS (2.6.32-358.el6.x86_64)
root (hd0,0)
kernel /boot/vmlinuz-2.6.32-358.el6.x86_64 ro root=LABEL=rootfs console=ttyS0
initrd /boot/initramfs-2.6.32-358.el6.x86_64.img
Tuy nhiên, /vmlinuz-2.6.32-504.3.3.el6.x86_64
không phải là hạt nhân tôi bước vào. Vì vậy, tôi loại bỏ điều đó và cố gắng một lần nữa với:
grubby --grub --add-kernel="/boot/boot/vmlinuz-2.6.32-504.3.3.el6.x86_64 ro root=LABEL=rootfs \
console=ttyS0" --title="CentOS (2.6.32-504.3.3.el6.x86_64)" \
--initrd=/boot/boot/initramfs-2.6.32-504.3.3.el6.x86_64.img
đó dẫn đến điều này:
timeout=0
default=1
hiddenmenu
title CentOS (2.6.32-504.3.3.el6.x86_64)
kernel /boot/vmlinuz-2.6.32-504.3.3.el6.x86_64 ro root=LABEL=rootfs console=ttyS0 root=(hd0,0)
initrd /boot/initramfs-2.6.32-504.3.3.el6.x86_64.img
title CentOS (2.6.32-358.el6.x86_64)
root (hd0,0)
kernel /boot/vmlinuz-2.6.32-358.el6.x86_64 ro root=LABEL=rootfs console=ttyS0
initrd /boot/initramfs-2.6.32-358.el6.x86_64.img
Tại thời điểm này, tôi tự sửa /boot/grub/grub.conf để default=0
và khởi động lại, và tôi EC2 sẽ không khởi động. Vì vậy, tôi đã cố gắng một bản sao dụ mới và nhận được tất cả các lỗi tương tự, vì vậy tôi sao chép các thiết lập hiện có để một mục mới:
default=0
timeout=0
hiddenmenu
title CentOS (2.6.32-504.3.3.el6.x86_64)
root (hd0,0)
kernel /boot/vmlinuz-2.6.32-504.3.3.el6.x86_64 ro root=LABEL=rootfs console=ttyS0
initrd /boot/initramfs-2.6.32-504.3.3.el6.x86_64.img
Và khởi động lại, và nó không khởi động được nữa. Tuy nhiên, một thử, tôi lặp đi lặp lại ở trên nhưng với root=/dev/xvda3
, và điều đó cũng không khởi động được. Vì vậy, vào thời điểm này, tôi không có cách nào để nâng cấp hạt nhân của mình. Tôi làm gì?
CẬP NHẬT: Tôi đã tìm ra thư mục/boot/boot/stuff, và /boot/grub/grub.conf của tôi bây giờ trông như thế này:
default=0
timeout=0
hiddenmenu
title CentOS (2.6.32-504.3.3.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-504.3.3.el6.x86_64 ro root=LABEL=rootfs console=ttyS0
initrd /initramfs-2.6.32-504.3.3.el6.x86_64.img
Và tôi có thể khởi động thành công của tôi hệ thống, tuy nhiên mọi thứ khác về điều này vẫn đúng: cài đặt hạt nhân mới vẫn dẫn đến "lỗi nghiêm trọng chết người: không thể tìm thấy mẫu phù hợp" và grubby --default-kernel
vẫn không có kết quả. Tôi phải chỉnh sửa /boot/grub/grub.conf của mình theo cách thủ công cho bất kỳ cập nhật hạt nhân nào.
Ngoài ra, hãy xem [lỗi grubby fatal error: không thể tìm thấy mẫu phù hợp] (https://serverfault.com/questions/673486/grubby-fatal-error-unable-to-find-a-suitable-template) trên serverfault. – bain