无忧启动论坛

标题: UD三分区补充教程3--三分区的efi区细节不同对efi兼容性的影响(初步结论) [打印本页]

作者: zds1210    时间: 2015-9-5 14:43
标题: UD三分区补充教程3--三分区的efi区细节不同对efi兼容性的影响(初步结论)
本帖最后由 zds1210 于 2020-4-6 23:16 编辑

我亲戚有一台弱efi主板,只支持U+高端隐藏,不支持U+低端隐藏。同时,如果物理分区顺序与软件分区顺序不一致时,就不认efi启动。貌似比一般的只支持U+高端隐藏的efi的主板还要弱。


标准U+高端隐藏,数据区格式成ntfs或exfat,这台机子efi启动成功。
同是UD三分区或U深三分区。
手工先U+后UD法的uD三分区,龙哥哥制作的主程序UD三分区,台湾人制作的U深三分区,efi启动成功。
同一U盘,同一PE,用kva基于gdisk命令行的优启通制作的UD三分区,基于分区助手命令行的UD三分区,还有基于分区助手命令行的U深三分区,efi启动时,在bios中能显示也efi选择,选择这项来启动,都不能efi启动。
经过多次反复实测,目前对这台机子来说,可以排除的是:
1ntfs或exfat不受影响。激活区不影响,激活data或efi区对efi兼容性无影响。
2排除U盘主控和PE的影响。同一U盘,同一PE,用不同的工具写入,结果不同。
3手工改高端区efi的id号对这台机子无作用。
4 U盘4k对不对齐无 影响。U+法是4K对齐的,龙哥哥早期版本4k不对齐,都可以efi启动。
5 DATA区和efi区中间有3M左右的未分配空间,efi区右端有2M未分配空间对efi启动无影响。当然全部空间连在一起也无影响,先U+后UD法,data区和efi之间及efi区之后无未分配空间,也能efi启动。
6用系统自带的工具按默认的簇重新格式化后efi数据区,并写入PE数据,仍不能efi启动。
7设置与取消高端efi区的隐藏属性H对efi启动无影响。

2016年暑假,我又反复对这台电脑和戴尔只支持U+高端隐藏efi的机子测试,得出初步结论:
1用gdisk命令行或分区助手命令行制作的高端efi区,在这台弱efi主板上不能启动;但如果用diskgeuis删除这个分区并重新建立fat分区(貌似大部分时间也可用分区助手图形界面,不行再调整一下efi分区大小),然后重新格式化为标准的fat16区,写入efi数据,这台机子就能efi启动成功了。注意,用dg只重新格式化,或用系统自带工具重新格式化高端efi区,是不能efi启动的。关键是在建立高端隐藏efi分区,或适合用调整efi分区大小,这步上。
初步可以认为,gdisk和分区助手命令行制作的高端隐藏区,是一种非标准规范的fat区,没有按照微软标准制作。所以,efi启动兼容性 差一些。
2同是只支持U+高端隐藏的机子,貌似又可以分为两大类:
a极少数机子,只支持标准规范的高端隐藏fat区,如U+法,diskpart分区法,dg分区法……。这类机子数量应该非常少。
b大部分机子比较强的U+高端隐藏机子,用gdisk或分区助手命令行制作的非标准规范的高端隐藏fat区,仍能efi启动。
3就efi区的一键制作来建立来看,龙哥哥和台湾人貌似都得到了U+法的真传。



作者: zds1210    时间: 2015-9-5 14:55
本帖最后由 zds1210 于 2015-9-5 15:01 编辑

占一楼,台湾大师的工具。

ali88home大师原话:发现这样的制作磁盘区,没有连续磁盘扇号

作者: 贝壳iT    时间: 2015-9-5 15:37
zds1210 发表于 2015-9-5 14:55
占一楼,台湾大师的工具。

ali88home大师原话:发现这样的制作磁盘区,没有连续磁盘扇号


