无忧启动论坛

标题: 请问下PE是怎么实现传统引导和UEFI引导同时支持的 [打印本页]

作者: lihui612ld    时间: 2020-12-15 13:05
标题: 请问下PE是怎么实现传统引导和UEFI引导同时支持的
例如ITTK的优启通,就是即可以支持UEFI引导,又可以legacy,这是怎么实现的,能不能把这种思路用到系统引导上来。
作者: 2012zhiwen    时间: 2020-12-15 13:44
很简单。
作者: ahxx    时间: 2020-12-15 15:30
2012zhiwen 发表于 2020-12-15 13:44
很简单。

请复杂的指点
作者: 2012zhiwen    时间: 2020-12-15 16:35
ahxx 发表于 2020-12-15 15:30
请复杂的指点

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=300422

看下这个贴
作者: hilsonma    时间: 2020-12-15 17:53
有很多方法可以实现。
我是使用grub4dos做legacy引导,使用grub2做uefi引导。

因为同一个pe要用于多台电脑上,这些电脑有的支持uefi,有的不支持,所以才需要双引导
系统是在硬盘上的,一般只能用于同样的配置上,这样的配置是否支持uefi已经确定,所以没有必要做双引导,当然,要做也是可以的。

有兴趣的话,把你的u盘和硬盘结构贴上来,可以给你一个方案。
例如我的:



作者: 2012zhiwen    时间: 2020-12-15 20:42
hilsonma 发表于 2020-12-15 17:53
有很多方法可以实现。
我是使用grub4dos做legacy引导,使用grub2做uefi引导。

你这个是什么分区工具呢
作者: ljq0527    时间: 2020-12-15 21:01
2012zhiwen 发表于 2020-12-15 20:42
你这个是什么分区工具呢

这个看起来像是bootice里面的分区管理界面吧
作者: hilsonma    时间: 2020-12-15 21:51
本帖最后由 hilsonma 于 2020-12-15 21:53 编辑
2012zhiwen 发表于 2020-12-15 20:42
你这个是什么分区工具呢

是bootice的分区管理,可用来快速查看分区情况
要调整就用DiskGenius
要扇区对齐就用傲梅分区助手
作者: 2012zhiwen    时间: 2020-12-15 23:39
ljq0527 发表于 2020-12-15 21:01
这个看起来像是bootice里面的分区管理界面吧

感谢,我试下看看
作者: 2012zhiwen    时间: 2020-12-15 23:39
hilsonma 发表于 2020-12-15 21:51
是bootice的分区管理,可用来快速查看分区情况
要调整就用DiskGenius
要扇区对齐就用傲梅分区助手

谢谢,我试下看看
作者: nttwqz    时间: 2020-12-15 23:50
  1. bcdboot c:\windows /s z: /l zh-CN /f all
复制代码

作者: lps4290    时间: 2020-12-16 01:05
实际就是往U盘引导区放legacy和UEFI两套引导文件,BIOS会根据引导方式的设定加载其中对应的一套引导文件启动。
作者: hilsonma    时间: 2020-12-16 08:21
本帖最后由 hilsonma 于 2020-12-16 08:40 编辑
2012zhiwen 发表于 2020-12-15 23:39
感谢,我试下看看

我那两个图是我的U盘和硬盘的分区情况,并没有显示引导
我的意思是先了解分区情况,再了解使用场景,根据使用场景和分区情况来做相应的引导

比如:
32位的设备要做efi引导只能用32位的efi引导
64位的设备要做efi引导只能用64位的efi引导
legacy引导就不分32位还是64位,但做U盘引导时,不支持LBA的设备(一些10年前的老设备)用fbinst引导可能成功率高些,支持LBA的设备选择余地较多,就看第一分区前的空闲情况:wee要62个扇区,g4d要16个扇区,nt6只要1个扇区做主引导但还要进一步做分区引导。


