4

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

 2 years ago
source link: https://os.51cto.com/article/713435.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

了解不同类型的 Syslinux 引导加载程序-51CTO.COM

了解不同类型的 Syslinux 引导加载程序
作者:Linux迷 2022-07-07 09:27:26
Syslinux有几种类型,每一种都专用于特定的文件系统。这是您需要了解的有关 Syslinux 引导加载程序的所有信息,包括如何安装它们。

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

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

b45ed2632fb2f57162d59124209fd5d9cae62c.png

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 安装文件的位置:

f328dfe5347429fc7e9173f105656670acbcf7.png

可用于在磁盘上安装 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,您还可以使用其他引导加载程序作为替代。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK