Linux 与 GRUB2 是深度绑定的吗?

启动讨论 grub/grub2/syslinux/grub4dos/Lilo
回复
DOSforever
帖子: 13
注册时间: 2012-10-06 12:24

Linux 与 GRUB2 是深度绑定的吗?

#1

帖子 DOSforever » 2024-03-15 18:44

按我的理解 GRUB/GRUB2 只是一个多系统引导加载器,可以独立于操作系统存在,操作系统也可以没有 GRUB 依靠自身的引导程序加载自己。
同样道理 Windows 的 NTLDR/BOOTMGR 也只是一个多系统引导加载器,除了引导 Windows 启动外也可以引导其它操作系统,但一个特列是 NTLDR/BOOTMGR 与 Windows 是深度绑定的,既不能单独安装,也不能在没有 NTLDR/BOOTMGR 的情况下引导 Windows,其它第三方的引导管理器最后还是要经过 NTLDR/BOOTMGR 才能引导 Windows。
那么我同样的问题是 GRUB2 与 Linux 是深度绑定的吗?在没有 GRUB2 的情况下如何引导 Linux?

之所以有这样的疑问是因为在安装 Linux 的时候假如选择采用 GRUB2 引导,这在 MBR 分区上遇到困难。根据 GRUB2 的官方说明 https://www.gnu.org/software/grub/manua ... stallation,如果要把 GRUB2 安装在 MBR 的 "embedding area" ,该区域至少要有 1M 的空间,如果只有 31K 空间,GRUB2 的小配置文件也可以,但必须满足三个条件:
Historically many tools left only 31 KiB of space. This is not enough to parse reliably difficult structures like Btrfs, ZFS, RAID or LVM, or to use difficult disk access methods like ahci. Hence GRUB will warn if attempted to install into small MBR gap except in a small number of configurations that were grandfathered. The grandfathered config must:

use biosdisk as disk access module for /boot
not use any additional partition maps to access /boot
/boot must be on one of following filesystems: AFFS, AFS, BFS, cpio, newc, odc, ext2/3/4, FAT, exFAT, F2FS, HFS, uncompressed HFS+, ISO9660, JFS, Minix, Minix2, Minix3, NILFS2, NTFS, ReiserFS, ROMFS, SFS, tar, UDF, UFS1, UFS2, XFS

由于我的磁盘事先已经用 SPFDISK 分出了分配给各个操作系统的分区,所以 MBR 的 "embedding area" 只有 31K 的空间,但我又不想更改现有的分区规划,而 BIOS 中磁盘访问是 AHCI 协议的,所以根据上述 GRUB2 的说明,MBR "embedding area" 没有足够的空间容纳此配置下的 GRUB2 core.img 文件。所以在救援模式下用 grub2-install 安装 GRUB2 提示空间不够:
grub2-install: warning: ../grub-core/partmap/msdos.c:401:your core.omg is unusually large. It won't fit in the embedding area.
grub2-install: warning: Embeding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged..
grub2-install: error: will not proceed with blocklists.


所以,有个疑问,如何在没有 GRUB2 的情况下引导 Linux ?
或者,按照上述的提示,如何用 blocklists 安装 GRUB2 ?
即按照 GRUB2 的官方说明 https://www.gnu.org/software/grub/manua ... stallation
or the core image can be installed in a file system and a list of the blocks that make it up can be stored in the first sector of that partition.
onlylove
论坛版主
帖子: 5233
注册时间: 2007-01-14 16:23

Re: Linux 与 GRUB2 是深度绑定的吗?

#2

帖子 onlylove » 2024-03-15 19:02

不是,你安装系统的最后一部可以选择不安装grub2或者安装到指定位置(早期版本还有lilo

本来想说uefi来着,一看你用mbr分区……
头像
百草谷居士
帖子: 3922
注册时间: 2006-02-10 16:36
系统: Mint21.1/Deepin20.8

Re: Linux 与 GRUB2 是深度绑定的吗?

#3

帖子 百草谷居士 » 2024-03-15 20:09

如果你使用过 refind 多系统引导器,就会发现,refind 可以绕开 grub 直接启动 Linux 系统。因此,grub2 和 Linux 并非深度绑定。
debian 12 / 深度系统 20.9 / Mint 21.3

为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
DOSforever
帖子: 13
注册时间: 2012-10-06 12:24

Re: Linux 与 GRUB2 是深度绑定的吗?

#4

帖子 DOSforever » 2024-03-15 20:18

onlylove 写了: 2024-03-15 19:02 不是,你安装系统的最后一部可以选择不安装grub2或者安装到指定位置(早期版本还有lilo

本来想说uefi来着,一看你用mbr分区……
谢谢回复,我试试。
头像
qy117121
论坛版主
帖子: 50546
注册时间: 2007-12-14 13:40
系统: Winbuntu
来自: 志虚国乌由市
联系:

Re: Linux 与 GRUB2 是深度绑定的吗?

#5

帖子 qy117121 » 2024-03-15 20:28

你系统是安装好了但是GRUB2 没有安装上吗? 那你可以用grub4dos引导Ubuntu的
渠月 · QY   
本人只会灌水,不负责回答问题
无聊可以点一下→ http://u.nu/ubuntu

Ubuntu 20.04 快速设置指南,请配合浏浏览器自动翻译使用

邮箱 chuan@ubuntu.org.cn
onlylove
论坛版主
帖子: 5233
注册时间: 2007-01-14 16:23

Re: Linux 与 GRUB2 是深度绑定的吗?

#6

帖子 onlylove » 2024-03-15 21:57

qy117121 写了: 2024-03-15 20:28 你系统是安装好了但是GRUB2 没有安装上吗? 那你可以用grub4dos引导Ubuntu的
我在想,看他的描述,不知道他的mbr空间够不够,万一grub4dos也装不上就……总之,希望他有别的引导程序吧
头像
qy117121
论坛版主
帖子: 50546
注册时间: 2007-12-14 13:40
系统: Winbuntu
来自: 志虚国乌由市
联系:

Re: Linux 与 GRUB2 是深度绑定的吗?

#7

帖子 qy117121 » 2024-03-16 19:15

onlylove 写了: 2024-03-15 21:57
qy117121 写了: 2024-03-15 20:28 你系统是安装好了但是GRUB2 没有安装上吗? 那你可以用grub4dos引导Ubuntu的
我在想,看他的描述,不知道他的mbr空间够不够,万一grub4dos也装不上就……总之,希望他有别的引导程序吧
可以在windows的启动项中添加grub4dos的条目,以前不想让grub/grub2接管启动项就这么搞
图片
图片如果不能显示 点 https://ruyuan.io/2023/06/01/use-grub4dos-boot-linux/
渠月 · QY   
本人只会灌水,不负责回答问题
无聊可以点一下→ http://u.nu/ubuntu

Ubuntu 20.04 快速设置指南,请配合浏浏览器自动翻译使用

邮箱 chuan@ubuntu.org.cn
头像
百草谷居士
帖子: 3922
注册时间: 2006-02-10 16:36
系统: Mint21.1/Deepin20.8

Re: Linux 与 GRUB2 是深度绑定的吗?

#8

帖子 百草谷居士 » 2024-03-16 21:50

如果可以插优盘,在优盘上搞个efi分区,装个refind,然后启动时插个优盘就行了
debian 12 / 深度系统 20.9 / Mint 21.3

为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
回复