无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 4537|回复: 18

[求助] legacy和uefi下U盘引导过程

[复制链接]
发表于 2020-4-20 19:49:55 | 显示全部楼层 |阅读模式
有个疑问,还请懂得大佬,解释下

众所周知,把win10镜像直接解压到格式化后的U盘里,即可做成启动盘(虽然不万能..)

我想知道在按下开机键后,在legacy模式下,和uefi下,U盘的详细引导过程
发表于 2020-4-20 22:18:04 | 显示全部楼层
本帖最后由 liu_zhenfeng 于 2020-4-20 22:19 编辑

https://www.iqiyi.com/playlist509963502.html

点评

谢谢  详情 回复 发表于 2020-4-21 18:34
回复

使用道具 举报

发表于 2020-4-20 23:37:41 | 显示全部楼层
legacy模式下也就BIOS启动,是读取bootmgr。uefi下是读取EFI\boot\bootx64.efi。
是两套引导文件

点评

学到了  详情 回复 发表于 2020-4-21 18:17
回复

使用道具 举报

发表于 2020-4-20 23:58:20 来自手机 | 显示全部楼层
legacy模式下会读取优盘的0号扇区,然后把它读取到的0号扇区数据当成一段汇编指令运行。但是主板读取到的0扇区不一定就是优盘的0扇区,然后这个汇编代码也存在兼容问题,所以legacy启动经常失败。

点评

uefi启动会直接读取优盘的分区表,不管是mbr还是gpt,直接读取分区表,然后查找fat或fat32分区(部分主板添加了其他文件系统驱动,比如ntfs,hfs,exfat,也会去查找这些分区)。当发现这些分区里面有/efi/boot/boot  详情 回复 发表于 2020-4-21 00:07
回复

使用道具 举报

发表于 2020-4-21 00:07:14 来自手机 | 显示全部楼层
510819776 发表于 2020-4-20 23:58
legacy模式下会读取优盘的0号扇区,然后把它读取到的0号扇区数据当成一段汇编指令运行。但是主板读取到的0 ...

uefi启动会直接读取优盘的分区表,不管是mbr还是gpt,直接读取分区表,然后查找fat或fat32分区(部分主板添加了其他文件系统驱动,比如ntfs,hfs,exfat,也会去查找这些分区)。当发现这些分区里面有/efi/boot/bootx64.efi文件,就把他自动添加到bios启动列表中。 总结一下就是legacy启动会读取优盘0扇区,将它当成汇编程序运行,但由于bios代码没有统一标准,很多bios往往读取到错误的0扇区,导致启动失败。uefi是有统一标准的,uefi内置了优盘驱动,mbr gpt分区表驱动,还有文件系统驱动,uefi简单直接,在优盘fat分区里面找/efi/boot/bootx64.efi,启动的时候就是直接运行这个efi程序,所以uefi启动成功率极高。

点评

电脑系统在uefi模式下,读取到了esp分区的EFI/boot/bootx64.efi或者EFI/microsoft/boot/bootmgfw.efi,然后efi文件指向Microsoft中的BCD文件,进而加载win内核。那么,U盘在读取完bootx64.efi后,指向的是?  详情 回复 发表于 2020-4-21 18:43
谢谢,学到了  详情 回复 发表于 2020-4-21 18:17
四楼五楼讲的明白 受教了  发表于 2020-4-21 15:14

评分

参与人数 1无忧币 +5 收起 理由
undola + 5

查看全部评分

回复

使用道具 举报

发表于 2020-4-21 07:49:05 来自手机 | 显示全部楼层
学习了
回复

使用道具 举报

发表于 2020-4-21 08:29:45 来自手机 | 显示全部楼层
好好学习!
回复

使用道具 举报

发表于 2020-4-21 10:12:16 | 显示全部楼层
学习了
回复

使用道具 举报

 楼主| 发表于 2020-4-21 18:17:07 | 显示全部楼层
zengqcyxx 发表于 2020-4-20 23:37
legacy模式下也就BIOS启动,是读取bootmgr。uefi下是读取EFI\boot\bootx64.efi。
是两套引导文件

学到了
回复

使用道具 举报

 楼主| 发表于 2020-4-21 18:17:20 | 显示全部楼层
