无忧启动论坛

 找回密码
 注册
搜索
最纯净的「微PE装机优盘」UEPON大师作品系统gho:最纯净好用系统下载站数据恢复、数据保护、视频编辑
Win To Go 极致利器(IXUNCIS固态U盘)无忧启动网成立20周年!广告联系 QQ:184822951 微信:wuyouceo
楼主: hilsonma

[分享] Grub2的简单使用

    [复制链接]
 楼主| 发表于 2020-1-17 17:41:53 | 显示全部楼层
zhxy9804 发表于 2020-1-17 17:00
双启动,就是bios跟uefi都适应,的确是两套文件比如我做的双启动光盘都是bootmgr,只是bootgmr分两种形式罢了
...

core.img,就是bios平台下的引导镜像,相当于uefi下的grubx64.efi
由于bios平台是基于扇区引导,所以还要加一个与扇区引导对应的引导镜像,就是grub2下载包里i386-pc目录下的boot.img ,如果你看我7楼中的定制脚本就会明白,我的定制脚本是直接生成g2ldr 的。
回复

使用道具 举报

 楼主| 发表于 2020-1-17 17:48:40 | 显示全部楼层
hhh333 发表于 2020-1-17 17:33
bios下g2确实不能与g4d比,efi下那没得比。但网络启动g2不行,无论是bios还是efi,网启应该来说是ipxe的 ...

明白,谢谢。我前面的表达不包括网启,我对网启不熟悉。目前我只对本地启动有一定的了解,网启还没有涉及。
回复

使用道具 举报

发表于 2020-1-17 18:47:00 | 显示全部楼层
zhxy9804 发表于 2020-1-17 17:00
双启动,就是bios跟uefi都适应,的确是两套文件比如我做的双启动光盘都是bootmgr,只是bootgmr分两种形式罢了
...
的确是两套文件比如我做的双启动光盘都是bootmgr,只是bootgmr分两种形式罢了


bootmgr 和 bootmgfw.efi 是完全不同的两个东西。只是让你感觉在使用方法上差不多。core.img 和 grubx64.efi 也是如此。虽然用的都是同一套菜单,但内在完全不同。

core.img 就是 bios 下生成的 multiboot 格式内核,文件加上cdboot.img做文件头,就变成了光盘引导文件。前面加 diskboot.img,就变成类似 grldr 的东西。前面加 lnxboot.img,就变成 linux 格式内核。

点评

你看,uefi下,只需要把对应的文件放到指定的位置,然后就一切ok bios下,这个core.img,谁来引导它呢?  详情 回复 发表于 2020-1-17 19:40
回复

使用道具 举报

发表于 2020-1-17 18:50:21 | 显示全部楼层
感谢各位的指导,心中有谱了!
回复

使用道具 举报

发表于 2020-1-17 19:40:36 | 显示全部楼层
wintoflash 发表于 2020-1-17 18:47
bootmgr 和 bootmgfw.efi 是完全不同的两个东西。只是让你感觉在使用方法上差不多。core.img 和 grub ...

你看,uefi下,只需要把对应的文件放到指定的位置,然后就一切ok
bios下,这个core.img,谁来引导它呢?

点评

uefi 基于文件引导,uefi在完成初始化后就到启动序列,通常默认引导efi分区的 \efi\boot\bootx64.efi bios 基于扇区引导,bios在完成初始化后就到启动序列,通常默认引导第一硬盘的第一扇区,也就是该硬盘的MBR,再  详情 回复 发表于 2020-1-17 20:28
需要向磁盘mbr写入启动代码  详情 回复 发表于 2020-1-17 19:43
回复

使用道具 举报

发表于 2020-1-17 19:43:57 | 显示全部楼层
本帖最后由 wintoflash 于 2020-1-17 19:52 编辑
zhxy9804 发表于 2020-1-17 19:40
你看,uefi下,只需要把对应的文件放到指定的位置,然后就一切ok
bios下,这个core.img,谁来引导它呢?

需要向磁盘mbr写入启动代码。
这是最基本的啊,这个论坛上的人都应该知道mbr是啥吧。

回复

使用道具 举报

 楼主| 发表于 2020-1-17 20:28:23 | 显示全部楼层
