无忧启动论坛

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

[分享] Grub2的简单使用

    [复制链接]
61#
发表于 2019-12-31 12:01:39 | 只看该作者
hilsonma 发表于 2019-12-31 10:39
是啊,现在grub2支持map启动iso.
不过我没有走过安装程序,不知走安装程序会不会改写efi引导

win原版安装镜像没有你说的那么简单。

点评

哦。因为我一直是用别人的精简版,没有装过原版镜像,所以不知道。受教了,谢谢。  详情 回复 发表于 2019-12-31 14:48
回复

使用道具 举报

62#
 楼主| 发表于 2019-12-31 14:48:37 | 只看该作者
wintoflash 发表于 2019-12-31 12:01
win原版安装镜像没有你说的那么简单。

哦。因为我一直是用别人的精简版,没有装过原版镜像,所以不知道。受教了,谢谢。
回复

使用道具 举报

63#
发表于 2019-12-31 15:26:49 | 只看该作者
hilsonma 发表于 2019-12-31 10:33
grub2.efi在定制生成的时候就指定了配置文件的,可以在启动之后重新指定,不过是有特殊需要才这样的,一 ...

多谢,也就是说,只能启动以后再更改
回复

使用道具 举报

64#
 楼主| 发表于 2019-12-31 17:58:32 | 只看该作者
本帖最后由 hilsonma 于 2019-12-31 19:25 编辑

请今天早上8:47后下载过我的自用grub2启动模板的朋友,重新下载。

我更改文件夹结构后忘记更新bcd文件了,会导致grub2引导主菜单第二菜单项启动PE出错,因为boot.sdi的存放位置改变了。现在已更新为正确位置的bcd,请重新下载。

造成不便敬请原谅。
回复

使用道具 举报

65#
发表于 2019-12-31 19:06:56 来自手机 | 只看该作者
hilsonma 发表于 2019-12-31 10:16
我刚试了,这样定制没有问题:

估计是个案,官网2.02版没问题,w
大的试了几个版本也都没问题,不知官网的的2.04版怎么回事!谢谢你耐心的指导!
回复

使用道具 举报

66#
发表于 2020-1-2 11:06:49 | 只看该作者
好好好
回复

使用道具 举报

67#
发表于 2020-1-2 20:02:57 | 只看该作者

膜拜并学习
回复

使用道具 举报

68#
发表于 2020-1-8 21:20:35 | 只看该作者
支持教程
回复

使用道具 举报

69#
发表于 2020-1-11 21:46:18 | 只看该作者
你好,楼主,我有个问题向你请教
1,能否做个双启动的ISO模板?
2,g2ldr哪里下载?
光盘引导grub2的文件哪里下载?
3.里面那么多文件,能否集成到一个文件里面,有洁癖,
谢谢楼主能抽空给回复一下!

点评

我不使用ISO模板,所以没有学会做ISO模板 如果是做启动U盘,就用8楼的模板做uefi启动,用附件的模板做bios启动 g2ldr找别人的模板下载,或自己编译生成,参看7楼,可使用我的脚本定制。 我在bios下使用g4d  详情 回复 发表于 2020-1-11 23:12
回复

使用道具 举报

70#
 楼主| 发表于 2020-1-11 23:12:15 | 只看该作者
zhxy9804 发表于 2020-1-11 21:46
你好,楼主,我有个问题向你请教
1,能否做个双启动的ISO模板?
2,g2ldr哪里下载?
1,能否做个双启动的ISO模板?

我不使用ISO模板,所以没有学会做ISO模板
如果是做启动U盘,就用8楼的模板做uefi启动,用附件的模板做bios启动
g4d.7z (2.06 MB, 下载次数: 134)
2,g2ldr哪里下载?

g2ldr找别人的模板下载,或自己编译生成,参看7楼,可使用我的脚本定制。
我在bios下使用g4d的grldr,不使用grub2的g2ldr.
3.里面那么多文件,能否集成到一个文件里面,有洁癖,

