无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 33221|回复: 63
打印 上一主题 下一主题

[分享] 也来个 Grub2 u盘、iso 三启 制作脚本 Ver.2.4(小更新.不再需要bootice)

    [复制链接]
跳转到指定楼层
#
发表于 2018-1-23 13:11:05 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
本帖最后由 dos时代菜鸟 于 2018-1-28 22:00 编辑

总结前人经验,弄得,没啥技术含量,老鸟略过吧。
2018.01.28
更新 u盘安装,不再需要 bootice 用了个 vbs 调用 wmic 实现目标硬盘的 定位,再用 grub-bios-setup 直接写入硬盘主引导记录。
链接: https://pan.baidu.com/s/1pMaxrXD
密码: z59j

Grub2.02_for_windows 在这里 链接: https://pan.baidu.com/s/1nwtxY8h 密码: f7x2  

成品在这里 链接: https://pan.baidu.com/s/1kWoIvcj 密码: mats

所谓的 grub2三启 就是让一个存储介质 同时具备  bios 、x86_64-efi、 i386-efi(ia32) 三种模式下都能成功启动进入  grub2 。

首先要明白  u盘 启动 和 光盘启动 在这三种情况 下 的运行机制,然后就是 体力活儿了。

都要用到 grub-mkimage 生成 三个启动文件

bios 下的g2ldr,先生成 core.img , u盘下 用 boot.img+core.img 生成 g2ldr,iso 下用 cdboot.img+core.img 生成 g2ldr.bin
x86_64-efi 下 的 bootx64.efi
i386-efi 下的 bootia32.efi

u盘启动,要求u盘必须是 fat32 格式
u盘因为 要 把g2ldr 写入扇区,所以 g2ldr 大小只能是 小于 32k,
而对应的 bootx64.efi 和  bootia32.efi ,只要 放到 u 盘  \efi\boot\ 中 就可以了


对于 iso 版,值得注意的是 需要把 bootx64.efi 和 bootia32.efi  放入 一个 磁盘影像文件(efi.ima)中的 \efi\boot\ 里面,这个过程可以用 wimimage 完成。
再用 mkisofs 把 grldr.bin 和 efi.ima 做到 iso 中,就实现了iso 的 grub2三启。


两个脚本
make-disk 用于 生成 u盘三启 文件集合,全部复制到 u盘,并 用 bootice 将 引导扇区 文件 g2ldr.mbr 恢复到u盘 即可。
make-iso2 用于生成 一个可以 三启的iso .

成品中 grub2的 各种 mod 和 字体 语言文件等 设置放在 /boot/grub2/ 中 ,包括一个通用 通用型的 grub.cfg 也在。



要求使用的时候,把 grub2.02 文件 放入 grub2_for_windows 文件夹,与 0_make_03 并列放置。脚本需要调用 grub2 的 grub-mkimage 来编译生成必要的启动文件。
0_make_03 里面就是 脚本和涉及到的 工具软件 。








sshot-1.png (18.48 KB, 下载次数: 297)

sshot-1.png

sshot-4.png (35.27 KB, 下载次数: 288)

sshot-4.png

sshot-5.png (18.5 KB, 下载次数: 276)

sshot-5.png

sshot-6.png (11.07 KB, 下载次数: 278)

sshot-6.png

评分

参与人数 8无忧币 +36 收起 理由
879792799 + 5 很给力!
2010haiven86 + 5 很给力!
2012FuckTheCPC + 5 赞一个!
yichenye + 1
freesoft00 + 5
shan + 5 很给力!
海市蜃楼 + 5
有阴也有阳 + 5 赞一个!

查看全部评分

推荐
 楼主| 发表于 2018-1-24 15:04:45 | 只看该作者
本帖最后由 dos时代菜鸟 于 2018-1-24 15:07 编辑

  1. #用 mkisofs 制作一个 大 iso ,实现 bios 、 x86_64-efi 、i386-efi 三种情况下都能启动 。

  2. mkisofs -J -R -N -d -boot-info-table -l -relaxed-filenames -gbk4dos-filenames -gbk4win-filenames  -no-emul-boot -boot-load-size 4  -b g2ldr.bin  -eltorito-alt-boot -b efi.ima -no-emul-boot -eltorito-alt-boot -V win7_x64 -o win7_x64.iso   iso/
复制代码

在 ubuntu 下 用 mkisofs 终于做出 具有 三启功能 的 大 dvd .命令 如上。

回复

使用道具 举报

62#
发表于 2023-8-28 09:06:51 | 只看该作者
重新琢磨一下U盘启动架构,来学习
回复

使用道具 举报

61#
发表于 2021-5-31 14:53:21 | 只看该作者
新手学习,感谢分享。
回复

使用道具 举报

60#
发表于 2021-5-13 22:17:32 | 只看该作者
学习一下
回复

使用道具 举报

59#
 楼主| 发表于 2021-5-3 23:20:24 | 只看该作者
在 00-set.cmd 最后 加一句

reg add "HKEY_CURRENT_USER\Software\WinImage" /v "DispSplashBegin" /t reg_sz /d "False" /f