目前分区助手是这样的,添加了对其参数也是如此的。
另外有些主板可以在EFI将NTFS也列在EFI菜单中,但是你选择的时候会直接启动硬盘上的系统。
怎么判断?
这情况会出现两个 EFI 你的U盘名称..
数据区格式化成EXFAT可以消除一个, 或者两个EFI 选项都试一下,其中一个是可以的
作者: 贝壳iT    时间: 2015-9-5 15:44
另外创建分区比如指定 1024MB,因为实际特殊情况,肯定创建的分区不是精准的1024MB的,所以你在后面创建EFI的时候不要指定向左移动的大小,而是用 auto这个参数会更好一点

根据EFI设置的容量调用partassist.exe 在数据区右边分割出一个EFI空白区,大小是512MB
PartAssist.exe /hd:2 /resize:0 /reduce-right:512 /out:data\api.err

根据EFI空间容量设置来判断创建EFI分区的格式 FAT16/FAT32,同时为了空闲区域都用上,这里不要使用512而是/size:auto
PartAssist.exe /hd:2 /cre /pri /size:auto /end /fs:fat16 /align /label:EFI /out:data\api.err

作者: zds1210    时间: 2015-9-5 16:08
我就是这样子搞,efi启动还是出错。
作者: zds1210    时间: 2015-9-5 16:12
贝壳iT 发表于 2015-9-5 15:44
另外创建分区比如指定 1024MB,因为实际特殊情况,肯定创建的分区不是精准的1024MB的,所以你在后面创建EFI ...

我一直用auto参数的。但貌似也会efi失败。原因不知。

作者: zds1210    时间: 2015-9-5 16:13
贝壳iT 发表于 2015-9-5 15:37
目前分区助手是这样的,添加了对其参数也是如此的。
另外有些主板可以在EFI将NTFS也列在EFI菜单中,但 ...

这台主板,试过了,数据区格式成exfat或ntfs不受影响,能启动都启动,不能启动都不能启动。
作者: 贝壳iT    时间: 2015-9-5 16:23
zds1210 发表于 2015-9-5 16:08
我就是这样子搞,efi启动还是出错。

那你手动调整分区间隔处空闲试试。
作者: mdyblog    时间: 2015-9-5 16:26
麻烦请 Z大用 这台机器 这个PE 测试 下 MBROSTool!

工具: http://pan.baidu.com/s/1mgMidVM#MBROS5.5  (9.3版)
界面设置(换成你的PE的ISO或压缩包或解开的目录):



作者: 2012zhd    时间: 2015-9-5 16:59
我的两个u盘,小的这个是你的cmd制作的,大的这个是手工先u+后ud部署的,扇区是连续的。


猜测可能与主控有关。
作者: zds1210    时间: 2015-9-5 21:11
2012zhd 发表于 2015-9-5 16:59
我的两个u盘,小的这个是你的cmd制作的,大的这个是手工先u+后ud部署的,扇区是连续的。


确实,我用最新版的cmd和默默的主程序制作,data和efi扇区两个是连续的,看来主要在于fat16分区格式的细微差别,或有其它微小的原因。

作者: 2012zhd    时间: 2015-9-5 21:29
本帖最后由 2012zhd 于 2015-9-5 21:32 编辑
zds1210 发表于 2015-9-5 21:11
确实,我用最新版的cmd和默默的主程序制作,data和efi扇区两个是连续的,看来主要在于fat16分区格式的 ...


把efi分区换成fat32会不会启动,今天碰到一台戴尔本子,原装8.1系统,看了下前面两个分区都是fat32格式的。
另外改一下分区标识,比如EF会不会启动。
作者: guatwhq    时间: 2015-9-5 22:05
学习一下
作者: zds1210    时间: 2015-9-5 22:27
本帖最后由 zds1210 于 2015-9-5 22:49 编辑
2012zhd 发表于 2015-9-5 21:29
把efi分区换成fat32会不会启动,今天碰到一台戴尔本子,原装8.1系统,看了下前面两个分区都是fat32格式 ...


好了,目前都是标准fat16,手工法及龙哥哥的没有问题。所以不讨论fat32.
貌似ef这个分区标识也无用。
所以,问题出在哪里,伤脑子。

好了,看清楚帖子问题再说。其它问题不在此帖子讨论之列。
作者: 贝壳iT    时间: 2015-9-6 10:03
zds1210 发表于 2015-9-5 22:27
好了,目前都是标准fat16,手工法及龙哥哥的没有问题。所以不讨论fat32.
貌似ef这个分区标识也无用。
...

