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

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

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

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

1. SYSLINUX

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

(1) SYSLINUX的结构

如果您使用镜像链接下载 SYSLINUX ,您将获得一个压缩存档。当你打开这个文件夹时,你会看到里面的bios目录。在这个文件夹下,有mbr和core目录。

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

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

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

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

(2) 安装 SYSLINUX

您可以根据下表中的系统查看 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 版本中出现。

(1) EXTLINUX的结构

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

(2) 安装 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>

(3) EXTLINUX的一些特点

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

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

3. ISOLINUX

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

(1) 安装 ISOLINUX 需要什么

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

(2) ISOLINUX的结构

核心目录存储isolinux.bin文件。如果要创建映像,还需要boot.cat文件。

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

(3) 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>

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

(4) ISOLINUX 支持的文件命名

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

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

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

(5) 用于硬盘的 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 服务器以及一台可从其他网络或虚拟化软件启动的计算机。

(1) pxelinux的结构

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

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

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

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

责任编辑:赵宁宁 来源: Linux迷
相关推荐

2020-02-02 09:19:14

聊天机器人机器人智能

2009-12-28 16:50:28

ADO.NET应用程序

2011-03-30 08:27:48

C#

2010-12-16 10:54:07

SSL VPNVPN

2023-07-25 16:04:18

网络电缆光纤

2023-04-18 16:31:00

2023-03-24 16:21:08

2010-05-10 09:48:46

Oracle优化器

2022-09-21 09:03:46

机密计算数据安全

2011-04-12 11:46:26

Oracle优化器

2021-01-22 09:13:03

云计算边缘计算机计算机硬件

2023-03-06 09:17:37

数组类型jQuery

2023-04-14 14:54:29

2023-11-23 13:39:17

2020-08-27 07:00:00

游戏游戏测试测试技术

2022-05-09 14:28:31

NFT区块链代币

2010-03-01 17:35:29

WCF协定

2023-07-25 15:18:42

2010-07-01 16:12:10

UML组件图

2023-07-19 09:50:25

人工智能算法
点赞
收藏

51CTO技术栈公众号