[Boot/Shutdown] EFI引导bug
Tofloor
poster avatar
mjje
deepin
2023-01-19 23:19
Author

【系统环境】deepin社区版20.8
镜像版本:
CPU:
GPU:

【操作步骤】

安装deepin后efi分区内有之前windows的引导残留,遂全部删除,再通过sudo grub-install重建引导

结果重启后直接黑屏,但留意到,发现黑屏前出现:

Failed to open \EFI\deepin\grub.efi - Not Found
Failed to load image \EFI\deepin\grub.efi - Not Found
start_image() returned Not Found

解决办法

通过启动U盘手动引导进入系统

cd /boot/efi/EFI/deepin
在deepin文件夹下,的确没有发现grub.efi,但有grubx64.efi
使用sudo mv grubx64.efi grub.efi,更名
重启后,又恢复了正常

【结果反思】

那么,这是不是说明grub-install脚本/命令存在bug呢?

望社区尽快修复

Reply Favorite View the author
All Replies
152******14
deepin
2023-01-20 04:23
#1

我的理解是,你删除的grub 与你安装前的grub是不一样的,如果你删除前可以正常启动,那这个异常是你自己的操作引入的,不属于BUG范畴。deepin的安装是修改grub,不是删除重建grub,否则会但导致以前的系统无法被引导,无法实现双系统方案。这是我个人的理解。

Reply View the author
mjje
deepin
2023-01-25 01:11
#2
152******14

我的理解是,你删除的grub 与你安装前的grub是不一样的,如果你删除前可以正常启动,那这个异常是你自己的操作引入的,不属于BUG范畴。deepin的安装是修改grub,不是删除重建grub,否则会但导致以前的系统无法被引导,无法实现双系统方案。这是我个人的理解。

你说的不算错误,但是人生在世不就得折腾嘛

不管什么原因,实际系统中的grub对uefi支持不完善也是实际存在的

Reply View the author
ycscg
deepin
2023-01-26 19:33
#3
152******14

我的理解是,你删除的grub 与你安装前的grub是不一样的,如果你删除前可以正常启动,那这个异常是你自己的操作引入的,不属于BUG范畴。deepin的安装是修改grub,不是删除重建grub,否则会但导致以前的系统无法被引导,无法实现双系统方案。这是我个人的理解。

其实还是bug,esp分区不是某个操作系统的,如果这个分区被删除了然后你在winpe或者deepin liveCD里重建一个空白的esp分区,此时用winPE里的工具可以轻松修复Windows的引导,但修复deepin的引导就不容易了。

Reply View the author
152******14
deepin
2023-01-26 20:08
#4
ycscg

其实还是bug,esp分区不是某个操作系统的,如果这个分区被删除了然后你在winpe或者deepin liveCD里重建一个空白的esp分区,此时用winPE里的工具可以轻松修复Windows的引导,但修复deepin的引导就不容易了。

你用deepin live 修复引导试试。

Reply View the author
152******14
deepin
2023-01-26 20:10
#5
ycscg

其实还是bug,esp分区不是某个操作系统的,如果这个分区被删除了然后你在winpe或者deepin liveCD里重建一个空白的esp分区,此时用winPE里的工具可以轻松修复Windows的引导,但修复deepin的引导就不容易了。

我们大家都在围绕删除引导文件讨论,你要来个删除分区,这样我都不知道咋回复你。

Reply View the author
ycscg
deepin
2023-01-26 23:31
#6
152******14

我们大家都在围绕删除引导文件讨论,你要来个删除分区,这样我都不知道咋回复你。

既然讨论引导修复,就应考虑多种情况,凡是deepin系统所在分区没有被破坏而开机却不能进入deepin的grub菜单的,都属于引导问题,以uefi模式启动为例,有三种情况会导致不能进入grub菜单,一是主板uefi启动条目中的deepin启动项被删除(例如恢复出厂设置),二是esp分区被破坏,比如被删除或者格式化了,第三才是esp分区中部分启动文件被删除。引导修复软件应该三种情况都能处理才叫合格的修复软件。

