无忧启动论坛

 找回密码
 注册
搜索
最纯净的「微PE装机优盘」UEPON大师作品系统gho:最纯净好用系统下载站数据恢复、数据保护、视频编辑
Win To Go 极致利器(IXUNCIS固态U盘)无忧启动网成立20周年!广告联系 QQ:184822951 微信:wuyouceo
楼主: 2011hiboy

[原创] UEFI启动视频详解:启动分析+N项操作实例,赶紧学习,不要落伍啦,该给自己充电啦...

    [复制链接]
发表于 2013-4-11 05:00:49 | 显示全部楼层
LZ给力了,话说最近都在埋头搞别的事,都没注意到开了个 UEFI 版,之前在 G4D 区问了一些 UEFI 的问题,也没多少人关注,现在开了个专版是好事。

几个问题:
1.ESP分区不一定要在磁盘首部吧,看截图在磁盘尾部也是可以的,这个对磁盘的整体容量有限制吗?x64寻址应该不会有,问题是ia32架构?而且 FAT 本身就不是为 x64 环境设计的,放在超大硬盘尾部会不会出问题?比如 2T 硬盘甚至以后更大硬盘的尾部分个 100M 出来做 ESP 这种情况?

2.如果磁盘存在多个符合ESP文件目录特征的FAT分区应该是启动找到的第一个ESP分区上的 efi 引导文件?

3.UEFI 启动找 ESP分区中的 /efi/boot/bootXXX.efi 这个路径以及上面提到的启动第一个ESP分区这些策略应该都是在主板的 flash 芯片内代码中的吧?以后不知道能不能直接定制 flash 内的程序,让 uefi 可以不从分区文件引导,直接读磁盘数据,这样就能做一些隐藏了。
回复

使用道具 举报

发表于 2013-4-11 09:04:38 | 显示全部楼层
学习,值得学习。
回复

使用道具 举报

发表于 2013-4-11 09:18:56 | 显示全部楼层
感谢分享,学习新的知识。
回复

使用道具 举报

发表于 2013-4-11 09:32:11 | 显示全部楼层
2011hiboy 发表于 2013-4-9 13:20
G:
假设我买了一台机器,没有预装系统,但是BIOS默认开启UEFI,磁盘格式是GPT,没有光盘,普通的UD维护盘 ...

SELECT DISK=0    // 选择磁盘0  
SELECT PARTITION=1 // 选择磁盘0的1号分区
ASSIGN LETTER=P:/ / 分配盘符P:
EXIT // 退出


希望老师追加一个环境判断语句

如果为GPT分区时搜索或指定ESP(也可能为其他自定义名称)挂载

但如果不是GPT分区,是MBR分区时不挂载

从这个语句上看出,如果磁盘使用的是MRB也会挂C盘为P:

这样有点“画蛇添足”的味道了

元方怎么看?
回复

使用道具 举报

发表于 2013-4-11 10:39:50 | 显示全部楼层
感谢楼主的辛勤劳动
回复

使用道具 举报

 楼主| 发表于 2013-4-11 10:55:54 | 显示全部楼层
本帖最后由 2011hiboy 于 2013-4-11 11:11 编辑
糊涂 发表于 2013-4-11 09:32
SELECT DISK=0    // 选择磁盘0  
SELECT PARTITION=1 // 选择磁盘0的1号分区
ASSIGN LETTER=P:/ / 分 ...


这个只是个核心的命令,没有环境判断,如果mbr格式磁盘的确会有bug。

我待会完善下好了。
完善后可能只需要一个bat文件,但是需要更多的组合命令...
回复

使用道具 举报

 楼主| 发表于 2013-4-11 11:09:13 | 显示全部楼层
本帖最后由 2011hiboy 于 2013-4-11 11:31 编辑
2010qaqz111 发表于 2013-4-11 05:00
LZ给力了,话说最近都在埋头搞别的事,都没注意到开了个 UEFI 版,之前在 G4D 区问了一些 UEFI 的问题,也没 ...


问的深刻!
1、ESP分区:在GPT磁盘首次分区时自动划分的首部FAT分区。其他一切FAT分区情况都不叫ESP,可以叫普通分区。既然在GPT格式下,那不管分在哪里都可以寻址找的,
     不管IA32和X64,都可以找得到。

2、依次读取FAT内的指定文件吧,[已验证]。
     在GPT磁盘乱序开辟3个FAT分区,在第一个FAT放置EFI SHELL,第二个放入UEFI PE启动菜单,第三个放置引导win8的uefi文件
     果然直接引导EFI SHELL,如果删除第一个分区FAT或者删除其内资料,那么依次引导UEFI PE。。。。
