我知道这里面已经有几个问题了(错误:未找到文件‘/grub/i386-pc/normal.mod’,错误:未找到文件‘/boot/grub/i386-pc/normal.mod’,https://askubuntu.com/questions/519463/boot-grub-i386-pc-normal-mod-not-found-in-grub-rescue),但这些都不能解决我的问题。
我将 DELL PowerEdge 830 从 12.04 LTS 升级到 14.04LTS,发现自己盯着“grub rescue”提示。(有趣的是,grub 试图与我对话时,没有识别出任何应该起作用的命令,如“boot”...)
我用的是启动修复,这是一个不错的实用程序。不幸的是,它没有帮助。仍然是“grub rescue”。
这是链接如果有人愿意看一下的话,就可以将其添加到其日志中。
在 grub rescue 提示符下,我执行了“ls”以确保我有我想要的分区。我可以看到第一个驱动器上的 3 个预期分区,/dev/sda1 被标记为 boot 和 ext3。以下是 grub rescue 的会话:
grub rescue> ls
(hd0) (hd0,msdos5) (hd0,msdos1) (hd1) (hd1, msdos)
grub rescue> ls (hd0)
(hd0): Filesystem is unknown.
grub rescue> ls (hd0,1)
(hd0,1): Filesystem is fat
grub rescue> ls (hd0,5)
(hd0,5): Filesystem is fat.
grub rescue> set
cmdpath=(hd0)
prefix=(hd0,msdos1)/boot/grub
root=hd0,msdos1
grub rescue> normal
unknown command ‘normal’
grub rescue> insmod normal
error: file ‘/boot/grub/i386-pc/normal.mod’ not found
grub rescue> ls (hd0,1)/boot
error: file '/boot' not found.
似乎 grub 认为 hd0、msdos1 是 FAT 分区,对吧?fdisk(来自 LiveCD)显示它是 ext3。我认为这导致了“未找到 normal.mod”,因为 Linux 系统上的内核不支持 FAT,而它不应该需要它……
这是我们的“生产”服务器,因此我很感激任何快速回复,以便我可以在周一之前恢复运行,谢谢。
更新:我确实使用 wipefs 找到了许多文件系统标记(不,它不会擦除文件系统......),但是删除除一个(ext3)之外的所有文件系统标记仍然不能解决我的问题。
我咬紧牙关,在许多个夜晚之后,我进行了全新安装,并从备份中一点一点地恢复了大部分数据。
因此,没有解决方案。