回到之前的方式,激活加隐藏efi,同时数据区激活或者不激活都试一下
作者: zds1210    时间: 2015-9-6 10:20
本帖最后由 zds1210 于 2015-9-6 10:22 编辑
贝壳iT 发表于 2015-9-6 10:03
回到之前的方式,激活加隐藏efi,同时数据区激活或者不激活都试一下


实测与这个无关系。龙哥哥新版的就是激活data区,efi不设置H属性,数据区格式为ntfs或exfat,都efi启动无忧。
所以,关系问题不在这些。帖子里都有很细的说明
作者: 秋月云开    时间: 2015-9-6 21:56
问问C大关于EFI分区标识的情况
1、安装效果附图USBOS V2.0.2015.0427
a、普通标准U盘


b、移动硬盘及某些被Windows识别为移动硬盘的U盘


2、安装效果附图USBOS V2.0.2015.0616


作者: xyxb    时间: 2015-9-7 07:53

作者: 2011npwjm    时间: 2015-9-7 08:55
谢谢楼主的分享
作者: zds1210    时间: 2015-9-7 12:23
本帖最后由 zds1210 于 2015-9-7 12:29 编辑
秋月云开 发表于 2015-9-6 21:56
问问C大关于EFI分区标识的情况
1、安装效果附图USBOS V2.0.2015.0427
a、普通标准U盘


普通U盘,都是根据以前补充教程1里说的,来制作的。
激活区,数据区格式,efi区分区标识,完全一致,但efi启动效果不同。
特别怪 。
作者: mdyblog    时间: 2015-9-7 12:51
本帖最后由 mdyblog 于 2015-9-7 12:54 编辑
zds1210 发表于 2015-9-7 12:23
普通U盘,都是根据以前补充教程1里说的,来制作的。
激活区,数据区格式,efi区分区标识,完全一致, ...


你用
pecmd part  -gui -report
(也可以PECMD part -gui
然后 点下面的【导出】按钮,参见楼上“秋月云开”的图
导出的 不同结果,贴上来, 我看能不能分析出什么来。

用UI格式化,确认能EFI启动, pecmd part  -gui -report 贴出图 (也可粘贴文本)。

再用对比的方法(EFI失败),确认能EFI启动失败, pecmd part  -gui -report 贴出图。
作者: zds1210    时间: 2015-9-7 12:58
本帖最后由 zds1210 于 2015-9-7 13:41 编辑
mdyblog 发表于 2015-9-7 12:51
你用
pecmd part  -gui -report
(也可以PECMD part -gui


这个方法强。
现在病了,等身体好点再说。
抱病弄了一下:

1标准U+高端隐藏,数据区激活并格式化为ntfs,并去掉efi区属性,正常弱efi启动


2基于分区助手命令行制作的UD三分区的efi区,不能正常弱efi启动


3龙哥哥的UD三分区制作 的efi区,能正常弱efi启动。


4用先U+高端后UD法手工制作,能正常弱efi启动的机子

作者: mdyblog    时间: 2015-9-7 15:13
本帖最后由 mdyblog 于 2015-9-7 17:57 编辑
zds1210 发表于 2015-9-7 12:58
这个方法强。
现在病了,等身体好点再说。
抱病弄了一下:


不是这个图。 这个信息不够。

是这个图:


你的PECMD版本有点低。最新: PECMD.rar (750.47 KB, 下载次数: 28)
作者: mdyblog    时间: 2015-9-7 15:52
本帖最后由 mdyblog 于 2015-9-7 15:59 编辑
zds1210 发表于 2015-9-7 12:58
这个方法强。
现在病了,等身体好点再说。
抱病弄了一下:


看来下2(EFI失败的那个)  
EFI区不是 4K对齐的。

你用分区软件 缩小为204800K试试。

PECMD PART -gui  调整如下:
1) 选择该U盘。 选中 分区1#, 下面【交换物理号】左边显示2,点 【交换物理号】。确认 EFI分区换到1#了。
2)选中 分区1#,点下面【修改】,便宜单位 改为K, 下面大小输入204800
3)在我的电脑,重新格式化该分区, FAT格式。 再拷入EFI系统文件。
4) 选中 分区1#, 下面【交换物理号】左边显示2,点 【交换物理号】。确认 EFI分区换到2#了。
再去试试EFI启动。


