了解不同类型的 Syslinux 引导加载程序

GNU/Linux 发行版在安装期间需要引导加载程序。 这些引导加载程序负责加载在您安装任何 GNU/Linux 发行版时运行的系统文件。 如果您正在开发任何 GNU/Linux 发行版,您可能需要使用引导加载程序,以便用户可以将其安装在他们的系统上。

Syslinux 就是这样一种引导加载程序。 有几种类型的 Syslinux,每一种都专用于特定的文件系统。 这是您需要了解的有关 Syslinux 引导加载程序的所有信息,包括如何安装它们。

1.SYSLINUX

SYSLINUX 是 Syslinux 的 FAT 文件系统变体。 此外,这是最古老的 Syslinux 引导加载程序类型。 它支持 FAT12、FAT16 和 FAT32 文件系统。 如果您使用的是 Windows 或 DOS,则 SYSLINUX 是您应该选择的。

SYSLINUX的结构

如果您使用以下方式下载 SYSLINUX 镜像链接,您将获得一个压缩存档。 打开此文件夹后,您将看到 BIOS 里面的目录。 在这个文件夹下,有 mbr 目录。

在磁盘的引导扇区阶段,您需要 mbr.bin 文件位于 /bios/mbr 目录。 在 – 的里面 /bios/核心 目录,你可以看到 ldlinux.sys 文件,它是SYSLINUX的核心文件。

ldlinux.sys 需要 ldlinux.c32 文件工作。 所以, ldlinux.c32ldlinux.sys 必须在同一目录中。

其他文件也必须在当前目录路径或当前目录路径的子目录中。 你可以看看 系统Linux.cfg 为此的配置文件。 它必须在当前目录路径中,您必须自己创建此文件。

或者,您可以在父目录下找到插件、帮助文件和其他配置文件。

安装 SYSLINUX

您可以根据下表中的系统查看 SYSLINUX 安装文件的位置:

视窗 Linux
  • 下的 syslinux.exe 文件 win32 目录适用于 32 位 Windows
  • syslinux64.exe 文件下 win64 目录适用于 64 位 Windows
  • syslinux 文件位于 linux 目录
  • syslinux 文件位于 目录

可用于在磁盘上安装 SYSLINUX 的默认命令如下:

# For 32-bit Windows with DOS
syslinux -m -a -d <directory> <partition>

# For 64-bit Windows
syslinux64 -m -a -d <directory> <partition>

# For Linux
syslinux -i <partition>

2. EXTLINUX

EXTLINUX 引导加载程序支持 ext2、ext3、ext4、btrfs、FAT12、FAT16、FAT32、NTFS、XFS、HFS 和 UFS 文件系统。 EXTLINUX 的工作逻辑和文件结构与 SYSLINUX 完全相同。 它在文件系统支持方面更先进,并具有一些附加功能。

如果您想在计算机上安装 GNU/Linux 内核,EXTLINUX 是一个不错的选择。 您可以先安装 EXTLINUX,然后立即将 GNU/Linux 内核放在该分区的顶部。

其他你应该知道的细节,EXTLINUX 从 Syslinux 3.00 版开始就可以使用了。 另外,使用不同版本的人应该知道,ext4、btrfs、FAT12、FAT16 和 FAT32 支持在 EXTLINUX 4.00 版本中出现,NTFS 支持在 4.05 版本中出现,XFS 支持在 5.00 版本中出现,UFS 对 HFS 的支持在 5.00 版本中出现。

EXTLINUX的结构

和 SYSLINUX 一样,EXTLINUX 的核心文件是 ldlinux.sys. SYSLINUX 中指定的关于核心文件目录的规则也适用于此。 与 SYSLINUX 不同,EXTLINUX 的配置文件是 extlinux.conf.

安装 EXTLINUX

如果您下载了最新版本的 Syslinux,您可以在 /bios/extlinux 文件夹。 您可以将此文件与某些命令行选项一起使用。

您可以使用以下命令安装引导加载程序:

extlinux --install <current-directory-path>

此外,您可以使用的其他参数是:

# To update an installed volume
extlinux --update <current-directory-path>

# To install on the RAID partition
extlinux --raid --install <current-directory-path>

# To update an installed RAID partition
extlinux --once /initrd.img root=/dev/sda0 initrd=initrd.img vga=794 /boot/extlinux

在 EXTLINUX 中,您可以轻松地从命令行进行任何初始规范。 这个系统被称为 辅助数据向量 (高级)。 您可以在以下示例中了解如何使用它:

# Example --once usage
extlinux --once /initrd.img root=/dev/sda0 initrd=initrd.img vga=794 /boot/extlinux

# Single initial specification is made and you want to remove this status
extlinux --clear-once <current-directory-path>

# If EXTLINUX is installed on a RAID-1 (recommended) partition, you must reset the ADV to clear the initial specification
extlinux --reset-adv <current-directory-path>