脚本调用 winimage 时就不用 点 确定按钮了。
回复

使用道具 举报

58#
发表于 2021-5-3 22:43:56 | 只看该作者
dos时代菜鸟 发表于 2021-5-3 22:04
你需要修改 脚本内容 和 cfg 配置文件。

谢谢,已经弄明白了。谢谢您的工具!
回复

使用道具 举报

57#
 楼主| 发表于 2021-5-3 22:10:14 | 只看该作者
本帖最后由 dos时代菜鸟 于 2021-5-3 22:13 编辑
熄灭的烟 发表于 2021-5-3 22:08
无语,这个不需要的文件你写在批处理里面,害我研究了半天。

这个文件是 自动生成的吧,或者是以前需要,后来改进了安装方式就不需要的吧。时间太久远了,记不清了。
回复

使用道具 举报

56#
发表于 2021-5-3 22:08:24 | 只看该作者

无语,这个不需要的文件你写在批处理里面,害我研究了半天。

点评

这个文件是 自动生成的吧,  详情 回复 发表于 2021-5-3 22:10
回复

使用道具 举报

55#
发表于 2021-5-3 22:07:15 | 只看该作者
dos时代菜鸟 发表于 2021-5-3 22:06
小白们,如果还没仔细看 一楼 说明和 图片 ,就先不要 盲目 下载运行了。

大佬,你能告诉我这个g2ldr.mbr文件在哪里吗?
回复

使用道具 举报

54#
 楼主| 发表于 2021-5-3 22:07:05 | 只看该作者
本帖最后由 dos时代菜鸟 于 2021-5-3 22:08 编辑
熄灭的烟 发表于 2021-5-3 22:05
还有g2ldr.mbr这个文件在哪啊,我找遍了目录都没找到这个文件。

不需要 这个文件
脚本直接通过  grub2 自带程序 完成 引导代码的写入

点评

无语,这个不需要的文件你写在批处理里面,害我研究了半天。  详情 回复 发表于 2021-5-3 22:08
回复

使用道具 举报

53#
 楼主| 发表于 2021-5-3 22:06:11 | 只看该作者
小白们,如果还没仔细看 一楼 说明和 图片 ,就先不要 盲目 下载运行了。

点评

大佬,你能告诉我这个g2ldr.mbr文件在哪里吗?  详情 回复 发表于 2021-5-3 22:07
回复

使用道具 举报

52#
发表于 2021-5-3 22:05:42 | 只看该作者
dos时代菜鸟 发表于 2021-5-3 22:03
这是个 自动生成 启动文件的脚本,你需要的文件 脚本会自行根据 grub2.02 的文件生成。

还有g2ldr.mbr这个文件在哪啊,我找遍了目录都没找到这个文件。

点评

不需要 这个文件  详情 回复 发表于 2021-5-3 22:07
回复

使用道具 举报

51#
 楼主| 发表于 2021-5-3 22:04:30 | 只看该作者
mygamexxx 发表于 2021-5-3 09:40
请教:如果将grub2目录不放在boot下,直接放在根目录,要怎么办?要加载背景图用什么命令?将所有语言文件 ...

你需要修改 脚本内容 和 cfg 配置文件。

点评

谢谢,已经弄明白了。谢谢您的工具!  详情 回复 发表于 2021-5-3 22:43
回复

使用道具 举报

50#
 楼主| 发表于 2021-5-3 22:03:58 | 只看该作者
熄灭的烟 发表于 2021-5-3 21:49
你的所有文件我都下载下来了,没有找到efisys.bin这个文件

这是个 自动生成 启动文件的脚本,你需要的文件 脚本会自行根据 grub2.02 的文件生成。

点评

还有g2ldr.mbr这个文件在哪啊,我找遍了目录都没找到这个文件。  详情 回复 发表于 2021-5-3 22:05
回复

使用道具 举报

49#
 楼主| 发表于 2021-5-3 22:02:02 | 只看该作者
熄灭的烟 发表于 2021-5-3 21:22
你那个00-Set.bat批处理文件运行后一闪而过,啥文件都没生成呢。

本来他就不生成啥文件,那是个设置 内存变量的脚本
回复

使用道具 举报

48#
发表于 2021-5-3 21:49:07 | 只看该作者
dos时代菜鸟 发表于 2018-1-23 13:14
grub2 变大了,以前 bootx64.efi+bootia32.efi 合成的那个 efisys.bin (本质是一个 ima 磁盘影像文件),有 ...

你的所有文件我都下载下来了,没有找到efisys.bin这个文件

点评

这是个 自动生成 启动文件的脚本,你需要的文件 脚本会自行根据 grub2.02 的文件生成。  详情 回复 发表于 2021-5-3 22:03
回复

使用道具 举报

47#
发表于 2021-5-3 21:22:56 | 只看该作者
你那个00-Set.bat批处理文件运行后一闪而过,啥文件都没生成呢。

点评

本来他就不生成啥文件,那是个设置 内存变量的脚本  详情 回复 发表于 2021-5-3 22:02
回复