你是指grub2下载包还是指哪里,如果是grub2下载包的话,只要包含你要用到的模块去定制efi文件,那样在使用grub2引导的时候是只需要efi文件和grub.cfg这2个就可以了的。
如果你是指我的模板,那没有办法,我已经尽量减少文件了,要集成到一个文件目前我做不到。
回复

使用道具 举报

71#
发表于 2020-1-12 17:07:45 来自手机 | 只看该作者
h能不能把所有文件打包,放到内存用,
回复

使用道具 举报

72#
发表于 2020-1-12 17:11:30 来自手机 | 只看该作者
我好像在哪里见过,这种方式,定制时把所有文件打包,加载到内存,然后从内存加载,前几天我试了一下,失败了,水平有限,没办法,等高手支招

点评

附件就是你要的全打包方式。将附件的bootx64.efi替换到 \efi\boot\bootx64.efi 就是我的启动模板。 第一个菜单项启动Windows需要将附件的bcd放到 Windows分区 \Windows\Boot\EFI 第二个菜单项启动WinPE需要将你的P  详情 回复 发表于 2020-1-16 20:34
wintoflash那个run.efi应该就是你说的那个方式,所有文件封装成一个efi文件。 他的贴子里也附了源码,你可以学着做。 grub2作为一款启动器,我谋求的是最快地启动操作系统,我觉得我目前的方式是最有效率的,什  详情 回复 发表于 2020-1-12 18:56
回复

使用道具 举报

73#
 楼主| 发表于 2020-1-12 18:56:32 | 只看该作者
wangziqiang 发表于 2020-1-12 17:11
我好像在哪里见过,这种方式,定制时把所有文件打包,加载到内存,然后从内存加载,前几天我试了一下,失败 ...

wintoflash那个run.efi应该就是你说的那个方式,所有文件封装成一个efi文件。
他的贴子里也附了源码,你可以学着做。

grub2作为一款启动器,我谋求的是最快地启动操作系统,我觉得我目前的方式是最有效率的,什么时候我发现更有效率的方式我再作改进。

点评

w大神的我在用,确实是挺方便的。你的菜单我也在用,两者各有千秋!顺便请教个问题,grub2菜单中当前目录,怎么写。?  详情 回复 发表于 2020-1-12 21:06
回复

使用道具 举报

74#
发表于 2020-1-12 21:06:07 来自手机 | 只看该作者
hilsonma 发表于 2020-1-12 18:56
wintoflash那个run.efi应该就是你说的那个方式,所有文件封装成一个efi文件。
他的贴子里也附了源码,你 ...

w大神的我在用,确实是挺方便的。你的菜单我也在用,两者各有千秋!顺便请教个问题,grub2菜单中当前目录,怎么写。?

点评

grub2现在没有当前目录的变量,只有当前分区的变量root,grub2中叫root设备。 你在grub2命令行中输入set就可以看到当前grub2有哪些环境变量。 其中prefix是配置文件grub.cfg所在目录,cmdpath是启动文件bootx64.ef  详情 回复 发表于 2020-1-12 22:25
回复

使用道具 举报

75#
 楼主| 发表于 2020-1-12 22:25:56 | 只看该作者
wangziqiang 发表于 2020-1-12 21:06
w大神的我在用,确实是挺方便的。你的菜单我也在用,两者各有千秋!顺便请教个问题,grub2菜单中当前目录 ...

grub2现在没有当前目录的变量,只有当前分区的变量root,grub2中叫root设备。
你在grub2命令行中输入set就可以看到当前grub2有哪些环境变量。
其中prefix是配置文件grub.cfg所在目录,cmdpath是启动文件bootx64.efi(grubx64.efi)所在目录,这两个变量在合适的时候可以使用。

在grub2中一般都是要使用全路径的,即设备名(分区)开始直到文件扩展名为止。多数时候可以省略设备名,这时默认根设备即root变量所指分区。部分命令可以使用相对路径,这时没有写全的部分都是使用命令默认值,如果不知道默认值就老实写全路径,这样可以减少路径出错。

点评

谢谢!  详情 回复 发表于 2020-1-13 02:34
回复

使用道具 举报

