无忧启动论坛

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

请问下BIOS启动怎样启动另一个硬盘里面的grub2?

  [复制链接]
1#
发表于 2022-2-16 08:13:29 | 显示全部楼层

没太看明白你的截图。
图二应该是 grub-legacy。图三是 syslinux (extlinux)。
linux 系统安装 grub2 是把核心写在分区间隙里面的,没有实体文件。
有没有chainloader (hd0)+1之类的方法,加载硬盘1的MBR之类的?

chainloader +1
chainloader (hd0)+1
这些都是可以执行的。注意看清楚磁盘号。

点评

好像CentOS安装好之后,默认就是grub2引导,我这边是BIOS启动,所以应该是grub2-BIOS启动,好像不是grub-legacy. chainloader +1 chainloader (hd0)+1 这样子的语句,似乎只对微软的引导体系ntldr/bootmgr有  详情 回复 发表于 2022-2-16 09:18
回复

使用道具 举报

2#
发表于 2022-2-16 17:57:27 | 显示全部楼层
本帖最后由 wintoflash 于 2022-2-16 18:03 编辑
liuzhaoyzz 发表于 2022-2-16 09:18
好像CentOS安装好之后,默认就是grub2引导,我这边是BIOS启动,所以应该是grub2-BIOS启动,好像不是grub- ...
我试了下上面的语句,似乎不行呀,可能盘号弄错了?

你要看看那个硬盘是不是 (hd0)。最好是 (hd0),要不然可能需要交换磁盘。
chainloader +1 启动的应该是 ($root)+1,也就是根分区的 pbr,应该不适用于 GRUB2。
这样子的语句,似乎只对微软的引导体系ntldr/bootmgr有效吧?因为ntldr/bootmgr写入MBR的时候,只需要占用一个扇区,所以+1有效,那么grub2占用多少个启动扇区?

你这就有点想当然了。BIOS 也不知道你的引导器占几个扇区,它是怎么启动你的硬盘的?
BIOS 启动硬盘,都是把 MBR(1个扇区!) 加载到内存 0x7c00 位置的。

你可能想的是 chainloader /ntldr 这种东西。grub4dos 里面的 chainloader ntldr/bootmgr/grldr 和 chainloader grldr.mbr/(hd0)+1 其实是两回事,是把两种功能合并到了一个命令中。而在 grub2 里面就是分开的。

点评

chainloader (hd1)+1我试过了,不行啊,直接黑屏了。  详情 回复 发表于 2022-2-16 18:06
回复

使用道具 举报

3#
发表于 2022-2-16 18:54:45 | 显示全部楼层
liuzhaoyzz 发表于 2022-2-16 18:06
chainloader (hd1)+1我试过了,不行啊,直接黑屏了。

不要在图像模式下执行。

点评