使用道具 举报

46#
发表于 2021-5-3 09:40:24 | 只看该作者
本帖最后由 mygamexxx 于 2021-5-3 12:02 编辑

请教:如果将grub2目录不放在boot下,直接放在根目录,要怎么办?要加载背景图用什么命令?将所有语言文件复制后,zh_CN/grub.mo要改为zh_CN.mo吗?第一次使用GRUB2,比较晕,修改后不出菜单了!
算了,还是老老实实看资料吧!

点评

你需要修改 脚本内容 和 cfg 配置文件。  详情 回复 发表于 2021-5-3 22:04
回复

使用道具 举报

45#
发表于 2019-3-2 01:14:19 | 只看该作者
谢谢……
回复

使用道具 举报

44#
发表于 2018-12-28 10:55:57 | 只看该作者
还在学习中。。。很多都不懂呢。。。。
回复

使用道具 举报

43#
发表于 2018-12-6 10:10:52 | 只看该作者
dos时代菜鸟 发表于 2018-12-6 09:46
把要 添加的文件 放到  .....\0_make_0\grubtools\files_source 里面。


老大,刚试过,只是把\\files_source文件夹下所有文件复制到ISO文件夹里面而已,没有生成GRUB2.ISO
回复

使用道具 举报

42#
 楼主| 发表于 2018-12-6 09:46:26 | 只看该作者
shan 发表于 2018-12-3 21:25
试过了,运行批处理产生的iso还是10多mb.所以才问这么浅显的问题。

把要 添加的文件 放到  .....\0_make_0\grubtools\files_source 里面。

点评

老大,刚试过,只是把\\files_source文件夹下所有问下复制到ISO文件夹里面而已,没有生成GRUB2.ISO  详情 回复 发表于 2018-12-6 10:10
回复

使用道具 举报

41#
发表于 2018-12-3 21:25:10 来自手机 | 只看该作者
试过了,运行批处理产生的iso还是10多mb.所以才问这么浅显的问题。

点评

把要 添加的文件 放到 .....\0_make_0\grubtools\files_source 里面。  详情 回复 发表于 2018-12-6 09:46
回复

使用道具 举报

40#
 楼主| 发表于 2018-12-3 20:31:57 | 只看该作者
shan 发表于 2018-12-2 10:36
老大,俺只会在winodws环境下。想在你这个基础上更新加入各种IMG,PE,.该放入哪个文件夹下呢,然后生成iso ...

随便放,关键是你的 grub2 的 cfg 配置文件中如何配置的。
回复

使用道具 举报

39#
发表于 2018-12-2 10:36:10 | 只看该作者
本帖最后由 shan 于 2018-12-2 13:42 编辑

老大,俺只会在winodws环境下。想在你这个基础上更新加入各种IMG,PE,.该放入哪个文件夹下呢,然后生成iso镜像?
另,老大有自己使用的grub2工具箱,可否分享个大模板呢?

点评

随便放,关键是你的 grub2 的 cfg 配置文件中如何配置的。  详情 回复 发表于 2018-12-3 20:31
回复

使用道具 举报

38#
发表于 2018-9-23 16:51:14 来自手机 | 只看该作者
学习一下!谢谢!
回复

使用道具 举报

37#
发表于 2018-9-18 07:20:53 | 只看该作者
楼主做的非常好用,这样订制真是太简单了,只需把GRUB2包裹与0_make_03并排放同一磁盘或目录下就可。
而且代码写的非常整齐易懂,大赞一个。
变量那我稍作了更改:
::%cd%\grub2-for-windows ,这一反斜杠\是多余的,但也可正确执行。%cd%代表当前路径
set grub2p=%cd%grub2-for-windows

有时间参照楼主的批处理,做一个linux版的bash,linux源生,命令会更简洁。
回复

使用道具 举报

36#
发表于 2018-9-1 15:49:53 | 只看该作者
谢谢分享!
回复

使用道具 举报

35#
 楼主| 发表于 2018-8-29 18:56:21 | 只看该作者
cnzp 发表于 2018-8-29 11:19
为什么有的主板GRUB2 没办法引导,B75的主板设置成纯UEFI引导又可以出GRUB2菜单出来,H110的主板GRUB2菜单 ...


个主板 设计的时候 对 uefi  的理解 有偏差,有的有加入了自己的 想法,有的 阉割了 部分 标准。
回复

使用道具 举报

34#
发表于 2018-8-29 11:19:39 | 只看该作者
为什么有的主板GRUB2 没办法引导,B75的主板设置成纯UEFI引导又可以出GRUB2菜单出来,H110的主板GRUB2菜单又出不来

点评

个主板 设计的时候 对 uefi 的理解 有偏差,有的有加入了自己的 想法,有的 严格了 部分 标准。  详情 回复 发表于 2018-8-29 18:56
回复

使用道具 举报

33#
发表于 2018-3-22 14:31:35 | 只看该作者
大于4G的系统镜像怎么弄?q请教
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-28 16:49

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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