zhxy9804 发表于 2020-1-17 19:40
你看,uefi下,只需要把对应的文件放到指定的位置,然后就一切ok
bios下,这个core.img,谁来引导它呢?

uefi 基于文件引导,uefi在完成初始化后就到启动序列,通常默认引导efi分区的 \efi\boot\bootx64.efi
bios 基于扇区引导,bios在完成初始化后就到启动序列,通常默认引导第一硬盘的第一扇区,也就是该硬盘的MBR,再由MBR进行下一步引导

所以bios平台需要处理扇区引导。当安装windows时,windows会将其主引导记录写入mbr,分区引导记录写入dbr,引导的时候就是mbr引导dbr,dbr引导bootmgr这样一个过程。

core.img的引导,我也不是很清楚,我想象的是,boot.img引导core.img,将boot.img与core.img合在一起成为g2ldr, 可以将它当作g4d的grldr来引导,我是使用wee来引导grldr的,所以我会改让wee引导g2ldr,而wee是安装到mbr上的。
操作上就是将wee安装到mbr,将boot.img和core.img合成g2ldr,让wee引导g2ldr.

至于光盘上,我原本想象的是grldr_cd.bin 引导g2ldr,,上面wintoflash提过是cdboot.img引导core.img, 这样我就不是很了解了,不知cdboot.img 的作用会不会类似grldr_cd.bin,又是怎样变成光盘引导。反正我都不使用grub2做bios引导,所以就不去关心了,也帮不到你。

点评

好的,明白了,谢谢,大体了解的差不多了 g2ldr如何生成呢?  详情 回复 发表于 2020-1-17 20:35
回复

使用道具 举报

发表于 2020-1-17 20:35:28 | 显示全部楼层
hilsonma 发表于 2020-1-17 20:28
uefi 基于文件引导,uefi在完成初始化后就到启动序列,通常默认引导efi分区的 \efi\boot\bootx64.efi
bi ...

好的,明白了,谢谢,大体了解的差不多了
g2ldr如何生成呢?

点评

用我7楼的脚本。 也可以自行输入命令: Copy /B i386-pc\boot.img+core.img g2ldr  详情 回复 发表于 2020-1-17 21:18
回复

使用道具 举报

 楼主| 发表于 2020-1-17 21:18:39 | 显示全部楼层
zhxy9804 发表于 2020-1-17 20:35
好的,明白了,谢谢,大体了解的差不多了
g2ldr如何生成呢?

用我7楼的脚本。
也可以自行输入命令:
Copy /B i386-pc\boot.img+core.img g2ldr

点评

明白了!嘿嘿,其实啊,有时候莫名其妙就想不通呢 特别想追根究底搞个明白不行  详情 回复 发表于 2020-1-17 22:06
回复

使用道具 举报

发表于 2020-1-17 22:06:19 | 显示全部楼层
hilsonma 发表于 2020-1-17 21:18
用我7楼的脚本。
也可以自行输入命令:
Copy /B i386-pc\boot.img+core.img g2ldr

明白了!嘿嘿,其实啊,有时候莫名其妙就想不通呢
特别想追根究底搞个明白不行

点评

我猜你是要这个吧,bios和efi双启:  详情 回复 发表于 2020-1-21 10:15
回复

使用道具 举报

发表于 2020-1-19 08:53:01 | 显示全部楼层
从这个教程学起
回复

使用道具 举报

发表于 2020-1-20 11:44:19 | 显示全部楼层
有个问题请教一下:
  1. set default=0
  2. set fallback=0
  3. set gfxmode=1024x768,auto
  4. set gfxterm_font=unicode
  5. set lang=zh_CN
  6. set locale_dir=$prefix/locale
  7. set pager=1
  8. set timeout=30
  9. set enable_progress_indicator=0

  10. #激活图形模式的输出终端,以允许使用中文和背景图
  11. terminal_output gfxterm
  12. #设置背景图片
  13. background_image $prefix/background.jpg
  14. #加载字体文件($prefix/fonts/unicode.pf2)
  15. loadfont unicode
  16. #加载主题
  17. #set theme=$prefix/themes/winly/theme.txt
  18. #export theme