Reply View the author
ycscg
deepin
2023-01-27 00:05
#7
152******14

你用deepin live 修复引导试试。

以前我就实验过,没修复成功,今天又测试一遍并截图,还是不成功。

这是我的esp分区删除后的截图,原esp分区512MB,可以正常引导启动win10+deepin双系统

截图_选择区域_20230126133552.png

下面是重建的一个默认的300MB的esp分区后截图

截图_选择区域_20230126143125.png

此时开机无法进入任何一个系统,用U盘启动进入一个winPE,用dism++修复windows引导,成功,再开机直接可进入win系统。

2023-01-26_143729.png

再关机用U盘启动deepin官方的liveCD,运行引导修复工具,修复失败,提示找不到uuid:5D48-47F7,应该是重建esp分区后,uuid改变了,所以无法挂载esp分区,当然也就无法修复deepin系统的引导了。

深度截图_选择区域_20230126144056.png

此时可以修改/etc/fstab文件,也可以用工具修改esp分区的uuid,因为我的deepin系统有备份,如果修改fstab文件就要一并修改备份的文件,所以我是用工具改了esp分区的uuid,再运行引导修复工具,提示修复成功。

深度截图_选择区域_20230126144857.png

我以为这下应该是修复好了,但是,但是,提示修复成功不一定真成功,还是要开机看一看。

果然,开机后还是没有deepin的grub菜单,而是依然直接进win系统了,于是开机按F12选择启动项deepin,

截图_选择区域_20230126154933.jpg

然后发现结果是出错,再启动按F12换ATA HDD0启动,结果依旧出错,如下:

IMG_20230126_145724.jpg

这就是我用liveCD引导修复工具又一次失败的修复过程,我不想再劳神费事拷贝文件到esp分区让修复工具能真正修复引导了(因为这些都应该是修复工具干的事情),所以还是老套路,直接用备份还原工具从备份文件中将esp分区恢复,然后一切正常了。

Reply View the author
mjje
deepin
2023-01-31 18:32
#8
152******14

你用deepin live 修复引导试试。

几天没开电脑了,看了你们的帖子,我补充一下:

deepin的live CD引导修复我也是试过的,提示修复成功但是实际无法启动系统,后来才手动引导进入系统来折腾其它办法

总的来说,只有安装镜像里的grub管用,live CD和实际系统都有毛病

Reply View the author
152******14
deepin
2023-02-01 02:59
#9

我只在15版本用过,后来发现重装效果最好:简单有效粗暴。据说live早就不维护了。后来出了一次问题, win pe deepinlive 都没搞定,最后鼓捣出从bios文件启动进入了win.最后发现是引导分区夹满了,写不进去导致deepin安装失败,于是引导备份备份到其他分区,留了最早两个,再安装就成功了。我的理解是deepin安装一次,备份一次引导文件,导致文件只增加不删除,是引导分区满了。

Reply View the author
mjje
deepin
2023-02-04 17:45
#10
152******14

我只在15版本用过,后来发现重装效果最好:简单有效粗暴。据说live早就不维护了。后来出了一次问题, win pe deepinlive 都没搞定,最后鼓捣出从bios文件启动进入了win.最后发现是引导分区夹满了,写不进去导致deepin安装失败,于是引导备份备份到其他分区,留了最早两个,再安装就成功了。我的理解是deepin安装一次,备份一次引导文件,导致文件只增加不删除,是引导分区满了。

你说的是/boot分区还是/boot/efi分区,后者只在UEFI下存在,传统BIOS下前者同时也是引导分区

/boot/ 下至少保留2个版本的内核镜像文件,默认分区大小至少在500MB以上,如果手动分区只给100~200MB,那肯定不够用

Reply View the author
152******14
deepin
2023-02-05 04:08
#11

/boot/efi分区

神舟战神g9-ct7pk

Reply View the author
fax928
deepin
Q&A Team
2023-02-05 04:28
#12

使用boot-repair修复引导

传送门

http://t.csdn.cn/It6I7

从 步骤: 开始

Reply View the author