VDO logo
Thủ thuật tin học 21-07-2017

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.

Kernel panic error – not syncing: Attempted to kill init and how to fix it

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 )
Không có bình luận nào

Bình luận của bạn

Tin tức liên quan