复制代码
以上是grub.cfg的开头代码,开主题时主题中的背景是可以显示的,但把主题关了,指定的背景图并没显示出来,这个有什么诀窍?



点评

找到原因了,定制时还要加gfxterm_background  详情 回复 发表于 2020-1-20 13:17
说明主题中有背景图片,但 background_image $prefix/background.jpg 这一句中的图片不存在,应该将这一句中的图片路径指向主题中的图片,类似: background_image $prefix/themes/winly/background.jpg 请按  详情 回复 发表于 2020-1-20 12:46
回复

使用道具 举报

 楼主| 发表于 2020-1-20 12:46:04 | 显示全部楼层
hhh333 发表于 2020-1-20 11:44
有个问题请教一下:
以上是grub.cfg的开头代码,开主题时主题中的背景是可以显示的,但把主题关了,指定的 ...
开主题时主题中的背景是可以显示的,但把主题关了,指定的背景图并没显示出来

说明主题中有背景图片,但
background_image $prefix/background.jpg
这一句中的图片不存在,应该将这一句中的图片路径指向主题中的图片,类似:
background_image $prefix/themes/winly/background.jpg
请按实际图片路径修正

set default=0
# default 本身默认为0,这一句建议注释掉,不是0时再使用
set fallback=0
# fallback 的值跟default一样时没有意义,建议注释掉

点评

图片是存在的,改成background_image $prefix/themes/winly/wallpaper.png也不显示,不显示图片改背景色background_color #0F7F7F也不行。  详情 回复 发表于 2020-1-20 13:02
回复

使用道具 举报

发表于 2020-1-20 13:02:52 | 显示全部楼层
hilsonma 发表于 2020-1-20 12:46
说明主题中有背景图片,但
background_image $prefix/background.jpg
这一句中的图片不存在,应该将 ...

图片是存在的,改成background_image $prefix/themes/winly/wallpaper.png也不显示,不显示图片改背景色background_color #0F7F7F也不行。

点评

进grub2命令行输入相关语句看有什么提示 由短句到长句逐句试,直到找出问题根源  详情 回复 发表于 2020-1-20 13:18
回复

使用道具 举报

发表于 2020-1-20 13:17:19 | 显示全部楼层
本帖最后由 hhh333 于 2020-1-20 13:21 编辑
hhh333 发表于 2020-1-20 11:44
有个问题请教一下:
以上是grub.cfg的开头代码,开主题时主题中的背景是可以显示的,但把主题关了,指定的 ...

找到原因了,定制时还要加gfxterm_background.
还有颜色值要加双引号
回复

使用道具 举报

 楼主| 发表于 2020-1-20 13:18:06 | 显示全部楼层
hhh333 发表于 2020-1-20 13:02
图片是存在的,改成background_image $prefix/themes/winly/wallpaper.png也不显示,不显示图片改背景色b ...

进grub2命令行输入相关语句看有什么提示
由短句到长句逐句试,直到找出问题根源

点评

不过还有是点奇怪,主题显示背景不需要这个  详情 回复 发表于 2020-1-20 13:22
回复

使用道具 举报

发表于 2020-1-20 13:22:50 | 显示全部楼层
hilsonma 发表于 2020-1-20 13:18
进grub2命令行输入相关语句看有什么提示
由短句到长句逐句试,直到找出问题根源

不过还有是点奇怪,主题显示背景不需要这个

点评

这不奇怪,grub2是模块化的,所有命令都需要模块支持 主题不是以命令的形式设置的,是以变量的形式设置的,是由图形终端模块支持的,如果你不包含gfxterm定制的话,你设置主题结果就会跟你刚才使用命令设置背景图一  详情 回复 发表于 2020-1-20 14:23
看command.lst [attachimg]409951[/attachimg]  详情 回复 发表于 2020-1-20 13:42
回复

使用道具 举报

发表于 2020-1-20 13:42:38 | 显示全部楼层
hhh333 发表于 2020-1-20 13:22
不过还有是点奇怪,主题显示背景不需要这个

看command.lst
深度截图_选择区域_20200120134227.png
回复

使用道具 举报

 楼主| 发表于 2020-1-20 14:23:50 | 显示全部楼层