EXTLINUX的一些特点

与 SYSLINUX 不同,EXTLINUX 可以访问存储单元上的任何目录。 目录路径的命名与 GNU/Linux 中的相同。 如果没有“/” 符号,EXTLINUX 使用当前目录。您可以使用最长 511 个字符的目录路径。

此外,EXTLINUX 支持别名。 但是,您不应该将这些别名保留太久,因为您可能会卡在路径块中。 使用别名时,只需要进行 Linux 类型的目录命名即可。

3.ISOLINUX

如果您打算将 Syslinux 用于 CD 和 DVD,您应该熟悉 ISOLINUX。 但如今,USB 比 CD 和 DVD 更普遍。 因此,ISOLINUX 的使用率低于其他 Syslinux 类型。

安装 ISOLINUX 需要什么

要安装 ISOLINUX,您需要先下载 Syslinux。 您需要 CD 或 DVD 刻录机之类的软件来安装 ISOLINUX。 此外,如果您要使用 DVD,DVD 刻录机必须支持创建启动盘。 请注意,如果您将 ISOLINUX 刻录到不可重写的 CD 或 DVD,您可能无法再次使用您的 CD。 因此,为此使用可重写 CD 是有意义的。

ISOLINUX的结构

目录存储 isolinux.bin 文件。 如果要创建图像,还需要 引导猫 文件。

当前目录必须包含 ISOLINUX 配置文件,即 isolinux.cfg 或者 系统Linux.cfg. 在安装过程中不会创建或复制此文件,因此您必须手动进行必要的调整。 如果找不到此文件,ISOLINUX 会尝试打开一个名为 Linux 的不带参数的映像,并抛出一个错误,指出无法找到该映像。

ISOLINUX 与 mkisofs

要创建 ISOLINUX CD 映像,您可以使用 mkisofs 程序。 请务必使用该实用程序的最新稳定版本。

mkisofs 的示例用法如下:

mkisofs -o <iso-image-to-create> -b <current-directory>/isolinux.bin -c <current-directory>/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table <directory-of-files-and-directory-to-be-put-in-the-image> 

很明显,您不必按原样使用上述命令。 您也可以单独使用这些参数。

ISOLINUX 支持的文件命名

在 ISOLINUX 中,目录路径中的分隔符是 UNIX 格式,并使用 削减 (/) 特点。 一个 / 表示 ISOLINUX 的当前目录。 在 ISOLINUX 中,目录路径最多必须为 255 个字符。 它仅使用 ISO 9660 文件命名,必须使用 ISO 9660 的一级(8.3 个字符)或二级(31 个字符)。

此外,还有一些事情你应该记住:

  • ISOLINUX 离散文件、间隔类型、逻辑块和扇区支持的大小仅为 2048 字节
  • 在 GNU/Linux 中安装 ISOLINUX 安装映像时,必须添加 诺洛克, 诺若利埃 的属性 -o mount 命令的参数
  • 如果计算机在打开 ISOLINUX 时出现问题,请使用 isolinux-debug.bin 代替 isolinux.bin 安装 ISOLINUX 时。 这样您就可以看到错误消息。

用于硬盘的 ISOLINUX

ISOLINUX 从 3.72 版开始支持多个 ISO 映像。 您可以使用 异杂种 用于从安装了 ISOLINUX 的 CD 或 DVD 映像创建多个 ISO 映像的工具。

其用法如下:

isohybrid <name-of-image-file>

但是,通过这个过程,图像文件的大小平均增加了 1MB。

4. PXELINUX

PXELINUX 是一种用于从 TFTP 服务器加载操作系统的 Syslinux。 它适用于在没有磁盘卷的情况下运行的工作站。 在使用带有 DHCP 的 BOOTP 或 TFTP 协议从服务器安装网络适配器 PXE(预执行环境)时,它会有所帮助。

要使用 PXELINUX,您需要 BOOTP 或 TFTP 服务器以及来自其他网络或虚拟化软件的可引导计算机。

pxelinux的结构

在 BOOTP 或 TFTP 服务器目录中,核心文件 pxelinux.0 必须位于根目录中。 如果您下载的是最新版本,此文件位于 /bios/核心. 另外,PXELINUX 的配置文件是 pxelinux.cfg. 您可以在当前目录下找到可选插件、帮助文件、图像和其他配置文件。

Syslinux 引导加载程序类型取决于您的目标

为了能够在其他设备上使用您的 GNU/Linux 发行版并舒适地随身携带,您需要一个引导加载程序。 Syslinux 只是这些引导加载程序之一。 您可以根据您的预期用例和目标环境选择 Syslinux 品种之一。

此外,这些 Syslinux 类型将根据您移动 GNU/Linux 发行版或内核的位置和方式而有所不同。 除了 Syslinux,您还可以使用其他引导加载程序作为替代。