另外, PECMD 有个示例: 制作3分区的。
PECMD2012.1.88.05.71-130810中英.多窗口线程稳定版_win32_64.Imdisk内置.7z\示例\Mk3PART.WCS
这个分出来的3分区是4k对齐的。

作者: zds1210    时间: 2015-9-7 19:33
mdyblog 发表于 2015-9-7 15:13
不是这个图。 这个信息不够。

是这个图:


已经用新版的,弄出两图,请大大分析原因:

1龙哥哥UD三分区主程序制作,在那台极弱的efi板子上可以efi启动。




2基于分区助手命令行制作的UD三分区,在那台极弱的efi板子上efi启动失败。

作者: mdyblog    时间: 2015-9-7 20:46
zds1210 发表于 2015-9-7 19:33
已经用新版的,弄出两图,请大大分析原因:

1龙哥哥UD三分区主程序制作,在那台极弱的efi板子上可 ...

目前就看到 EFI分区 不是 4K对齐。

254803456 = 248831.5K
缩小为204800K 试试。
作者: zds1210    时间: 2015-9-8 10:30
本帖最后由 zds1210 于 2015-9-8 10:32 编辑
mdyblog 发表于 2015-9-7 20:46
目前就看到 EFI分区 不是 4K对齐。

254803456 = 248831.5K


下次我把efi分区大小弄成一样,再来做,请M大好好帮我分析下。
作者: disktool    时间: 2015-9-8 11:09
zds1210 发表于 2015-9-8 10:30
下次我把efi分区大小弄成一样,再来做,请M大好好帮我分析下。

对比下这两种EFI分区的DBR的参数呢,可以使用 WINHEX来查看其DBR。
作者: mdyblog    时间: 2015-9-8 11:14
本帖最后由 mdyblog 于 2015-9-8 11:16 编辑
zds1210 发表于 2015-9-8 10:30
下次我把efi分区大小弄成一样,再来做,请M大好好帮我分析下。


PECMD重新分区的代码: part_efi.zip (345 Bytes, 下载次数: 9)
  1. #code=936T950
  2. ENVI^  ForceLocal=1

  3. SET hd=1  //磁盘号,从0开始
  4. set off1=480247808
  5. set len1=1308622848
  6. set off2=1788870656
  7. set len2=209715200

  8. part -mbr -super -phy  -fs %hd%#1  a 0x07  %off1% %len1%
  9. part -mbr -super -phy  -fs %hd%#2 -a 0x06  %off2% %len2%
  10. part -mbr -super -phy  del %hd%#3  
  11. part -mbr -super -phy  del %hd%#4  

  12. part -up hupdate %hd%
复制代码


分完后重新格式化。
再拷入EFI文件即可。

作者: 秋月云开    时间: 2015-9-8 11:28
zds1210 发表于 2015-9-7 12:23
普通U盘,都是根据以前补充教程1里说的,来制作的。
激活区,数据区格式,efi区分区标识,完全一致, ...

谢谢独剑大师回复,谢谢M大的指导,涨知识了。不过我不懂。上面的图是C大的安装教程里。
作者: 风神    时间: 2015-9-8 12:56
zds1210 发表于 2015-9-8 10:30
下次我把efi分区大小弄成一样,再来做,请M大好好帮我分析下。

ud三分区的u盘,用了一段时间后,uefi失灵。bios正常启动,难道是u盘质量问题
作者: xtwj    时间: 2015-9-14 12:47
独剑老大,能否告诉小白,龙哥哥是谁?
作者: 风神    时间: 2015-9-24 15:59
zds1210 发表于 2015-9-7 12:58
这个方法强。
现在病了,等身体好点再说。
抱病弄了一下:

那现在究竟你的最新的哪一版最保险
作者: jmjmbj    时间: 2015-11-21 10:15
   UltraISO,打开ISO映像–>启动–>写入硬盘映像
   这种方式,似乎支持常见的新旧电脑,还简单。
