昨天安装了Manjaro 19,开机是正常的,但是今天开机发现进不去系统了,只显示了grub rescue模式,提示找不到"/boot/grub/x86_64-efi/normal.mod"。
>error: file '/boot/grub/x86_64-efi/normal.mod' not found.
Entering rescue mode...
grub rescue>
在网上搜索了一下,找到了解决方法
使用set命令查看启动的信息
(类似这样的信息)
>set
prefix=(hd3,gpt3)/grub
root=hd3,gpt3
然后看一下grub文件夹有没有
>ls (hd3,gpt3)/
... ...
显示了(hd3,gpt3)这个分区下的目录,并没有grub,正常来讲,这里的prefix应该指向/boot分区,但是我这里没有正确的指向,实际上boot分区是有grub文件夹的。这里将错就错,把boot下面的grub复制到Manjaro的根目录(/),(hd3,gpt3)/就是Manjaro系统安装的位置。
复制成功之后,grub正常了,能够进入系统引导界面,一般是展示下面三个选项:
Manjaro Linux
Manjaro Linux(Advance Mode)
Windows Boot Manager
这个就是平时正常的引导界面了。
但是进入Manjaro后还有问题
提示/boot/efi加载失败
然后搜索到这篇帖子
Stuck In Emergency Mode
Dependency failed for /boot/efi
按照上面的提示,应该是fstab有问题了,用vi访问了一下fstab,上面提示用blkid命令查看分区信息。
用了一下blkid,发现efi分区的UUID与fstab中配置的不同,然后把新的UUID写到fstab上,重启,就正常进入系统了。
问题原因追溯:
产生这个问题,根本原因在于我在Win10上将Manjaro的efi分区删了。
因为当时安装的时候efi分区没法添加esp标记,在win10的资源管理器上能自动识别到Fat格式的500M的efi分区,还自动分配了卷标。然后手贱删了,用DiskGenius重建了一个ESP分区,进入Manjaro时efi分区的UUID跟以前不一样了,自动挂载efi分区失败,从而产生了这个问题。
网友评论