无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 32019|回复: 37
打印 上一主题 下一主题

[分享] 纯GRUB2打造的BIOS+UEFI双启,WIN8PE+PartedMagic合盘

    [复制链接]
跳转到指定楼层
1#
发表于 2014-12-11 10:12:59 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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的工具包





评分

参与人数 8无忧币 +36 收起 理由
wuxin9712 + 5
熊猫专用 + 5 很给力!
jack612 + 1
有阴也有阳 + 5 很给力!
Myptour + 5 很给力!
wuhuyou + 5 很给力!
shan + 5 赞一个!
hehui + 5 赞一个!

查看全部评分

2#
发表于 2014-12-11 12:25:48 | 只看该作者
提供一下合盘细节。。。。
回复

使用道具 举报

3#
发表于 2014-12-11 18:13:18 | 只看该作者
下载学习。这个帖子含金量十足,收藏。
回复

使用道具 举报

4#
发表于 2014-12-11 20:46:49 | 只看该作者
反馈一下.使用Virtualbox测试.BIOS成功进入WIN8PE.但是关机失灵.
UEFI 64位与32位一样出错.似乎是efishell 有个命令不识别.只能进入shell
推测是Virtualbox的UEFI固件有缺点.

2014-12-11 20:01:14 的屏幕截图.png (130.96 KB, 下载次数: 257)

2014-12-11 20:01:14 的屏幕截图.png

点评

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

使用道具 举报

5#
发表于 2014-12-11 22:11:45 | 只看该作者
如果楼主能讲解一下合盘细节,那就造福坛友了~

点评

那我大概说一下,这个ISO不能用Ultraiso编辑的,否则UEFI启动信息丢失。 制作过程大概是: [*]建立一个ISO目录 [*]将GRUB2的基础文件复制到对应的地方(可以参考ISO里的结构) [*]用grub-mkimage生成BIOS、UEF  详情 回复 发表于 2014-12-12 09:22
回复

使用道具 举报

6#
 楼主| 发表于 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自带的,不是我指定的动作),但从你的截图来看,这一步就不对了
回复

使用道具 举报

7#
 楼主| 发表于 2014-12-12 09:22:18 | 只看该作者
2011spirit 发表于 2014-12-11 22:11
如果楼主能讲解一下合盘细节,那就造福坛友了~

那我大概说一下,这个ISO不能用Ultraiso编辑的,否则UEFI启动信息丢失。
制作过程大概是:
  • [size=14.4444446563721px]建立一个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步的[size=14.4444446563721px]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



点评

这个批处理很给力啊!!!  详情 回复 发表于 2015-9-1 13:56
怪不得,我重新用cdimage打包,就可以了  详情 回复 发表于 2014-12-14 18:41
谢谢分享,学习了!  发表于 2014-12-13 19:16
回复

使用道具 举报

8#
发表于 2014-12-14 18:41:24 | 只看该作者
jebbs 发表于 2014-12-12 09:22
那我大概说一下,这个ISO不能用Ultraiso编辑的,否则UEFI启动信息丢失。
制作过程大概是:

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

使用道具 举报

9#
发表于 2015-1-8 19:43:08 来自手机 | 只看该作者
想要工具包 有时间可以学习 谢谢

点评

参见一楼的 “GRUB2三启ISO生成工具” 链接  详情 回复 发表于 2015-1-9 09:13
回复

使用道具 举报

10#
 楼主| 发表于 2015-1-9 09:13:16 | 只看该作者
wangziqiang 发表于 2015-1-8 19:43
想要工具包 有时间可以学习 谢谢

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

使用道具 举报

11#
发表于 2015-1-10 09:45:58 | 只看该作者
mark
回复

使用道具 举报

12#
发表于 2015-2-11 17:03:52 | 只看该作者
赞一个~~~~~~~~~~~
回复

使用道具 举报

13#
发表于 2015-2-14 15:58:23 | 只看该作者
我用U+高端写入,实机测试只有uefi liunx能进去, bois下黑屏无菜单,uefi进菜单无法进入PE,why?
回复

使用道具 举报

14#
发表于 2015-9-1 13:56:12 | 只看该作者
jebbs 发表于 2014-12-12 09:22
那我大概说一下,这个ISO不能用Ultraiso编辑的,否则UEFI启动信息丢失。
制作过程大概是:

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

使用道具 举报

15#
发表于 2015-10-10 09:13:50 | 只看该作者
建议 细节下过程,可以让我们这小白学习下!!!
回复

使用道具 举报

16#
发表于 2015-10-28 22:11:24 | 只看该作者
谢谢lz,辛苦了
回复

使用道具 举报

17#
发表于 2015-12-13 23:31:38 来自手机 | 只看该作者
楼主辛苦了,这正是我想要的
回复

使用道具 举报

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

点评

那是不是WIM的问题?试试把64的WIM删掉,看看能不能载入,能载入至少说明不是引导的问题,否则就是引导的路线错误了。这东西很久以前了,已经没精力玩了  详情 回复 发表于 2016-1-12 17:22
回复

使用道具 举报

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

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

点评

请问楼主是如何处理的: 在ia32 EFI下 bootmgr.EFI是怎么做到正确读取EFI\mirosoft\boot\B32的? 在X64 EFI下 bootmgr.EFI是怎么做到正确读取EFI\mirosoft\boot\BCD的?  详情 回复 发表于 2016-1-12 20:47
回复

使用道具 举报

20#
发表于 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的?

点评

跟Bootmgr.efi无关,也跟楼主说的startup.nsh无关,B32与BCD的自动选择与改名都在cdboot.efi文件里。  发表于 2018-10-18 23:30
http://bbs.wuyou.net/forum.php?mod=redirect&goto=findpost&ptid=349361&pid=3014164&fromuid=205278  详情 回复 发表于 2016-1-24 13:19
回复

使用道具 举报

21#
 楼主| 发表于 2016-1-24 13:19:33 | 只看该作者
回复

使用道具 举报

22#
发表于 2016-1-24 23:12:22 | 只看该作者
Can you share your boot file? I can not download ISO file. Thank you so much.

点评

我看了,百度盘还是可以用的  详情 回复 发表于 2016-1-26 08:58
回复

使用道具 举报

23#
 楼主| 发表于 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.

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

使用道具 举报

24#
发表于 2016-4-22 21:19:15 | 只看该作者
感觉还是GRUB4DOS做的界面好看多了,可惜不支持EFI哪.唉.
回复

使用道具 举报

25#
发表于 2016-4-26 16:15:25 | 只看该作者
谢谢大神,一直在追寻你的帖子。学习一下
回复

使用道具 举报

26#
发表于 2016-4-26 16:15:31 | 只看该作者
谢谢大神,一直在追寻你的帖子。学习一下
回复

使用道具 举报

27#
发表于 2016-5-19 10:57:46 | 只看该作者
感谢了,谢谢分享
回复

使用道具 举报

28#
发表于 2018-7-29 23:31:43 | 只看该作者
天天学习,好好向上……
回复

使用道具 举报

29#
发表于 2018-8-26 12:40:50 | 只看该作者
感谢分享...
回复

使用道具 举报

30#
发表于 2019-12-21 20:46:08 | 只看该作者
很给力!
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-20 05:32

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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