我想将 GRUB 2 安装到其自己的相对较小 (500 MB) 的分区。
对文件系统类型有什么要求吗?是否存在虽然可能但不推荐的做法,原因是什么?
答案1
如今,现代 Linux 发行版 ext2、ext3 和 ext4 均受到同等支持,因此这意味着您可以使用其中之一。
资料来源:
答案2
在我自己花了一些时间之后,我可以确认以下内容:
- 正如普苏西提到的,它是一般来说不再需要有单独的启动分区。引用:
psusi:/boot 分区在过去是不合时宜的,BIOS 无法访问整个磁盘是很常见的,或者在 grub2 获得识别几乎任何文件系统的能力之前
然而,一个大问题是 GRUB 实际上是不是能够识别几乎任何文件系统。 GRUB 的最后一个稳定版本 (2.0.2beta) 是 2 年前发布的,这是大多数发行版发布的版本。因此,例如,虽然 XFS 在发布时就得到了支持,但该文件系统在此期间已经发展*,但 GRUB 并未随之发布新版本。这意味着 GRUB 无法从 XFS 格式的引导分区引导。据我所知,BTRFS 也是如此。
有时确实存在针对上述更改或新文件系统的 GRUB 补丁,但这通常意味着如果您的发行版提供构建包,您必须完全自己编译 GRUB。对于 Arch Linux,我必须从 Arch 用户存储库构建 Grub-Git 才能使 XFS 启动工作。
经过这次经历后,我将使用一个单独的启动分区(300MB 就足够了),格式化为 ext3 甚至 fat32,只是为了安全起见,而不必求助于不稳定的存储库。
* 我发现不可能弄清楚这些改进或更改是什么,我只是转述我从其他人那里读到的内容,可能是错误的。但事实上,截至撰写本文时,GRUB 版本无法从 XFS 引导。
答案3
标准做法是将 GRUB 放在自己的分区上 - 这就是为什么大多数系统都有一个单独的 /boot 分区,大约 200M 或 300M。
关于要使用的文件系统,您可以使用常规的 ext4/3 文件系统
- 您应该使用什么文件系统类型不是使用:
你不应该使用XFSGRUB2 的文件系统。
下面给出的是我尝试在 XFS 分区中安装 grub2 时收到的消息。
grub2-install: error: hostdisk//dev/loop7 appears to contain a xfs filesystem which isn't known to reserve space for DOS-style boot. Installing GRUB there could result in FILESYSTEM DESTRUCTION if valuable data is overwritten by grub-setup (--skip-fs-probe disables this check, use at your own risk).
我用有限的时间和知识从 google 收集到的唯一信息是,XFS 文件系统的超级块保存在第一个扇区(引导加载程序必须位于该扇区)中,这使得 XFS 不适合 grub2 或 grub。我希望(并期待)这里知识渊博的成员中的任何人都可以从这里开始,并用更好的解释来解释到底是什么让 XFS 和 GRUB2 不匹配。