GRUB2和自定义文件系统



从头开始编写OS实验,对Grub2和我的FS

感到好奇

我还没有尝试过太多,至少在实践中还没有。我一直在阅读有关Grub2以及如何进行设置的信息,但遇到了一些损失。抱歉,目前我没有任何源代码可以为您提供。我只是想知道如何设置grub2来使用我自己写的文件系统。

为您的fs编写一个grub驱动程序模块,例如它如何具有XFS的模块,Ext2/3/4等。 https://wiki.osdev.org/writing_grub_modules


https://www.gnu.org/software/grub/manual/grub/grub.html#images解释了grub2的不同组件。文件系统驱动程序作为core.img的一部分加载,该驱动程序是由其他图像构建的。

请记住,许多新的文件系统不会立即获得grub支持,并且拥有一个单独的/boot分区,grub can can 读取并不罕见。例如在单个磁盘上而不是复杂的突袭(尽管GRUB确实具有一定的MD支持(,而没有加密,并且具有grub确实具有驱动程序的悠久文件系统。这甚至不需要复杂的日志重播,甚至在阅读之前都需要肮脏的关闭。

此外,最早的grub启动阶段需要从块列表中加载 core.img,该块列表将其硬编码为固件加载的小第一件事,因此,在文件不在文件的情况下,文件系统可以在文件的块中移动修改通常完全不适合/boot。您永远不会知道何时在/boot上进行任何更改后必须重新安装grub。


但是,如果您仍然想在grub中启动FS,请检查grub源代码,可能会有一些文档。

https://www.gnu.org/software/grub/grub-documentation.html

https://www.gnu.org/software/grub/grub-development.html

最新更新