作者: 2010sya    时间: 2020-12-16 09:02
本帖最后由 2010sya 于 2020-12-16 09:09 编辑

1、说个最简单的,现在8、10PE大都支持双引导,只要用u+方式写入优盘就好了。。。
2、要说原理的话,现在的电脑,老一点的可能只支持bios方式,多数的同时支持bios/uefi两种引导模式,两种模式分别对应两套引导文件。。。

3、如果电脑当前系统是bios引导的,想改为uefi引导,可以使用11#提供的命令。。。
4、hilsonma提供的资料可以好好研究一下


双引导说简单也简单,说复杂也挺复杂,多用用就好了。。。





作者: ahxx    时间: 2020-12-16 11:16
2012zhiwen 发表于 2020-12-15 16:35
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=300422

看下这个贴

感谢分享
作者: lihui612ld    时间: 2020-12-16 20:51
lps4290 发表于 2020-12-16 01:05
实际就是往U盘引导区放legacy和UEFI两套引导文件,BIOS会根据引导方式的设定加载其中对应的一套引导文件启 ...

是的,关键是要怎么做,我也知道你说的这套原理,就是做不出来,尝试好多次,均以失败告终
作者: lps4290    时间: 2020-12-16 22:01
本帖最后由 lps4290 于 2020-12-16 22:16 编辑
lihui612ld 发表于 2020-12-16 20:51
是的,关键是要怎么做,我也知道你说的这套原理,就是做不出来,尝试好多次,均以失败告终

很简单啊,用系统自带的bcdboot命令就可以实现。

首先,在一块MBR硬盘上分一个FAT16或FAT32的分区出来,100MB足够了,并且设为活动分区,假设盘
符为Z: ,并且确保此硬盘主引导记录、活动分区引导记录正常,如图所示。

然后,运行 bcdboot C:\windows /s Z: /f all

Z盘就会生成两套引导文件,其中EFI目录用于UEFI引导,隐藏的bootmgr、BOOTNXT、Boot目录用于legacy。
重启进BIOS,设置从这块MBR硬盘启动,就能启动C:\windows系统了,无论BIOS设置的是哪种启动。
不过要注意,有些较新主板需要在BIOS中开启CSM才能legacy引导。

如果所有硬盘都是GPT,那就没办法实现legacy引导了,因为GPT硬盘没有主引导记录、活动分区这些
概念,所以即使在某分区生成了bootmgr、BOOTNXT、Boot目录,BIOS也找不到路去读取。

你也可以找一只U盘来测试,保证分区表类型是MBR、存在一个FAT16或FAT32活动分区,运行 bcdboot

命令将引导文件生成到U盘活动分区,重启从这个U盘启动即可。








作者: hilsonma    时间: 2020-12-16 22:38
lihui612ld 发表于 2020-12-16 20:51
是的,关键是要怎么做,我也知道你说的这套原理,就是做不出来,尝试好多次,均以失败告终

先确认只插一个U盘到电脑上,这个U盘将被制作成legacy/uefi双启动
http://hilsonma.ys168.com/ 下载 bootu 里的 双启U盘制作脚本.7z
解压后运行 双启U盘制作脚本.cmd
将你想要启动的pe的wim镜像命名为pe.wim放到任一分区的根目录
使用这个U盘启动就可以进入pe,legacy和uefi都可以。
作者: hilsonma    时间: 2020-12-16 23:03
本帖最后由 hilsonma 于 2020-12-16 23:07 编辑
lps4290 发表于 2020-12-16 22:01
很简单啊,用系统自带的bcdboot命令就可以实现。

首先,在一块MBR硬盘上分一个FAT16或FAT32的分区出来 ...

bcdboot 是实现了windows的双引导
磁盘的双引导还要另外制作

gpt硬盘也可以实现legacy引导的,将grldr_gpt.mbr 写到第一扇区,将grldr.mbr写到第一分区前的空闲空间
参见 http://bbs.wuyou.net/forum.php?m ... 0920&fromuid=586362
贴中的grldr_gpt_boot.bin我改名为grldr_gpt.mbr

