Grub2啟動CentOS失敗的常見原因與解決方法
問題現(xiàn)象
當系統(tǒng)啟動時,Grub2可能提示以下錯誤之一:
error: file '/boot/grub2/grub.cfg' not found
error: disk 'hd0,msdos1' not found
- 進入grub rescue命令行界面
- 內(nèi)核 panic 或 initramfs 加載失敗
原因分析與解決方案
1. 引導(dǎo)配置損壞
執(zhí)行以下命令重新生成GRUB配置文件:
grub2-mkconfig -o /boot/grub2/grub.cfg
若無法進入系統(tǒng),需通過Live CD或救援模式掛載分區(qū)后操作。
2. 內(nèi)核或initramfs文件丟失
檢查/boot
目錄下的內(nèi)核文件:
ls /boot/vmlinuz-* /boot/initramfs-*.img
若文件缺失,通過yum reinstall kernel
重裝內(nèi)核并重建initramfs:
dracut -f /boot/initramfs-$(uname -r).img $(uname -r)
3. 分區(qū)UUID變更
使用blkid
確認分區(qū)UUID,編輯/etc/fstab
和/boot/grub2/grub.cfg
更新UUID值。
4. 文件系統(tǒng)錯誤
在救援模式下執(zhí)行文件系統(tǒng)檢查:
fsck -y /dev/sdX
(替換sdX
為實際分區(qū)標識)
高級修復(fù)方法
手動引導(dǎo)系統(tǒng)
在grub rescue模式下依次輸入:
set root=(hd0,msdos1)
linux /vmlinuz-3.10.0-1160.el7.x86_64 root=/dev/mapper/centos-root
initrd /initramfs-3.10.0-1160.el7.x86_64.img
boot
需根據(jù)實際內(nèi)核版本和分區(qū)路徑調(diào)整參數(shù)。
重裝GRUB引導(dǎo)程序
grub2-install /dev/sda
grub2-mkconfig -o /boot/grub2/grub.cfg
預(yù)防措施
- 定期備份
/boot
目錄和GRUB配置文件 - 避免直接修改
grub.cfg
,應(yīng)通過/etc/default/grub
配置 - 系統(tǒng)更新后驗證引導(dǎo)配置