Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists possible device or file cimpletions.
grub>
一脸懵逼-_-????
然后一通搜索大致理解了原因(个人理解)。
系统在启动是加载了错误的引导位置,导致无法正常启动,因此启动了这个界面以供修复使用。
使用set命令可以查看下当前的配置
grub> set
...
root=hd0,gpt3
prefix=(hd0,gpt3)/boot/efi/UOS
...
看到这里先别急,只需要关注上面提到的两个配置项root,prefix
原因就处在这里,prefix里指定的启动位置缺少部分文件,导致启动失败。
接下来就是要找到正确的启动文件夹
grub> ls
hd0 (hd0,gpt4) (hd0,gpt3) (hd0,gpt2) (hd0,gpt1) ...
grub> ls hd0/boot/grub
error: `/boot/grub` not found.
grub> ls (hd0,gpt4)/boot/grub
fonts grub.cfg grub.cfg.bak grubenv locale themes unicode.pf2 x86_64-efi
执行之后发现(hd0,gpt4)这个分区存放的是正确的启动配置。
之后执行以下命令可正常进入系统
grub> set root=(hd0,gpt4)
grub> set prefix=(hd0,gpt4)/boot/grub
grub> insmod normal
grub> normal
2021年07月01日22:28:27
Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists possible device or file cimpletions. grub>
一脸懵逼-_-????
然后一通搜索大致理解了原因(个人理解)。
系统在启动是加载了错误的引导位置,导致无法正常启动,因此启动了这个界面以供修复使用。
使用
set
命令可以查看下当前的配置grub> set ... root=hd0,gpt3 prefix=(hd0,gpt3)/boot/efi/UOS ...
看到这里先别急,只需要关注上面提到的两个配置项
root
,prefix
原因就处在这里,prefix里指定的启动位置缺少部分文件,导致启动失败。
接下来就是要找到正确的启动文件夹
执行之后发现
(hd0,gpt4)
这个分区存放的是正确的启动配置。之后执行以下命令可正常进入系统
grub> set root=(hd0,gpt4) grub> set prefix=(hd0,gpt4)/boot/grub grub> insmod normal grub> normal
不出意外的话,接下来会正常进入系统选择菜单,选择deepin后进入系统
但是此时修复并没有结束,重启之后还是进入了grub页面。
然后又是一通搜索,发现大多数的解决方案是重新挂在boot分区,但是总感觉没有必要。因此又是一通搜索知道看到了一篇帖子,写到替换文件,这是我才意识到了这种修复方式。
重启,进入grub页面。执行set指令 发现prefix默认的位置是
prefix=(hd0,gpt3)/boot/efi/UOS
再次进入系统发现
对比之后发现
无法启动的文件列表 /boot/efi/EFI/UOS
grub.efi shimx64.efi
正常启动的文件列表 /boot/efi/EFI/deepin
此时把正常的启动配置文件拷贝到了/boot/efi/UOS中,重启发现已经可以正常进入系统选择页面了。
至此,问题解决.
希望给同样有这样问题的小伙伴一点思路。