jebbs 发表于 2014-12-11 10:12:59

纯GRUB2打造的BIOS+UEFI双启,WIN8PE+PartedMagic合盘

本帖最后由 jebbs 于 2014-12-12 09:54 编辑

GRUB2区里,纯GRUB2打造的BIOS+UEFI双启已经有很多了,但在此基础上的WINPE合盘却没有或很少。最近自己有这个需求,研究了三天,多亏坛子里的大侠的点拨,终于成功,分享出来供大家参考。
ISO下载:http://pan.baidu.com/s/1bn2aO27
GRUB2三启ISO生成工具:http://bbs.wuyou.net/forum.php?mod=viewthread&tid=349669&page=1&extra=#pid3015110
主要的特点是:

[*]解决了WINPE与其他工具合盘问题
[*]解决了EFI模式下,从GRUB2到EFISHELL到WBM整条路线下32、64位的自动选择,因此WINPE菜单是唯一的
以上多谢 2012hxwgz , 技术细节可以参考这个帖子: GURB2 UEFI环境如何引导光盘上的非镜像PE系统
合盘启动截图:
BIOS:


EFI(IA32与X64相同):


Parted Magic 菜单 (EFI与BIOS下相同):




此外,如果有人需要,我还可以提供自己写的全套从官方GRUB for WIN压缩包一键生成GRUB2 BIOS+UEFI双启ISO的工具包





devilma 发表于 2014-12-11 12:25:48

提供一下合盘细节。。。。

shan 发表于 2014-12-11 18:13:18

下载学习。这个帖子含金量十足,收藏。

2011niumao 发表于 2014-12-11 20:46:49

反馈一下.使用Virtualbox测试.BIOS成功进入WIN8PE.但是关机失灵.
UEFI 64位与32位一样出错.似乎是efishell 有个命令不识别.只能进入shell
推测是Virtualbox的UEFI固件有缺点.

Debian 发表于 2014-12-11 22:11:45

如果楼主能讲解一下合盘细节,那就造福坛友了~

jebbs 发表于 2014-12-12 09:12:38

2011niumao 发表于 2014-12-11 20:46
反馈一下.使用Virtualbox测试.BIOS成功进入WIN8PE.但是关机失灵.
UEFI 64位与32位一样出错.似乎是efishell ...

UEFI不同地方的表现是挺奇怪,同样的GRUB在虚拟机里OK的,但到我的平板电脑上,就卡在 welcom to Grub2
正常情况下,进EFI SHELL后会显示磁盘映射(SHELL自带的,不是我指定的动作),但从你的截图来看,这一步就不对了

jebbs 发表于 2014-12-12 09:22:18

2011spirit 发表于 2014-12-11 22:11
如果楼主能讲解一下合盘细节,那就造福坛友了~

那我大概说一下,这个ISO不能用Ultraiso编辑的,否则UEFI启动信息丢失。
制作过程大概是:

[*]建立一个ISO目录
[*]将GRUB2的基础文件复制到对应的地方(可以参考ISO里的结构)
[*]用grub-mkimage生成BIOS、UEFI IA32、UEFI x64三个启动文件,其中cdboot.img与生成的BIOS启动文件合并得到G2ldr.bin,这是光盘的引导扇区。UEFI的两个文件Bootx64.efi,Bootia32.efi放在efisys.bin中,efisys.bin是一个磁盘映像,可以用WINIMAGE编辑
[*]如果没有其他特殊用途,这个GRUB2双启启动盘的文件就完备了,用mkisofs生成ISO文件
[*]如果有其他用途,比如要启动WINPE,则第3步的efisys.bin中要放入WINPE的两个EFI,光盘中要放入其他必要的WINPE启动文件,具体参见1楼链接的帖子

以下是主要的命令示例,%%围绕的变量自行替换成实际的路径或名称。

ECHO 生成bios启动文件
start /wait /min %grubDir%\grub-mkimage.exe -d %grubDir%\i386-pc -p /grub2/bios -o %BootFileDir%\Core.img -O i386-pc biosdisk part_msdos iso9660 udf configfile search help reiserfs font linux chain search_fs_file
Copy /B %grubDir%\i386-pc\cdboot.img+%BootFileDir%\Core.img %BootFileDir%\G2ldr.bin
COPY /y %BootFileDir%\G2ldr.bin %ISODir%\G2ldr.bin
COPY /y %BootFileDir%\Core.img %ISODir%\grub2\bios\i386-pc\Core.img
ECHO 生成EFI 64启动文件
start /wait /min %grubDir%\grub-mkimage.exe -d %grubDir%\x86_64-efi -p /grub2/uefi -o %EFIImgDir%\Bootx64.efi -O x86_64-efi search search_fs_file configfile help iso9660 fat part_gpt part_msdos disk exfat ext2 ntfs appleldr hfs normal reiserfs font linux chain
ECHO 生成EFI 32启动文件
start /wait /min %grubDir%\grub-mkimage.exe -d %grubDir%\i386-efi -p /grub2/uefi -o %EFIImgDir%\Bootia32.efi -O i386-efi search search_fs_file configfile help iso9660 fat part_gpt part_msdos disk exfat ext2 ntfs appleldr hfs normal reiserfs font linux chain
ECHO 生成EFI启动扇区
start /wait /min %ToolDir%\WinImage\WinImage.exe %ToolDir%\efisys.bin %BootFileDir%\efiImg /i /h /y
COPY /y %ToolDir%\efisys.bin%ISODir%\efisys.bin
IF "%1" neq "NoPause" PAUSE
ECHO 生成ISO镜像
mkisofs.exe -v -d -N -R -J -boot-info-table -l -relaxed-filenames -gbk4dos-filenames -gbk4win-filenames -no-emul-boot -boot-load-size 4 -o %ISOName% -v -V "%ISOTitle%" -b %biosImg% %efi% %ISODir%

