我有一台 16.04 服务器,它在升级内核时更新 /boot/grub/menu.lst 文件,但不更新 /boot/grub/grub.cfg 文件,因此在启动时它使用的是 grub.cfg 中的旧信息。我该如何修复这个问题?
我认为这也可能是由于 /boot 分区已满,在安装 grub 的几天内都没有人注意到。
答案1
检查grub-legacy
或是否grub-legacy-ec2
已在某个时刻成功安装。如果已安装,则它们正在更新旧配置 menu.lst,但您的引导扇区正在启动 grub2 并查看 grub.cfg 以获取其列表。
要修复此问题,只需重新安装 grub2:
sudo apt-get install grub2
sudo update-grub
然后ls -l /boot/grub/grub.cfg
应该显示今天的修改日期。
在适当的维护时段测试重启以确保它仍然正常运行。