不过不是熟手的话建议不要搞,万一搞丢数据就惨了
硬盘也不是很有双启的必要,极少拿硬盘到不同的电脑上运行的吧。
用U盘双启就可以了,同样可以用U盘启动硬盘上的操作系统的,只是要做出菜单配置而已。
如果是熟手自己有把握,怎样折腾都可以。
作者: lihui612ld    时间: 2020-12-25 20:48
lps4290 发表于 2020-12-16 22:01
很简单啊,用系统自带的bcdboot命令就可以实现。

首先,在一块MBR硬盘上分一个FAT16或FAT32的分区出来 ...

这种情况下,如果分区是GPT格式,就实现不了MBR引导
作者: my9823    时间: 2020-12-25 21:14
lihui612ld 发表于 2020-12-25 20:48
这种情况下,如果分区是GPT格式,就实现不了MBR引导

拿ventoy来说吧,u盘不采用GPT分区格式,为了兼容bios启动。总共分两个区,前边分区可见,用于存储数据和iso等。后边fat16分区隐藏,作为efi启动。bios启动在mbr写入grub2引导代码。在bios启动会读取mbr加载grub2,而uefi启动会默认启动esp分区/boot/efi/bootx64.efi,至于efi启动原理不用深究,知道就好了!
作者: Liberation    时间: 2021-1-3 11:28
hilsonma 发表于 2020-12-16 22:38
先确认只插一个U盘到电脑上,这个U盘将被制作成legacy/uefi双启动
http://hilsonma.ys168.com/ 下载  ...

这个做完,提示no file,启动不了。是哪部做错了?
作者: hilsonma    时间: 2021-1-3 12:50
本帖最后由 hilsonma 于 2021-1-3 12:52 编辑
Liberation 发表于 2021-1-3 11:28
这个做完,提示no file,启动不了。是哪部做错了?

先确认只插一个U盘到电脑上,这个U盘将被制作成legacy/uefi双启动
http://hilsonma.ys168.com/ 下载 bootu 里的 双启U盘制作脚本.7z
解压后运行 双启U盘制作脚本.cmd
将你想要启动的pe的wim镜像命名为pe.wim放到任一分区的根目录
使用这个U盘启动就可以进入pe,legacy和uefi都可以。

将你想要启动的pe的wim镜像命名为pe.wim放到任一分区的根目录
这一步你做了没有?
建议就提取你说的软碟通里的那个pe,找到里面的wim文件,改名为pe.wim放到U盘的根目录。
作者: Liberation    时间: 2021-1-3 12:54
hilsonma 发表于 2021-1-3 12:50
先确认只插一个U盘到电脑上,这个U盘将被制作成legacy/uefi双启动
到 http://hilsonma.ys168.com/ 下载  ...

我就是改成pe. wim,放在u盘根目录了,启动是no file。
作者: hilsonma    时间: 2021-1-3 13:04
Liberation 发表于 2021-1-3 12:54
我就是改成pe. wim,放在u盘根目录了,启动是no file。

你这回贴里,文件名带空格,不知你实际文件名有没有带空格,应该不带空格的。

我刚刚也检查了一遍分享的启动文件,确实是引导根目录的pe.wim的。
如果你U盘根目录上有pe.wim,使用我的启动文件却启动不了,可以上图给我看看。
作者: Liberation    时间: 2021-1-4 22:35
hilsonma 发表于 2021-1-3 13:04
你这回贴里,文件名带空格,不知你实际文件名有没有带空格,应该不带空格的。

我刚刚也检查了一遍分享 ...

谢谢,抽空再试下
作者: a584553    时间: 2021-1-5 09:12
找好久了,謝謝
作者: bjay2008xmy    时间: 2021-1-5 11:09
提示: 作者被禁止或删除 内容自动屏蔽




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