76#
发表于 2020-1-13 02:34:36 来自手机 | 只看该作者
hilsonma 发表于 2020-1-12 22:25
grub2现在没有当前目录的变量,只有当前分区的变量root,grub2中叫root设备。
你在grub2命令行中输入set ...

谢谢!
回复

使用道具 举报

77#
 楼主| 发表于 2020-1-16 20:34:11 | 只看该作者
本帖最后由 hilsonma 于 2020-1-16 20:45 编辑
wangziqiang 发表于 2020-1-12 17:11
我好像在哪里见过,这种方式,定制时把所有文件打包,加载到内存,然后从内存加载,前几天我试了一下,失败 ...
@zhxy9804 @wangziqiang
附件就是你要的全打包方式。将附件的bootx64.efi替换到 \efi\boot\bootx64.efi 就是我的启动模板。
第一个菜单项启动Windows需要将附件的bcd放到 Windows分区 \Windows\Boot\EFI
第二个菜单项启动WinPE需要将你的PE镜像wim文件命名为pe.wim放到任一分区的根目录,包括藏到ESP.
第三个菜单项将任意分区根目录下的pe目录列为自动菜单,你也可以将你的菜单文件放到pe目录自动成为子菜单
boot.7z (833.71 KB, 下载次数: 82)

点评

你好,我想你还是没明白我说的意思,我的意思就是想要个模板 模板的作用就是搞明白逻辑结构,谁启动谁,谁引导谁 你也看到,我做过bootmgr的双启动模板,已经搞清了逻辑结构 现在这个uefi的grub2好搞,bios的呢,还是一头  详情 回复 发表于 2020-1-17 08:36
收到了,感谢啊  详情 回复 发表于 2020-1-16 21:36
回复

使用道具 举报

78#
发表于 2020-1-16 21:36:24 | 只看该作者
hilsonma 发表于 2020-1-16 20:34
@zhxy9804 @wangziqiang
附件就是你要的全打包方式。将附件的bootx64.efi替换到 \efi\boot\bootx64.efi  ...

收到了,感谢啊
回复

使用道具 举报

79#
发表于 2020-1-17 08:36:19 | 只看该作者
本帖最后由 zhxy9804 于 2020-1-17 08:42 编辑
hilsonma 发表于 2020-1-16 20:34
@zhxy9804 @wangziqiang
附件就是你要的全打包方式。将附件的bootx64.efi替换到 \efi\boot\bootx64.efi  ...

你好,我想你还是没明白我说的意思,我的意思就是想要个模板
模板的作用就是搞明白逻辑结构,谁启动谁,谁引导谁
你也看到,我做过bootmgr的双启动模板,已经搞清了逻辑结构
现在这个uefi的grub2好搞,bios的呢,还是一头雾水
所以我想要个双启动的bios模板,搞明白文件结构,尤其是bios版本的光盘启动逻辑

点评

其实我没有看到你做的bootmgr的双启动模板,所以不太明白你的意思。 bootmgr是ms在bios平台下的启动管理器,哪来的双启,如果是指bios/uefi双启,那ms的就是bootmgr/bootmgfw.efi,grub2的就是g2ldr/grubx64.efi/gr  详情 回复 发表于 2020-1-17 16:07
BIOS下为啥非得用GRUB2? GRUB4DOS 不好吗。  详情 回复 发表于 2020-1-17 09:10
回复

使用道具 举报

80#
发表于 2020-1-17 09:10:54 | 只看该作者
zhxy9804 发表于 2020-1-17 08:36
你好,我想你还是没明白我说的意思,我的意思就是想要个模板
模板的作用就是搞明白逻辑结构,谁启动谁,谁引 ...

BIOS下为啥非得用GRUB2?
GRUB4DOS 不好吗。

点评

感谢大神回话 是这样子的,我看你开发的grub2,可以载入硬盘img,就是那种海蜘蛛 爱快等公司做的那种硬盘img  详情 回复 发表于 2020-1-17 10:13
回复

使用道具 举报

81#
发表于 2020-1-17 10:13:14 | 只看该作者
wintoflash 发表于 2020-1-17 09:10
BIOS下为啥非得用GRUB2?
GRUB4DOS 不好吗。

