Centos 6.5 啟動報錯 "Kernel panic - not syncing: Attempted to kill init"解決辦法
某一天,開發同事突然告訴我伺服器上自己的虛擬機器連不上了,我登陸到伺服器CAS管理介面,重啟虛擬機器後發現報錯了
問題:Kernel panic - not syncing: Attempted to kill ini
原因:這個問題的主要原因是系統的/lib64/libc-2.12.so和
/lib64/libc.so.6
檔案丟失或者軟連結錯誤
解決辦法:
一、修改啟動模式,更改為光碟啟動(各種環境大同小異)
二、用光碟啟動救援模式,進入shell命令列:執行: chroot /mnt/sysinage 報錯
三、拷貝/lib64/libc-2.12.so和
/lib64/libc.so.6
檔案
四、執行: chroot /mnt/sysinage 不會報錯,證明已經修復
過程如下:
一、修改啟動模式,更改為光碟啟動(各種環境大同小異),我的伺服器裝的是CAS管理平臺,配置如下(如果是其他的請自行百度)
1、掛載光碟
2、設定為啟動引導後,重啟虛擬機器
二、用光碟啟動救援模式,進入shell命令列:執行: chroot /mnt/sysinage 報錯
1、選擇Rescue install system 後回車
2、選擇語言:English(預設)
3、選擇鍵盤型別:us(預設)
4、Setup Networking:NO(設定網路根據情況而定,一般來說網路沒問題就不用設定了)
5、Rescue:Continue(繼續)
-
>選擇Continue,則救援模式程式會自動查詢系統中已有的檔案系統,並把他們掛載到/mnt/sysimage目錄下。
-
>選擇Read-Only,則會以只讀的方式掛載已有的檔案系統。
-
>手動掛載則Skip。
-
>Advanced ,高階選項就不作說明了。
6、原系統掛載路徑/mnt/sysimage,如果想獲得原系統root環境,執行行命令:chroot /mnt/sysimage 即可
7、一直OK,到選擇shell命令列,OK
8、因為/usr/lib64/libc-2.12.so & libc.so.6 -> libc-2.12.so 問題,執行chroot /mnt/sysinage會報錯
三、拷貝/lib64/libc-2.12.so和
/lib64/libc.so.6
檔案
cp /lib64/libc-2.12.so /mnt/sysimage/lib64/libc-2.12.so
cp /lib64/libc.so.6 /mnt/sysimage/lib64/libc.so.6
注:如果拷貝失敗:用強制拷貝cp -rf 命令
四、執行: chroot /mnt/sysinage 不會報錯,證明已經修復
重新啟動虛擬機器,啟動成功