3、不是查找ESP分区,而是FAT分区,而一般情况下ESP是FAT格式,故表现为查找ESP分区。如果ESP分区和其他FAT同在那么因为ESP在前也是引导ESP分区,将其资料移到
     任意FAT分区内,那么将引导该FAT分区而非ESP。至于定制flash程序的事不好说了。
回复

使用道具 举报

发表于 2013-4-11 11:25:56 | 显示全部楼层
2011hiboy 发表于 2013-4-11 10:55
这个只是个核心的命令,没有环境判断,如果mbr格式磁盘的确会有bug。

我待会完善下好了。

好的,完善好后记着通知我!我可是楼主的忠实粉丝呵呵
回复

使用道具 举报

发表于 2013-4-11 13:13:38 | 显示全部楼层
这个必须得顶啊,一直想补充一下UEFI的知识,可是资料太少了,楼主给我不少新的内容,谢谢,谢谢!
回复

使用道具 举报

发表于 2013-4-11 15:23:53 | 显示全部楼层
2010qaqz111 发表于 2013-4-11 05:00
LZ给力了,话说最近都在埋头搞别的事,都没注意到开了个 UEFI 版,之前在 G4D 区问了一些 UEFI 的问题,也没 ...

1、GPT分区时一般会默认自动创建ESP分区,但如果你强制手动删除ESP分区的话,在尾部创建ESP分区也是可以的。但进几年,最好不要让ESP分区出现在2T以外的区域,虽然uefi启动本身完全支持这种样子分区,但难保主板或者系统存在bug,让2T以上的ESP分区启动出现问题

3、UEFI启动本身就是为了抛弃bios启动那种方式而采用从文件启动的,你要直接从磁盘某些扇区读取数据启动,这是在开历史的倒车。另一方面,GPT分区规定了,GPT硬盘不能存在不属于任何分区的隐藏区域(除了硬盘开始用于GPT分区表的区域),所以要启动的文件必须存在于某个分区中
回复

使用道具 举报

 楼主| 发表于 2013-4-11 15:42:10 | 显示全部楼层
糊涂 发表于 2013-4-11 11:25
好的,完善好后记着通知我!我可是楼主的忠实粉丝呵呵

批处理编写完毕.你自行下载测试.我在UEFI IA32、X64 构架下均测试成功!!!智能识别GPT磁盘,和ESP分区的
回复

使用道具 举报

发表于 2013-4-11 15:44:15 | 显示全部楼层
学习了 很NXX呀
回复

使用道具 举报

发表于 2013-4-11 15:50:09 | 显示全部楼层
特来充电,谢谢!
回复

使用道具 举报

发表于 2013-4-11 15:50:16 | 显示全部楼层
2011hiboy 发表于 2013-4-11 15:42
批处理编写完毕.你自行下载测试.我在UEFI IA32、X64 构架下均测试成功!!!智能识别GPT磁盘,和ESP分区的 ...

感谢老师第一时间通知!我下载测试一下
回复

使用道具 举报

发表于 2013-4-11 16:42:24 来自手机 | 显示全部楼层
潜水中。。。
回复

使用道具 举报

发表于 2013-4-11 17:12:14 | 显示全部楼层
本帖最后由 糊涂 于 2013-4-11 17:18 编辑
2011hiboy 发表于 2013-4-11 15:42
批处理编写完毕.你自行下载测试.我在UEFI IA32、X64 构架下均测试成功!!!智能识别GPT磁盘,和ESP分区的 ...

辛苦老师一步步的改进修正!
我个人加了个VBS调用BAT文件,
这样进桌面的时候在后台自动操作,
没有明显的窗口提示信息!

VBS内容如下

Set shell = Wscript.createobject("wscript.shell")
a = shell.run ("%Windir%\System32\esp.bat",0)

挂载.png

ESP智能挂载.rar (15.93 KB, 下载次数: 65)
回复

使用道具 举报

 楼主| 发表于 2013-4-11 17:21:43 来自手机 | 显示全部楼层
糊涂 发表于 2013-4-11 17:12  辛苦老师一步步的改进修正!  我个人加了个VBS调用BAT文件,  这样进桌面的时候在后台自动操作,

直接pecmd隐藏调用批处理即可,无需vbs
回复

使用道具 举报

发表于 2013-4-11 17:27:51 | 显示全部楼层
2011hiboy 发表于 2013-4-11 17:21
直接pecmd隐藏调用批处理即可,无需vbs

直接PECMD隐藏?应该怎么写呢?
应该是可以。。。求教老师
回复

使用道具 举报

 楼主| 发表于 2013-4-11 18:29:41 来自手机 | 显示全部楼层
本帖最后由 2011hiboy 于 2013-4-11 18:41 编辑

