在grub的rescue模式下修复linux引导(gpt+uef
最近win10用dism++更新了1903的更新后,原来manjaro的linux引导失效,只能按f12,从windows manager的引导进入win10,而manjaro的grub自动进入rescue mode。以下记录了自己的修复过程。
grub rescue> _
进入系统
首先列出所有的可用分区
grub rescue> ls
(hd0) (hd1) (hd1,gpt8)....
根据你自己的记忆大概定位系统引导所在的分区(如果不记得那就只能逐个去试了)并用ls定位引导所在的分区(输出包含boot/)
如下图可以看出(hd1,gpt7)就是我们要找的分区:
grub rescue> ls (hd1,gpt6)/
./ ../ lost+found/
grub rescue> ls (hd1,gpt7)/
./ ../ lost+found/ bin/ boot/ dev/...
提示:
如果linux安装时单独分区了boot,那应该在某个分区下含有grub目录,如果没有单独分boot分区,那应该在主分区下含有/boot/grub目录。
找到了对应分区后:
- 配置grub引导
grub rescue> set root=(hd1,gpt7)
grub rescue> set prefix=(hd1,gpt7)/boot/grub
- 切换到normal模式
grub rescue> insmod normal
grub rescue> normal
如果上面设置没有错的话,就可以正常进入系统的grub菜单了。
安装grub到efi分区
正常进入系统后,如果不先修复grub的引导的话,重启电脑之后还是会进入刚刚那个rescue模式。
- 找出你的efi分区挂载点
运行df命令:
df
找到boot或efi挂载点
boot
efi
- 重新安装grub
用grub-install命令安装grub:
如果提示找不到某个命令,尝试把你的/usr/sbin添加到环境变量PATH中:
打开:vim /etc/profile
添加: export PATH=$PATH:/usr/sbin
应用配置: source /etc/profile
sudo grub-install /dev/sdb2
安装完成没有报错的话,重启就可以了。