510819776 发表于 2020-4-21 00:07
uefi启动会直接读取优盘的分区表,不管是mbr还是gpt,直接读取分区表,然后查找fat或fat32分区(部分主板 ...

谢谢,学到了
回复

使用道具 举报

 楼主| 发表于 2020-4-21 18:34:42 | 显示全部楼层
liu_zhenfeng 发表于 2020-4-20 22:18
https://www.iqiyi.com/playlist509963502.html

谢谢
回复

使用道具 举报

 楼主| 发表于 2020-4-21 18:43:04 | 显示全部楼层
510819776 发表于 2020-4-21 00:07
uefi启动会直接读取优盘的分区表,不管是mbr还是gpt,直接读取分区表,然后查找fat或fat32分区(部分主板 ...

电脑系统在uefi模式下,读取到了esp分区的EFI/boot/bootx64.efi或者EFI/microsoft/boot/bootmgfw.efi,然后efi文件指向Microsoft中的BCD文件,进而加载win内核。那么,U盘在读取完bootx64.efi后,指向的是?

点评

xotboot.xor 菜单文件  详情 回复 发表于 2020-12-10 21:09
指向这个词很不贴切.uefi启动只是负责查找efi/boot/bootx64.efi 然后把它添加到uefi启动项中,至于/efi/microsoft/boot/bootmgfw.efi这个启动项有些主板会自动查找添加,有些主板不会自动查找添加。你从uefi启动,就  详情 回复 发表于 2020-4-22 12:14
回复

使用道具 举报

发表于 2020-4-22 12:14:08 来自手机 | 显示全部楼层
listen_run 发表于 2020-4-21 18:43
电脑系统在uefi模式下,读取到了esp分区的EFI/boot/bootx64.efi或者EFI/microsoft/boot/bootmgfw.efi,然 ...

指向这个词很不贴切.uefi启动只是负责查找efi/boot/bootx64.efi 然后把它添加到uefi启动项中,至于/efi/microsoft/boot/bootmgfw.efi这个启动项有些主板会自动查找添加,有些主板不会自动查找添加。你从uefi启动,就等于是运行了相对应的efi文件。至于bootx64.efi会调用bcd这就扯淡了,那得看你使用的是哪种efi改名来的bootx64.efi  如果你指的是win10pe 那么bootx64.efi会在当前目录查找bcd文件,如果当前目录没有,就读取/efi/microsoft/boot/bcd,如果还是没有,就报错。当然很多bootmgfw.efi被修改了bcd路径,不管怎么改都是优先使用当前目录下的bcd,如果没有就读取/efi/microsoft/boot/bcd.
如果你使用的是别的引导器改名的bootx64.efi 有些efi根本就不会读取bcd 比如xorboot.efi  imgboot.efi ipxe.efi一般都不需要bcd文件。
总之,你把bcd和bootx64.efi放到一起就行了。

点评

想问下,大佬这些东西在哪学的? 一直想制作一个个人pe,不知道应该学习什么。。 是不是还需要阅读微软的各种文档呀?  详情 回复 发表于 2020-4-22 13:24
回复

使用道具 举报

 楼主| 发表于 2020-4-22 13:24:48 | 显示全部楼层
510819776 发表于 2020-4-22 12:14
指向这个词很不贴切.uefi启动只是负责查找efi/boot/bootx64.efi 然后把它添加到uefi启动项中,至于/efi/m ...

想问下,大佬这些东西在哪学的?

一直想制作一个个人pe,不知道应该学习什么。。

是不是还需要阅读微软的各种文档呀?

点评

你只需要电脑安装三种虚拟机就够了。qemu virtualbox vmware 都可以模拟uefi 至于学习,根本不需要查任何资料。你直接下载别人的成品pe,然后自己去强行理解pe结构,总之,你研究pe的时候忘掉一切现有的知识,然后  详情 回复 发表于 2020-4-23 02:13
回复

使用道具 举报

发表于 2020-4-23 02:13:58 来自手机 | 显示全部楼层
listen_run 发表于 2020-4-22 13:24
想问下,大佬这些东西在哪学的?

一直想制作一个个人pe,不知道应该学习什么。。

你只需要电脑安装三种虚拟机就够了。qemu virtualbox vmware 都可以模拟uefi
至于学习,根本不需要查任何资料。你直接下载别人的成品pe,然后自己去强行理解pe结构,总之,你研究pe的时候忘掉一切现有的知识,然后你自己创造理论来解释pe启动,一一验证。不要去看那些死死的常规知识,那样只会限制你的思维。

点评

好的,感谢  详情 回复 发表于 2020-4-23 12:03
回复

使用道具 举报

 楼主| 发表于 2020-4-23 12:03:14 | 显示全部楼层
510819776 发表于 2020-4-23 02:13
你只需要电脑安装三种虚拟机就够了。qemu virtualbox vmware 都可以模拟uefi
至于学习,根本不需要查任 ...

好的,感谢
回复

使用道具 举报

发表于 2020-12-10 21:09:05 | 显示全部楼层
listen_run 发表于 2020-4-21 18:43
电脑系统在uefi模式下,读取到了esp分区的EFI/boot/bootx64.efi或者EFI/microsoft/boot/bootmgfw.efi,然 ...

xotboot.xor 菜单文件
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-3-28 18:22

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表