写到pecmd.ini ,注意esp.bat的路径,!是表示隐藏执行…

EXEC !esp.bat
回复

使用道具 举报

发表于 2013-4-11 19:28:52 | 显示全部楼层
其实我想问问的是UEFI、EFI、Bios这三者的区别?通俗点分析下,最近才接触这个UEFI...
回复

使用道具 举报

发表于 2013-4-11 19:39:51 | 显示全部楼层
这个得好好学习,不然就成电脑盲了。
回复

使用道具 举报

发表于 2013-4-11 19:59:27 | 显示全部楼层
2011hiboy 发表于 2013-4-11 18:29
写到pecmd.ini ,注意esp.bat的路径,!是表示隐藏执行…

EXEC !esp.bat

已经完成!
回复

使用道具 举报

 楼主| 发表于 2013-4-11 20:02:20 | 显示全部楼层
糊涂 发表于 2013-4-11 19:59
已经完成!

ESP.bat你实际测试没有问题吧,不会把mbr c:给改了吧。
现在开启pe就能看见esp分区,安装系统没问题的说。
回复

使用道具 举报

发表于 2013-4-11 20:18:16 | 显示全部楼层
2011hiboy 发表于 2013-4-11 20:02
ESP.bat你实际测试没有问题吧,不会把mbr c:给改了吧。
现在开启pe就能看见esp分区,安装系统没问题的说 ...

实机与虚拟机都测试了,这回可以称之为“智能挂载”了!

一个操作解决诸多问题,连WINNT助手的问题也给解决了,本来想给它重新打包的

现在看来没这个必要了
回复

使用道具 举报

发表于 2013-4-11 20:45:56 | 显示全部楼层
学习了,从大师这儿学到不少知识,向大师致敬!
回复

使用道具 举报

发表于 2013-4-11 22:31:44 | 显示全部楼层
本帖最后由 2013hkwwcl 于 2013-4-11 22:42 编辑
2011hiboy 发表于 2013-4-11 20:02
ESP.bat你实际测试没有问题吧,不会把mbr c:给改了吧。
现在开启pe就能看见esp分区,安装系统没问题的说 ...


看了一下批处理,感觉没有考虑到两块gpt硬盘的情况,那样就会有两个*号,导致硬盘选择失败吧
PS:用U盘测试了一下,确实会失败,不过一般人都是一块gpt,应该没啥问题,感谢提供批处理!!
回复

使用道具 举报

 楼主| 发表于 2013-4-11 23:00:51 | 显示全部楼层
本帖最后由 2011hiboy 于 2013-4-11 23:02 编辑
2013hkwwcl 发表于 2013-4-11 22:31
看了一下批处理,感觉没有考虑到两块gpt硬盘的情况,那样就会有两个*号,导致硬盘选择失败吧
PS:用U盘 ...


我知道,写的时候我就注意到了,就参照一个GPT磁盘写的,两个的话考虑到2 个GPT 磁盘的情况很少,添加成2个或更多也可以,需要多写循环结构,暂时就这样吧。以后再升级命令。
回复

使用道具 举报

发表于 2013-4-11 23:42:51 | 显示全部楼层
2011hiboy 发表于 2013-4-11 23:00
我知道,写的时候我就注意到了,就参照一个GPT磁盘写的,两个的话考虑到2 个GPT 磁盘的情况很少,添加成 ...

是否可以使用list vol命令,然后token 2,3,如果3不为空,就选择该卷并分配盘符,这样就不管是不是gpt,凡是隐藏的全部分配。具体怎么写就不知道了,批处理最多只会看看。。。
回复

使用道具 举报

 楼主| 发表于 2013-4-12 02:55:09 | 显示全部楼层
2013hkwwcl 发表于 2013-4-11 23:42
是否可以使用list vol命令,然后token 2,3,如果3不为空,就选择该卷并分配盘符,这样就不管是不是gpt, ...

我已经做好了完美版,理论上支持N个GPT磁盘的ESP分区挂载。其实ESP分区不算隐藏分区,它没有隐藏的属性,只是没有盘符访问,和隐藏不一样。

你说的不可行,list volume 可以看到很多分区,但是分配盘符必需先制定该分区在的磁盘,再制定该分区,再分配盘符
回复

使用道具 举报

发表于 2013-4-12 03:26:57 | 显示全部楼层
楼主有兴趣可以做一下UEFI+MBR启动windows的教程,或者是mbr硬盘上win7/win8单系统bios/gpt双模式启动。

因为对于目前大多数人来说,只要不用2TB以上容量的硬盘,GPT分区表并不是必须的,而且用了GPT的硬盘就没办法用bios模式启动windows和其他老系统了。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2020-11-25 07:00

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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