假设没有将SYSLINUX或EXTLINUX的任何部分写入未用文件系统格式化的磁盘区域(例如,引导扇区、BIOS引导分区),那么如何从GRUB2链接SYSLINUX/EXTLINUX?
发布于 2020-10-21 23:01:59
您的问题实际上是“如何引导尚未完全安装的SYSLINUX或EXTLINUX?”
我建议(不客气地)引导FreeDOS,使用它来完成SYSLINUX/EXTLINUX的安装,然后重新启动到SYSLINUX/EXTLINUX (通过链接从GRUB加载其分区引导记录(PBR)代码,如果此时还必须涉及GRUB ) :-)
如果没有PBR代码,SYSLINUX/EXTLINUX安装是不完整的。安装程序不仅编写PBR代码,还将一些磁盘块号信息直接修补到ldlinux.sys文件中,因此,如果您只是将该文件从一个磁盘复制到另一个磁盘,则此信息很可能是错误的。如果您尝试并链接加载这样一个复制的ldlinux.sys,它很可能会崩溃,原因有两个:
您可以在SYSLINUX源代码包的diskboot.inc汇编程序文件中找到PBR代码,并且ldlinux.sys文件的开头是从diskstart.inc汇编程序文件构建的。即使您不知道如何读取汇编程序代码,这些注释也是信息丰富的。
如果您试图将SYSLINUX /EXTLINUX可引导的实时Linux发行版或实用工具组合到使用GRUB的多引导系统中,则更容易的方法是读取SYSLINUX的配置文件,并将GRUB配置为使用与SYSLINUX相同的内核文件、initrd/initramfs文件(如果适用)和内核引导选项。
这些是引导Linux内核的基本元素,所以除非引导的OS/实用程序会显式地检查使用了哪个引导加载程序,结果应该是完全相同的,不管是否使用GRUB或SYSLINUX/EXTLINUX来引导它。(如果有不同之处,那可能是个bug。)
https://unix.stackexchange.com/questions/615750
复制相似问题