感谢大神回话
是这样子的,我看你开发的grub2,可以载入硬盘img,就是那种海蜘蛛 爱快等公司做的那种硬盘img

点评

BIOS下有这功能?我咋不知道。  详情 回复 发表于 2020-1-17 10:14
回复

使用道具 举报

82#
发表于 2020-1-17 10:14:22 | 只看该作者
zhxy9804 发表于 2020-1-17 10:13
感谢大神回话
是这样子的,我看你开发的grub2,可以载入硬盘img,就是那种海蜘蛛 爱快等公司做的那种硬盘im ...

BIOS下有这功能?我咋不知道。

点评

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=417233&extra=page%3D1 你写的这篇,既然uefi下能用,bios下不能用吗? 盼回复!  详情 回复 发表于 2020-1-17 10:33
回复

使用道具 举报

83#
发表于 2020-1-17 10:33:19 | 只看该作者
wintoflash 发表于 2020-1-17 10:14
BIOS下有这功能?我咋不知道。

http://bbs.wuyou.net/forum.php?m ... &extra=page%3D1
你写的这篇,既然uefi下能用,bios下不能用吗?
盼回复!

点评

磁盘仿真,本来就是g4d早就有了,而grub2没有,所以wintoflash就开发出来的,是应用在uefi平台的。 如果你留意并学习wintoflash的grubfm的话就能发现,他的grubfm在bios平台下也是调用g4d的. bios是基于中断的,  详情 回复 发表于 2020-1-17 16:44
??? 不是很懂你的逻辑。 当然不行。  详情 回复 发表于 2020-1-17 10:56
回复

使用道具 举报

84#
发表于 2020-1-17 10:56:06 | 只看该作者
zhxy9804 发表于 2020-1-17 10:33
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=417233&extra=page%3D1
你写的这篇,既然uefi下能用 ...

???
不是很懂你的逻辑。
当然不行。

点评

好,明白 那还是麻烦告诉一下grub2双启动光盘的做法吧,我想了解一下结构跟原理  详情 回复 发表于 2020-1-17 14:45
回复

使用道具 举报

85#
发表于 2020-1-17 14:45:17 | 只看该作者
wintoflash 发表于 2020-1-17 10:56
???
不是很懂你的逻辑。
当然不行。

好,明白
那还是麻烦告诉一下grub2双启动光盘的做法吧,我想了解一下结构跟原理

点评

基于我前面的表达,如果你的双启是指bios/uefi双启的话,就没有必要一定做grub2双启,虽然也可以做到。在bios下我始终觉得g4d比grub2好,双启都用grub2的话唯一的好处就是可以共用一个菜单文件,菜单文件而已,有必  详情 回复 发表于 2020-1-17 17:02
回复

使用道具 举报

86#
 楼主| 发表于 2020-1-17 16:07:55 | 只看该作者
zhxy9804 发表于 2020-1-17 08:36
你好,我想你还是没明白我说的意思,我的意思就是想要个模板
模板的作用就是搞明白逻辑结构,谁启动谁,谁引 ...

其实我没有看到你做的bootmgr的双启动模板,所以不太明白你的意思。
bootmgr是ms在bios平台下的启动管理器,哪来的双启,如果是指bios/uefi双启,那ms的就是bootmgr/bootmgfw.efi,grub2的就是g2ldr/grubx64.efi/grubia32.efi
但你下面又来个双启动的bios模板,我就又不明白你的真实意愿了,我搞不清楚你的概念。

bios是之前的电脑主板rom上的基本开机程序,现在的一般是uefi,由于习惯上的原因,也有人把现在的uefi叫做uefi-bios,如果非要这样叫,就要带上传统bios和uefi-bios这样对应着叫,让人明白。我建议就叫bios和uefi,传统的bios就叫bios,新的bios其实是uefi就叫uefi.

如果你是指这两个平台的启动叫双启,那我现在是bios下用g4d,uefi下用grub2, 不是一定要双平台都用同一种启动软件。
回复

使用道具 举报

