Lỗi Kernel panic – not syncing: Attempted to kill init và Cách khắc phục
Lỗi Kernel panic – not syncing: Attempted to kill init và cách khắc phục
Đối với quản trị viên VPS hoặc server, lỗi Kernel panic – not syncing: Attempted to kill init là một trong những sự cố rất đáng ngại. Khi gặp lỗi này, hệ điều hành thường không thể khởi động bình thường, khiến toàn bộ hệ thống rơi vào trạng thái treo.
Trong bài viết này, VDO sẽ chia sẻ nguyên nhân thường gặp của lỗi Kernel panic – not syncing: Attempted to kill init và hướng dẫn cách xử lý để đưa hệ thống hoạt động trở lại.
Nguyên nhân gây ra lỗi
Lỗi này có thể xuất phát từ nhiều nguyên nhân khác nhau, nhưng một trường hợp khá phổ biến là sau khi thay disk controller, hệ điều hành cũ không còn nhận diện đúng phần cứng như trước. Dù sau đó bạn có gắn lại ổ cứng cũ, hệ thống vẫn có thể phát sinh lỗi khi khởi động.
Nguyên nhân chính là do initrd — một root filesystem tạm thời được nạp vào RAM trong quá trình boot — không chứa đầy đủ module driver cho thiết bị phần cứng mới. Khi đó, kernel không thể truy cập thiết bị lưu trữ cần thiết để tiếp tục khởi động hệ điều hành, dẫn đến tình trạng treo máy hoặc báo lỗi kernel panic.
Trong một số trường hợp, bạn cũng có thể thấy thông báo đi kèm như:
error: unpacking of archive failed on file /usr/sbin/sshd cpio: rename
Đây là dấu hiệu cho thấy quá trình giải nén hoặc nạp dữ liệu hệ thống khi khởi động đã gặp lỗi.

Cách khắc phục
Để xử lý tình huống này, bạn cần sử dụng Live CD hoặc chế độ rescue mode của CentOS để truy cập vào hệ thống và tạo lại file initrd.
Bước 1: Khởi động vào chế độ rescue
Khi boot từ đĩa cài đặt hoặc Live CD, tại màn hình khởi động bạn nhập:
boot: linux rescue
Sau khi vào chế độ cứu hộ, hệ thống sẽ hiển thị thông báo tương tự:
Your system is mounted under the /mnt/sysimage directory.
When finished please exit from the shell and your system will reboot.
sh-3.2#
Bước 2: Chroot vào hệ thống đang lỗi
Thực hiện lệnh sau để chuyển vào môi trường hệ thống thật:
/usr/sbin/chroot /mnt/sysimage
Bước 3: Kiểm tra file initrd hiện tại
Liệt kê các file initrd trong thư mục /boot:
/bin/ls /boot/initrd*
Ví dụ kết quả:
/boot/initrd-2.6.18-238.el5.img
Bước 4: Sao lưu file initrd cũ
Đổi tên file initrd hiện tại để lưu dự phòng:
/bin/mv /boot/initrd-2.6.18-238.el5.img /boot/old-initrd-2.6.18-238.el5.img-old
Bước 5: Tạo lại file initrd mới
Tạo lại initrd để hệ thống nạp đầy đủ các module trong /lib/modules:
/sbin/mkinitrd /boot/initrd-2.6.18-238.el5.img 2.6.18-238.el5
Bước 6: Kiểm tra lại file initrd
Sau khi tạo xong, kiểm tra lại:
/bin/ls /boot/*initrd*
Kết quả có thể như sau:
/boot/initrd-2.6.18-238.el5.img
/boot/old-initrd-2.6.18-238.el5.img-old
Bước 7: Thoát và khởi động lại hệ thống
Sau khi hoàn tất, thoát khỏi môi trường rescue:
exit
Hệ thống sẽ tiến hành reboot. Nếu file initrd mới đã được tạo đúng và chứa đầy đủ module cần thiết, server có thể khởi động lại bình thường.
Kết luận
Lỗi Kernel panic – not syncing: Attempted to kill init thường liên quan đến việc hệ thống không nạp được các module driver cần thiết trong quá trình khởi động, đặc biệt sau khi thay đổi phần cứng như disk controller. Cách xử lý hiệu quả nhất là boot vào rescue mode, sao lưu file initrd cũ và tạo lại file mới phù hợp với kernel hiện tại.
Hy vọng hướng dẫn trên sẽ giúp bạn nhanh chóng khắc phục sự cố và đưa VPS/server trở lại trạng thái hoạt động ổn định.
Chúc bạn thành công.
Chia sẻ bài viết
Bình luận
( 0 bình luận )Bình luận của bạn
Tin tức liên quan
