小编mir*_*irh的帖子

在哪里可以了解有关如何使用 GRUB `ntldr` 命令(模块?)的更多信息

我最近偶然发现了 GRUBntldr模块。

显然,它可以用来替代chainloader引导 NT >= 6.0 版本的 Windows,如下例所示。(如果 Windows 分区的卷引导记录已损坏,则非常方便。)

menuentry "Windows 7 (bootmgr on /dev/sda1)" --class windows --class os {
    insmod part_msdos
    insmod ntfs
    insmod ntldr
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root 1EA0019AA0017A13
    ntldr ($root)/bootmgr
}
Run Code Online (Sandbox Code Playgroud)

我在哪里可以了解有关如何使用此引导指令的更多信息?我没有看到它上市的时候我在看HTML版本中的GNU GRUB手册。


回复 ckhan 的回答

非常感谢!我几乎决定我必须尝试挖掘源代码以了解有关 GRUBntldr命令/模块的更多信息。但是你做得比我做得好得多。

我从来没有想过查看电子邮件档案以了解编写代码的人可能进行了哪些设计讨论。这种方法听起来在未来可能会很有帮助。谢谢你提到它。

我对 GRUBntldr支持的看法

  1. 虽然我不确定这种区别有多大意义,但它ntldr是一个模块,而不是一个命令。或者,如果您愿意,也可以动态加载命令。

    按照您的源代码链接并查看第 152 ( GRUB_MOD_INIT) 和 159 ( GRUB_MOD_FINI) 行,您可以看到要加载的代码,并且……我猜……卸载模块。

    GRUB 显然实现了许多您可能认为是“命令”的功能模块。我所知道的唯一用法区别是,在使用模块之前,必须确保它已加载命令insmod …

windows grub2

17
推荐指数
1
解决办法
2万
查看次数

标签 统计

grub2 ×1

windows ×1