IF "%1" neq "NoPause" PAUSE



devilma 发表于 2014-12-14 18:41:24

jebbs 发表于 2014-12-12 09:22
那我大概说一下,这个ISO不能用Ultraiso编辑的,否则UEFI启动信息丢失。
制作过程大概是:



怪不得,我重新用cdimage打包,就可以了

wangziqiang 发表于 2015-1-8 19:43:08

想要工具包 有时间可以学习 谢谢

jebbs 发表于 2015-1-9 09:13:16

wangziqiang 发表于 2015-1-8 19:43
想要工具包 有时间可以学习 谢谢

参见一楼的 “GRUB2三启ISO生成工具” 链接

zhyzhh 发表于 2015-1-10 09:45:58

mark

hehui 发表于 2015-2-11 17:03:52

赞一个~~~~~~~~~~~

oskarger 发表于 2015-2-14 15:58:23

我用U+高端写入,实机测试只有uefi liunx能进去, bois下黑屏无菜单,uefi进菜单无法进入PE,why?

boy6585948 发表于 2015-9-1 13:56:12

jebbs 发表于 2014-12-12 09:22
那我大概说一下,这个ISO不能用Ultraiso编辑的,否则UEFI启动信息丢失。
制作过程大概是:



这个批处理很给力啊!!!

boy6585948 发表于 2015-10-10 09:13:50

建议 细节下过程,可以让我们这小白学习下!!!

sdec040721 发表于 2015-10-28 22:11:24

谢谢lz,辛苦了

rgy 发表于 2015-12-13 23:31:38

楼主辛苦了,这正是我想要的

chiannet 发表于 2016-1-9 07:28:35

我用楼主的iso在VM11下测试,AMD64 EFI 8PE可正常启动桌面,IA32 EFI只能启动到WIM映像加载完毕,然后挂掉。

jebbs 发表于 2016-1-12 17:22:41

chiannet 发表于 2016-1-9 07:28
我用楼主的iso在VM11下测试,AMD64 EFI 8PE可正常启动桌面,IA32 EFI只能启动到WIM映像加载完毕,然后挂掉 ...

那是不是WIM的问题?试试把64的WIM删掉,看看能不能载入,能载入至少说明不是引导的问题,否则就是引导的路线错误了。这东西很久以前了,已经没精力玩了{:2_123:}

chiannet 发表于 2016-1-12 20:47:31

jebbs 发表于 2016-1-12 17:22
那是不是WIM的问题?试试把64的WIM删掉,看看能不能载入,能载入至少说明不是引导的问题,否则就是引导的 ...

请问楼主是如何处理的:

在ia32 EFI下
bootmgr.EFI是怎么做到正确读取EFI\mirosoft\boot\B32的?

在X64 EFI下
bootmgr.EFI是怎么做到正确读取EFI\mirosoft\boot\BCD的?

jebbs 发表于 2016-1-24 13:19:33

chiannet 发表于 2016-1-12 20:47
请问楼主是如何处理的:

在ia32 EFI下


http://bbs.wuyou.net/forum.php?mod=redirect&goto=findpost&ptid=349361&pid=3014164&fromuid=205278

2012mshs 发表于 2016-1-24 23:12:22

Can you share your boot file? I can not download ISO file. Thank you so much.

jebbs 发表于 2016-1-26 08:58:59

2012mshs 发表于 2016-1-24 23:12
Can you share your boot file? I can not download ISO file. Thank you so much.

我看了,百度盘还是可以用的

slyneo 发表于 2016-4-22 21:19:15

感觉还是GRUB4DOS做的界面好看多了,可惜不支持EFI哪.唉.

黎小兵 发表于 2016-4-26 16:15:25

谢谢大神,一直在追寻你的帖子。学习一下

黎小兵 发表于 2016-4-26 16:15:31

谢谢大神,一直在追寻你的帖子。学习一下

klth 发表于 2016-5-19 10:57:46

感谢了,谢谢分享

2010thingsfly 发表于 2018-7-29 23:31:43

天天学习,好好向上……

xing1954 发表于 2018-8-26 12:40:50

感谢分享...

创新科技2015 发表于 2019-12-21 20:46:08

很给力!
页: [1] 2
查看完整版本: 纯GRUB2打造的BIOS+UEFI双启,WIN8PE+PartedMagic合盘