我最近偶然发现了 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手册。
非常感谢!我几乎决定我必须尝试挖掘源代码以了解有关 GRUBntldr
命令/模块的更多信息。但是你做得比我做得好得多。
我从来没有想过查看电子邮件档案以了解编写代码的人可能进行了哪些设计讨论。这种方法听起来在未来可能会很有帮助。谢谢你提到它。
我对 GRUBntldr
支持的看法
ntldr
是一个模块,而不是一个命令。或者,如果您愿意,也可以动态加载命令。GRUB_MOD_INIT
) 和 159 ( GRUB_MOD_FINI
) 行,您可以看到要加载的代码,并且……我猜……卸载模块。insmod …
我提出这个问题的灵感是关于Ask Ubuntu 的另一个问题。
我问的原因之一是我只是好奇。我想了解更多关于它在未来可能具有的价值。
但我也想知道,这样我就有了一个程序,当我想知道WTF
他们和他们的系统可能会满意时,我可以要求用户执行。;-)
最初,我想知道是否可以通过诸如(或类似)之类的工具检测和报告此信息dmidecode
。但是当 aUEFI BIOS
模拟 a时会发生什么pre-UEFI BIOS
?
我预计这个问题只会随着时间的推移变得更加有趣。似乎每个主要操作系统背后的公司都将坚持EFI
通过做“相同的事情只是不同的”来实现支持。<sigh/>