萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux 核心重編譯五大常見故障診斷與解決方案

核心重編譯是進階管理員必修課,但失敗率高。本文整理實務中最常見的五大故障現象與對應解法。

故障一:核心無法啟動(Kernel Panic: no init found)

徵狀:Warning: unable to open an initial console → Kernel panic: no init found. Try passing init= option to kernel

主因:/etc/lilo.conf 中 root= 參數缺少前導斜線。錯誤:root=dev/hdc5;正確:root=/dev/hdc5。核心無法定位根裝置。

標準 lilo.conf 範本:

boot=/dev/hdc5
map=/boot/map
prompt
timeout=50
image=/boot/vmlinuz-2.2.2-1
label=Linux
root=/dev/hdc5
initrd=/boot/initrd-2.2.2-1.img
read-only

other=/dev/hda1
label=dos
table=/dev/hda

故障二:異常 I/O 錯誤(系統頻繁崩潰/死機/效能暴跌)

主因:編譯結束時未執行 make dep clean。menuconfig/xconfig 儲存不包含此步驟,導致相依關係錯誤。解法:配置完成後務必補跑 make dep clean 再 make bzImage。

故障三:核心回應緩慢

主因:menuconfig/xconfig 勾選過多不需要的驅動/選項,導致核心膨脹、記憶體浪費。解法:精簡原則,僅啟用實際硬體與必要功能,預設值往往最佳。

故障四:核心無法編譯(make bzImage 報錯/怪異現象)

解法:重開機 → rpm -e kernelconfig 移除配置工具 → rpm -ivh/--Uvh kernelconfig 重裝 → 重新配置編譯。若仍失敗,檢查硬體相容性。

故障五:系統反覆重開機

主因:修改核心後忘記執行 lilo 登記新映像位置。核心映像複製會改變磁碟物理扇區,舊 LILO 指標失效。解法:從軟碟/救援碟啟動,掛載根分區執行 lilo 或 lilo -r /mnt。

核心編譯三字訣:精簡、依賴、重跑 lilo。
copyright © 萬盛學電腦網 all rights reserved