了解不同类型的 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目录。在这个文件夹下,有mbrcore目录。

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

ldlinux.sys需要ldlinux.c32文件才能工作。因此,ldlinux.c32ldlinux.sys必须在同一目录下。

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

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

安装 SYSLINUX

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

视窗 Linux DOS
  • win32目录下的syslinux.exe文件是针对32位Windows的
  • win64目录下的syslinux64.exe文件是针对64位Windows的
  • 位于linux目录下的 syslinux 文件
  • 位于dos目录下的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 中,您可以轻松地从命令行进行任何初始规范。该系统称为辅助数据向量(ADV)。您可以在以下示例中了解如何使用它:

# 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文件。如果要创建映像,还需要boot.cat文件。

当前目录必须包含 ISOLINUX 配置文件,即isolinux.cfgsyslinux.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参数的norocknojoliet属性
  • 如果计算机在打开 ISOLINUX 时出现问题,请在安装 ISOLINUX 时使用isolinux-debug.bin而不是isolinux.bin 。这样您就可以看到错误消息。

用于硬盘的 ISOLINUX

ISOLINUX 从 3.72 版开始支持多个 ISO 映像。您可以使用isohybrid工具从安装了 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/core中。此外,PXELINUX 的配置文件是pxelinux.cfg。您可以在当前目录下找到可选插件、帮助文件、图像和其他配置文件。

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

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

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

The post 了解不同类型的 Syslinux 引导加载程序 first appeared on Linux迷.

版权声明:
作者:congcong
链接:https://www.techfm.club/p/32925.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>