UEFI启动&grub
Tofloor
poster avatar
DeepinOS
deepin
2017-11-06 08:07
Author
有关UEFI启动(MBR方式启动勿入坑的知识有必要来普及一下,希望大家有所收获,但是这也是个人的理解,不免有误区,希望大家一起来讨论!UEFI是固件,与BIOS有很大的区别,
UEFI启动:开机加电-》读取UEFI固件-》读取EFI分区的 ××××.efi结尾的文件-》由.efi文件管理启动。
按道理来说,只要有EFI分区,在EFI分区里有 ××××.efi文件就可以引导,所以修复UEFI启动很简单的,只要复制对的××××.efi文件就可以了(通常可以这样,但是有规律,不是乱复制的)。
以上就是UEFI启动修复,很简单的,最好不要用PE等工具修复,那是主要是对于MBR启动的,修复启动完全可手动的。


grub引导器:下面讲的grub引导也是基于UEFI启动的,UEFI启动中要让UEFI读取到正确的××××.efi文件,××××.efi文件然后读取配置文件,windows系统一般是bootmgfw.efi,配置文件是BCD文件(两个文件常见是在EFI分区的/Microsoft/Boot里的)。Linux系统一般是grubx64.efi 配置文件一般是grub.cfg(常见实在EFI分区/deepin里的,deepin系统做了一个聪明的方式把配置文件重定向到了另一个grub.cfg文件)。这样还是不够的,还要将文件复制到EFI分区的/boot里,××××.efi文件要重命名为bootx64.efi,
efi
├── boot
│   ├── bootx64.efi  启动时要加载的(将grub.efi复制到这里,重命名就可以)
│   └── grub.cfg      加载上面的就读取这个(grub.cfg是读取和它同一目录下的grub.cfg)
├── deepin
     ├── fbx64.efi
     ├── grub.cfg
     ├── grubx64.efi
     ├── mmx64.efi
     └── shimx64.efi




然后就是修复引导了,复制一个正常启动的的grub.efi文件到EFIj分区的/boot里,把配置文件grub.cfg放在/boot里就可以了。

还有如果是双系统如windows和deepin在一起,最好是用grub来引导,两种启动方式对比就知道啦
Windows启动管理器会记住上一次启动的系统,切换系统时,windows是先开机,你选择和上一次不一样的系统,Windows启动管理器把你选的系统设置为临时启动首选项,然后关机重启,在启动你选择的系统,
grub启动管理器在启动Linux系统是直接引导内核的,启动Windows是使用chainloader方式链式加载Windows启动管理器,
对比两个启动过程就可以发现grub启动更快。

本贴是为了让大家理解UEFI&grub启动的,不是专门指导大家修启动的,所以怎么修复启动就讲的少了
Reply Favorite View the author
All Replies
avatar
tdwqe
deepin
2017-11-07 06:24
#1
启动引导有windows10选项,但是启动不了,点击后电脑重启重新进入引导界面,linux deepin可以正常启动,求解。
Reply View the author
Comments
liujiaqi
2019-09-20 23:08
我的也是你一样的问题 后来你解决了吗
avatar
南浦月
deepin
2017-11-07 18:13
#2
Reply View the author
avatar
DeepinOS
deepin
2017-11-07 21:04
#3
https://bbs.deepin.org/post/147753
https://blog.nanpuyue.com/2017/037.html

别坑他们呀,装grub有点难度的,直接复制文件多好。
临时这样做没问题的,进系统后再运行sudo grub-install 这样不会出错,难度也低一些
Reply View the author
avatar
DeepinOS
deepin
2017-11-07 21:08
#4
https://bbs.deepin.org/post/147753
启动引导有windows10选项,但是启动不了,点击后电脑重启重新进入引导界面,linux deepin可以正常启动,求 ...

这个是安全启动的问题,关闭安全启动就可以了
Reply View the author