87#
 楼主| 发表于 2020-1-17 16:44:06 | 只看该作者
zhxy9804 发表于 2020-1-17 10:33
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=417233&extra=page%3D1
你写的这篇,既然uefi下能用 ...

磁盘仿真,本来就是g4d早就有了,而grub2没有,所以wintoflash就开发出来的,是应用在uefi平台的。
如果你留意并学习wintoflash的grubfm的话就能发现,他的grubfm在bios平台下也是调用g4d的.

bios是基于中断的,就是int13, int9 之类。而uefi 是没有这些概念的,所以两个平台下的引导是并不能相通的。
有人已经在bios下模拟uefi并成功,而uefi下模拟bios还没有应该也没有必要。毕竟现在新出的电脑都是uefi,bios随着旧电脑的淘汰会逐渐消失。

点评

还是麻烦一下,这个core.img是怎么回事呢?  发表于 2020-1-17 17:00
回复

使用道具 举报

88#
发表于 2020-1-17 17:00:40 | 只看该作者
本帖最后由 zhxy9804 于 2020-1-17 17:08 编辑

双启动,就是bios跟uefi都适应,的确是两套文件比如我做的双启动光盘都是bootmgr,只是bootgmr分两种形式罢了

我要的就是grub2的两种形式,
我看那个core.img,

点评

bootmgr 和 bootmgfw.efi 是完全不同的两个东西。只是让你感觉在使用方法上差不多。core.img 和 grubx64.efi 也是如此。虽然用的都是同一套菜单,但内在完全不同。 core.img 就是 bios 下生成的 multiboot 格  详情 回复 发表于 2020-1-17 18:47
core.img,就是bios平台下的引导镜像,相当于uefi下的grubx64.efi 由于bios平台是基于扇区引导,所以还要加一个与扇区引导对应的引导镜像,就是grub2下载包里i386-pc目录下的boot.img ,如果你看我7楼中的定制脚本  详情 回复 发表于 2020-1-17 17:41
回复

使用道具 举报

89#
 楼主| 发表于 2020-1-17 17:02:33 | 只看该作者
zhxy9804 发表于 2020-1-17 14:45
好,明白
那还是麻烦告诉一下grub2双启动光盘的做法吧,我想了解一下结构跟原理

基于我前面的表达,如果你的双启是指bios/uefi双启的话,就没有必要一定做grub2双启,虽然也可以做到。在bios下我始终觉得g4d比grub2好,双启都用grub2的话唯一的好处就是可以共用一个菜单文件,菜单文件而已,有必要一定用同一个吗?一个菜单文件的内容,将其不同平台的部分,分成两个菜单文件来表达,或者会更简单更清晰吧。

所以真的做双启光盘,可以bootmgr/bootmgfw.efi,也可以g4d/grub2 (grldr/grubx64.efi)
你可以参考微PE的双启光盘,就是bootmgr/bootmgfw.efi的
将bootmgr换成grldr,将bootmgfw.efi换成grubx64.efi 就可以了,当然菜单文件(配置文件)要相应更改(包括路径)
同理,如果你硬要bios下用grub2引导,就把bootmgr换成g2ldr就可以了
要注意的是,bootmgr是支持udf文件系统的,而grldr/g2ldr是不支持的。

点评

bios下g2确实不能与g4d比,efi下那没得比。但网络启动g2不行,无论是bios还是efi  详情 回复 发表于 2020-1-17 17:33
回复

使用道具 举报

90#
发表于 2020-1-17 17:33:02 | 只看该作者
hilsonma 发表于 2020-1-17 17:02
基于我前面的表达,如果你的双启是指bios/uefi双启的话,就没有必要一定做grub2双启,虽然也可以做到。在 ...

bios下g2确实不能与g4d比,efi下那没得比。但网络启动g2不行,无论是bios还是efi,网启应该来说是ipxe的天下。

点评

明白,谢谢。我前面的表达不包括网启,我对网启不熟悉。目前我只对本地启动有一定的了解,网启还没有涉及。  详情 回复 发表于 2020-1-17 17:48
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-25 15:03

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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