誤刪libc提示Kernel panic not syncing: Attempted to kill init解決辦法

ringoo_ming發表於2017-09-20
系統型別:CentOS 6.5(x64) 
啟動提示:Kernel panic - not syncing: Attempted to kill init 
背景:因為誤刪了 libc.so.6 -> libc-2.12.so的軟連線(圖1),沒想到很多命令不能用了。 原來linux 很多shell命令都離不開 libc.so.6 

接下來重啟系統進去之後就一直報Kernel panic - not syncing: Attempted to kill init的錯(↓圖)

方法1:
之前看網上有很多方法是編輯grub選單,選擇“kernel /vmlinuz-XXXXro root=/dev/vogroup00/logvol00 rhgb quiet” 一欄,按‘e’鍵進入編輯,在末尾增加enforcing=0後重啟,但是這種方法不適用於本次情況。

方法2: 
重啟虛機並進入急救模式:在重啟後看到VMWARE的介面時按ESC,選擇CD-rom啟動,也可以直接更改bios,選擇以CD-ROM啟動,只要進入救援模式,找到相關的資料夾,剩下來到就和先前一樣了,有仇的報仇,有冤的報冤


語言預設選擇English 

鍵盤預設選擇US 

3。選擇是否配置網路卡 
一般系統到了要rescue了,網路也就不需要了,所以可以選擇否跳過網路卡配置,當然你如果需要也可以選擇是,具體設定過程和安裝時一樣。 

選擇繼續(Conyinue) 

硬碟上的系統已經被找到並掛載在/mnt/sysimage 下 

三種選項: 
 1.shell 進入命令列模式; 
 2.fakd是診斷模式; 
 3.reboot重啟電腦; 
我們這裡選擇shell進入命令列模式 

由於剛進去的時候所有的檔案都是隻讀:READ-ONLY,所以必須使用命令給予讀寫許可權:   

mount -o remount rw / 和 mount -o remount rw /mnt/sysimage

進入 /mnt/sysimage,該資料夾下才是真正的系統路徑,進入 /lib (或 /lib64  視情況而定)
然後重新建立軟連結 
並使用chroot /mnt/sysimage命令(提示符會從bash-4.1#變為sh-4.1#)

在sh-4.1#模式下需要先exit退出,回到bash-4.1#才可以reboot重啟系統,重啟後順利進入系統。


另外還有一個坑就是:系統檔案的連結千萬別隨便刪,非要更新lib檔案,可以用ln -sf 強制更新連結,剛修復好還沒緩過勁來,想把2.14換成2.12結果剛刪除了軟連線又變成了之前的樣子,又重新修復一遍,所以,系統檔案的連結千萬別隨便刪!



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31442725/viewspace-2145218/,如需轉載,請註明出處,否則將追究法律責任。

相關文章