hilsonma 发表于 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 的。

hilsonma 发表于 2020-1-17 17:48:40

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

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

wintoflash 发表于 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 格式内核。

zhxy9804 发表于 2020-1-17 18:50:21

感谢各位的指导,心中有谱了!

zhxy9804 发表于 2020-1-17 19:40:36

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

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

wintoflash 发表于 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是啥吧。

hilsonma 发表于 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引导,所以就不去关心了,也帮不到你。

zhxy9804 发表于 2020-1-17 20:35:28

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

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

hilsonma 发表于 2020-1-17 21:18:39

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

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

zhxy9804 发表于 2020-1-17 22:06:19

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

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

zgj 发表于 2020-1-19 08:53:01

从这个教程学起

hhh333 发表于 2020-1-20 11:44:19

有个问题请教一下:
set default=0
set fallback=0
set gfxmode=1024x768,auto
set gfxterm_font=unicode
set lang=zh_CN
set locale_dir=$prefix/locale
set pager=1
set timeout=30
set enable_progress_indicator=0

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



hilsonma 发表于 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一样时没有意义,建议注释掉

hhh333 发表于 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也不行。

hhh333 发表于 2020-1-20 13:17:19

本帖最后由 hhh333 于 2020-1-20 13:21 编辑

hhh333 发表于 2020-1-20 11:44
有个问题请教一下:
以上是grub.cfg的开头代码,开主题时主题中的背景是可以显示的,但把主题关了,指定的 ...
找到原因了,定制时还要加gfxterm_background.
还有颜色值要加双引号

hilsonma 发表于 2020-1-20 13:18:06

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

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

hhh333 发表于 2020-1-20 13:22:50

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

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

wintoflash 发表于 2020-1-20 13:42:38

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

看command.lst

hilsonma 发表于 2020-1-20 14:23:50

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

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

hhh333 发表于 2020-1-21 09:11:23

这个教程好。希望有下一篇进阶使用。

hhh333 发表于 2020-1-21 10:15:47

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

我猜你是要这个吧,bios和efi双启:

zhxy9804 发表于 2020-1-21 11:23:23

本帖最后由 zhxy9804 于 2020-1-21 11:30 编辑

hhh333 发表于 2020-1-21 10:15
我猜你是要这个吧,bios和efi双启:
真的是的来,待会还有问题要请教--------
打开ISO,感觉没看懂,grub2文件在哪里呢?

hilsonma 发表于 2020-1-26 17:04:14

zhxy9804 发表于 2020-1-21 11:23
真的是的来,待会还有问题要请教--------
打开ISO,感觉没看懂,grub2文件在哪里呢?

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

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

autumnsky 发表于 2020-1-27 12:35:02

很好的入门教程,我就从这个开始下手吧,多谢!

slipper 发表于 2020-1-27 23:23:33

请问支持安全引导吗?

hilsonma 发表于 2020-1-27 23:51:33

slipper 发表于 2020-1-27 23:23
请问支持安全引导吗?

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

long1983 发表于 2020-1-28 20:15:31

好命令

hhh333 发表于 2020-1-28 22:57:41

zhxy9804 发表于 2020-1-21 11:23
真的是的来,待会还有问题要请教--------
打开ISO,感觉没看懂,grub2文件在哪里呢?

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

zhxy9804 发表于 2020-1-29 00:34:09

hhh333 发表于 2020-1-28 22:57
上虚拟机测试一下不就知道了?制作用的批处理及启动镜像见于我发布的PE系统

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

maharajah 发表于 2020-2-6 11:07:04

谢谢了,楼主!
页: 1 2 3 [4] 5 6 7 8 9
查看完整版本: Grub2的简单使用