作者: 2012hzy6420    时间: 2015-11-23 06:43
xxfx谢谢分享
作者: kkkiti    时间: 2015-12-28 18:44
独剑大大 最终有没有试验出结果?
作者: zds1210    时间: 2015-12-28 21:04
kkkiti 发表于 2015-12-28 18:44
独剑大大 最终有没有试验出结果?

现在只能说暂时无解啊。这个要各位大大努力才能解决。
作者: zds1210    时间: 2016-8-16 02:21
2016年暑假,我又反复对这台电脑和戴尔只支持U+高端隐藏efi的机子测试,得出初步结论:
1用gdisk命令行或分区助手命令行制作的高端efi区,在这台弱efi主板上不能启动;但如果用diskgeuis(貌似有时用分区助手图形界面)删除这个分区并重新建议fat分区,然后重新格式化为标准的fat16区,写入efi数据,这台机子能efi启动成功。注意,用dg只重新格式化,或用系统自带工具重新格式化高端efi区,是不能efi启动的。关键是在建立高端隐藏efi分区这步上。
初步可以认为,gdisk和分区助手命令行制作的高端隐藏区,是一种非标准规范的fat区,没有按照微软标准制作。所以,efi启动兼容性 差一些。
2同是只支持U+高端隐藏的机子,貌似又可以分为两大类:
a极少数机子,只支持标准规范的高端隐藏fat区,如U+法,diskpart分区法,dg分区法。这类机子数量应该非常少。
b大部分机子比较强的U+高端隐藏机子,用gdisk或分区助手命令行制作的非标准规范的高端隐藏fat区,仍能efi启动。

作者: ali88home    时间: 2016-10-2 12:19
很久没有接触,看到Z大信息上来看看,Uefi会启动失败的原因。

Uefi会启动失败,可能引导区已经被破坏,在自己常常制作引导文件和文件复制增加的同时可能破坏了引导而不知。

我工具制作,使用磁盘扇号数计算来分区,所以正确扇区数两个是连续的,不会在中间和后面有剩下空间。至于这样会不会影响启动,应该是排除一些几率吧!
详细的情形还是需要大家测试才正确。


作者: zds1210    时间: 2016-10-2 15:32
ali88home 发表于 2016-10-2 12:19
很久没有接触,看到Z大信息上来看看,Uefi会启动失败的原因。

Uefi会启动失败,可能引导区已经被破坏, ...

谢谢ali大师的回复,目前在哪台弱的efi主板中,扇区连续不连续的问题并不对启动兼容性影响。
但不排除在别的机子上有影响。
最后一个版本的U深三分区全自动写入,貌似写入efi区有问题,PE引导失败,希望修正。考虑了一下,分区引导easyboot看来没有必要了。
作者: ali88home    时间: 2016-10-2 17:11
zds1210 发表于 2016-10-2 15:32
谢谢ali大师的回复,目前在哪台弱的efi主板中,扇区连续不连续的问题并不对启动兼容性影响。
但不排除在 ...

刚刚测试了一下下,Uefi启动成功,没有您说的情形。只是容量限制到4G大,无法突破。


作者: mx5840725    时间: 2016-10-2 17:59
辛苦了。
作者: zds1210    时间: 2016-10-2 19:10
ali88home 发表于 2016-10-2 17:11
刚刚测试了一下下,Uefi启动成功,没有您说的情形。只是容量限制到4G大,无法突破。

是bios下03PE和8PE都启动失败。
作者: ali88home    时间: 2016-10-2 20:58
zds1210 发表于 2016-10-2 19:10
是bios下03PE和8PE都启动失败。

前面低端分区放grldr文件,BIOS-PE文件放在高端UEFI分区里面,怎么可能不启动呢?


作者: zds1210    时间: 2016-10-2 21:19
ali88home 发表于 2016-10-2 20:58
前面低端分区放grldr文件,BIOS-PE文件放在高端UEFI分区里面,怎么可能不启动呢?

我 的PE,测试bios进不了PE。以前版本没有的。好好检查下。
作者: ali88home    时间: 2016-10-2 21:53
本帖最后由 ali88home 于 2016-10-2 22:45 编辑
zds1210 发表于 2016-10-2 21:19
我 的PE,测试bios进不了PE。以前版本没有的。好好检查下。


测试Z大PE
bios-引导



2003PE启动



8PE散开启动








欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3