hhh333 发表于 2020-1-20 13:22
不过还有是点奇怪,主题显示背景不需要这个

这不奇怪,grub2是模块化的,所有命令都需要模块支持
主题不是以命令的形式设置的,是以变量的形式设置的,是由图形终端模块支持的,如果你不包含gfxterm定制的话,你设置主题结果就会跟你刚才使用命令设置背景图一样
回复

使用道具 举报

发表于 2020-1-21 09:11:23 | 显示全部楼层
这个教程好。希望有下一篇进阶使用。
回复

使用道具 举报

发表于 2020-1-21 10:15:47 | 显示全部楼层
zhxy9804 发表于 2020-1-17 22:06
明白了!嘿嘿,其实啊,有时候莫名其妙就想不通呢
特别想追根究底搞个明白不行

我猜你是要这个吧,bios和efi双启: H3CD.7z (2.69 MB, 下载次数: 37)

点评

真的是的来,待会还有问题要请教  详情 回复 发表于 2020-1-21 11:23
回复

使用道具 举报

发表于 2020-1-21 11:23:23 | 显示全部楼层
本帖最后由 zhxy9804 于 2020-1-21 11:30 编辑
hhh333 发表于 2020-1-21 10:15
我猜你是要这个吧,bios和efi双启:

真的是的来,待会还有问题要请教--------
打开ISO,感觉没看懂,grub2文件在哪里呢?

点评

上虚拟机测试一下不就知道了?制作用的批处理及启动镜像见于我发布的PE系统  详情 回复 发表于 2020-1-28 22:57
应该是 \2-Boot-NoEmul.img\EFI\BOOT\bootx64.efi \2-Boot-NoEmul.img\EFI\BOOT\bootia32.efi 这两个吧 这种定制iso的方法我还没有学会,反正我现在少用iso,暂不学那么多了。  详情 回复 发表于 2020-1-26 17:04
回复

使用道具 举报

 楼主| 发表于 2020-1-26 17:04:14 | 显示全部楼层
zhxy9804 发表于 2020-1-21 11:23
真的是的来,待会还有问题要请教--------
打开ISO,感觉没看懂,grub2文件在哪里呢?

应该是
[BOOT]\2-Boot-NoEmul.img\EFI\BOOT\bootx64.efi
[BOOT]\2-Boot-NoEmul.img\EFI\BOOT\bootia32.efi
这两个吧

这种定制iso的方法我还没有学会,反正我现在少用iso,暂不学那么多了。
回复

使用道具 举报

发表于 2020-1-27 12:35:02 | 显示全部楼层
很好的入门教程,我就从这个开始下手吧,多谢!
回复

使用道具 举报

发表于 2020-1-27 23:23:33 来自手机 | 显示全部楼层
请问支持安全引导吗?

点评

可以使用之前的引导方案,效果自行测试。  详情 回复 发表于 2020-1-27 23:51
回复

使用道具 举报

 楼主| 发表于 2020-1-27 23:51:33 | 显示全部楼层
slipper 发表于 2020-1-27 23:23
请问支持安全引导吗?

可以使用之前的引导方案,效果自行测试。
回复

使用道具 举报

发表于 2020-1-28 20:15:31 | 显示全部楼层
好命令
回复

使用道具 举报

发表于 2020-1-28 22:57:41 | 显示全部楼层
zhxy9804 发表于 2020-1-21 11:23
真的是的来,待会还有问题要请教--------
打开ISO,感觉没看懂,grub2文件在哪里呢?

上虚拟机测试一下不就知道了?制作用的批处理及启动镜像见于我发布的PE系统

点评

好,这几天经过研究,大体搞明白门道了  详情 回复 发表于 2020-1-29 00:34
回复

使用道具 举报

发表于 2020-1-29 00:34:09 | 显示全部楼层
hhh333 发表于 2020-1-28 22:57
上虚拟机测试一下不就知道了?制作用的批处理及启动镜像见于我发布的PE系统

好,这几天经过研究,大体搞明白门道了
回复

使用道具 举报

发表于 2020-2-6 11:07:04 | 显示全部楼层
谢谢了,楼主!
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2020-12-5 19:29

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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