果然如此! grub2-BIOS: menuentry "chainloader-hd1" "/grub2/grub.cfg" { terminal_output console drivemap (hd1) (hd0) chainloader (hd1)+1 } grub4dos-BIOS: title chainloader-hd1 map (hd1) (hd0  详情 回复 发表于 2022-2-16 19:17
回复

使用道具 举报

4#
发表于 2022-2-17 10:27:39 | 显示全部楼层
liuzhaoyzz 发表于 2022-2-16 19:17
果然如此!
grub2-BIOS:
menuentry "chainloader-hd1"  {

你写的grub4dos菜单似乎有问题,实际启动的是(hd0)。

切换成文本模式与交换磁盘,都是为了规避bios可能有的问题。

点评

刚才尝试了下,g4d title chainloader-hd1 map (hd1) (hd0) map --hook chainloader (hd1)+1 title chainloader-hd1 map (hd1) (hd0) map --hook chainloader (hd0)+1 都可以启动。 grub2: menuentry  详情 回复 发表于 2022-2-17 12:23
那个g4d菜单我测试过的可以启动,去掉map语句就无法启动,晚点再试试chainloader (hd0)+1试试看是什么结果,可能与硬盘1里面grub2菜单 set root='hd0,msdos1'语句有关吧。  详情 回复 发表于 2022-2-17 10:57
回复

使用道具 举报

5#
发表于 2022-2-18 11:17:03 | 显示全部楼层
liuzhaoyzz 发表于 2022-2-17 12:23
刚才尝试了下,g4d
title chainloader-hd1
map (hd1) (hd0)

对于 GRUB4DOS 来说,执行 map --hook 之后磁盘交换就生效了。 因此你想启动的磁盘由 (hd1) 变为了 (hd0),最后应该执行
chainloader (hd0)+1
至于为什么 chainloader (hd1)+1 也能成功启动,我怀疑 GRUB4DOS chainloader 可能有问题。
对于 GRUB2 来说,磁盘交换是执行 boot 命令的时候生效的,所以应该执行 chainloader (hd1)+1。

点评

我感觉 map (hd1) (hd0) map --hook 之后,这两个磁盘,在g4d环境下是一样的,所以用chainloader (hd0)+1或者chainloader (hd1)+1结果是一样的,但是理论上来说,chainloader (hd0)+1的确更加合理。  详情 回复 发表于 2022-2-18 18:16
回复

使用道具 举报

6#
发表于 2022-2-18 20:59:35 | 显示全部楼层
liuzhaoyzz 发表于 2022-2-18 18:56
grub2认识xfs分区格式,可以ls
grub2似乎也不认识llvm分区格式,ls无效。或者是我没有加载llvm.mod?这个我 ...

你说的应该是 lvm 吧。llvm 是个编译器。
GRUB2 有 lvm 支持模块,一般情况下用得比较少。
----------
原来是我忘记了,map (hd1) (hd0) 并不是交换磁盘,而是把磁盘 (hd1) 映射到 (hd0),这样执行 map --hook 之后,(hd1) 和 (hd0) 就一样了。

点评

GRUB2 有 lvm 支持模块,果然是有,但是 insmod lvm之后,lvm2分区还是无法ls,可能grub2里面的lvm.mod只支持lvm1.0?不支持lvm2.0?  详情 回复 发表于 2022-2-18 22:32
确实是lvm,我写错了,写错的原因是对于linux的lvm分区不熟悉,贻笑大方了,哈哈。  详情 回复 发表于 2022-2-18 21:58
回复

使用道具 举报

7#
发表于 2022-2-18 21:06:33 | 显示全部楼层
2011whp 发表于 2022-2-18 19:31
grub2  的 proc 是个 什么 设备呢  ?
grub205 是  2TB
ventoy   是   0kB

(proc) 类似 Linux 下的 /proc,是把 GRUB2 内部一些数据抽象成文件暴露出来方便用户调用的。
比如加密分区、签名验证的密钥,smbios、acpi、efi 系统表等。
我的 GRUB2 里面可以把 (proc) 磁盘当作 /dev/zero 来给 dd 命令使用,你用 hexdump 查看一下就知道了。
回复

使用道具 举报

8#
发表于 2022-2-19 08:22:44 | 显示全部楼层
liuzhaoyzz 发表于 2022-2-18 22:32
GRUB2 有 lvm 支持模块,果然是有,但是insmod lvm之后,lvm2分区还是无法ls,可能grub2里面的lvm.mod只 ...


点评

那就是有效了?为啥不能ls?不懂  详情 回复 发表于 2022-2-19 10:07
回复

使用道具 举报

9#
发表于 2022-2-19 11:18:57 | 显示全部楼层
liuzhaoyzz 发表于 2022-2-19 10:07
那就是有效了?为啥不能ls?不懂

你应该 ls (lvm/centos-root)/

点评

果然是可以。  详情 回复 发表于 2022-2-20 19:13
回复

使用道具 举报

10#
发表于 2022-3-5 14:21:48 | 显示全部楼层
481416322 发表于 2022-3-5 13:09
向各位高手请教一下,在grub2_BIOS下,如何用drivemap将vhd文件做个映射,然后启动vhd系统。

不支持

点评

知道了,谢谢!  详情 回复 发表于 2022-3-5 14:51
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-5 04:33

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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