深入解析Syslinux:灵活引导工具的全面指南 (syslinux详解)

Syslinux是一个强大的引导加载程序(PXE/bootloader),广泛用于网络安装、预启动环境和LiveCD/DVD。它是一种功能强大而简单易用的工具,可适用于各种作业系统、文件系统和硬件平台。本篇文章将为您提供关于Syslinux的全面指南,使您能够深入了解Syslinux,从而更好地利用它来实现各种引导需求。

Syslinux基础概述

Syslinux是一种用于x86, x86-64, IA-64和ARM架构的开源软件。它的主要目的是让计算机从存储设备(如硬盘、CD-ROM或USB闪存驱动器)启动。Syslinux不只是一个引导加载器,它可以用于许多网络应用程序和硬件上的预启动任务,如网络安装、Quake和其他网络游戏服务器,以及普通引导程序等。

Syslinux的起源

Syslinux的起源可以追溯到90年代初,最初作为LILO(LInuxLOader)的替代方案而开发出来。LILO是一个基于硬盘的引导加载器,随着计算机构架和处理器的不断变化,出现了不少问题。

因此,开发人员希望将其改进并开发出一个新的更灵活的引导加载程序。最终,Syslinux成为一种工具,用于引导操作系统,预装软件和提供许多其他功能。

Syslinux的特性

Syslinux有很多功能和特性,下面是其中一些:

可在许多平台上运行

Syslinux可以在x86, x86-64, IA-64和ARM(32/64位架构)上运行,这使得它非常灵活。

自定义字体和背景

可以使用自定义字体、背景图像和菜单颜色来定制引导菜单,使Syslinux在其他引导程序中突出。

支持多个操作系统和文件系统

Syslinux可以引导多个操作系统,并支持多个文件系统,例如FAT、NTFS、EXT3等。

支持网络引导

Syslinux支持从网络中引导。这使得它特别适用于网络管理员,他们需要在许多计算机上自动安装或应用预设的Linux系统。

使用新的Comboot

Syslinux可以使用新的Comboot,这是一种用于制作基于DOS的Live CD的特殊工具。

Syslinux的应用场景

Syslinux 的应用场景很广泛,这里列出了一些:

网络安装

Syslinux经常被用来引导M$ Windows、Linux或其他操作系统的安装程序。系统管理员可以将安装介质制作成ISO镜像,并使用Syslinux将其启动后进行自动化安装。

Live CD 定制

Syslinux可以用于制作Live CD/DVD,它们中的UMS(USB Mass Storage gear)就是基于Syslinux的。LiveCD/DVD通常被用来测试操作系统或硬件,或者将操作系统推广给新用户。

网络引导

Syslinux可以被用来从网络中引导。这个功能使Syslinux成为了一个非常强大的服务器预启动环境。

引导表头的修改

Syslinux可以用来为引导表头添加其他的信息,例如引导菜单项的修改等。

Syslinux的使用习惯

下面让我们来看看Syslinux应用的一些规范。

Syslinux配置文件

Syslinux使用 配置文件(syslinux.cfg)来指定菜单项、可引导映像的位置及其他选项。一个基本的syslinux.cfg文件如下:

default kernel.c32 append append initrd=initramfs.lz

这将以kernel.c32作为默认内核来引导,它将使用内核和ramdisk(initramfs.lz),然后引导到内核中。实际上,syslinux.cfg是普通的文本文件,你可以很容易地修改它来适应你的需要。

ISO镜像

在Syslinux中使用ISO镜像非常常见。为了使ISO镜像能够引导,syslinux.cfg文件应位于ISO文件系统的根目录中,并在syslinux.cfg文件中包含ISO镜像的位置。

扩展配置选项

通过使用选项的命令行,在syslinux菜单中增加扩展功能是很容易的。

例如,我们可以使用Comboot从网络中引导。

LABEL netload

MENU LABEL Remote Boot (gPXE)

KERNEL memdisk

APPEND iso initrd=gpxe.iso

结论

Syslinux是一个非常强大的引导程序。它有广泛的应用场景,可以用于预安装、网络服务、LiveCD等等。使用Syslinux的基本要求就是熟悉文本编辑器和Linux和Unix环境。如果您打算使用Syslinux去实现您的网络安装环境、LiveCD的定制等等,希望这篇文章能够为您提供一些指导和动力。

相关问题拓展阅读:

如何制作SYSLINUX引导方式的U盘启动盘

可以安装在U盘上,U盘容量大于2G!安装好后可以通过U盘引导系统。

安装过程较复杂!如下:

首先,将u盘插上,检查设备是否被认出。为了找到设备,请运行以下命令:

$ sudo fdisk -l

在我的系统中,此设备的盘符为 /dev/sdb ,本文以 /dev/sdb 为例讲解,读者请根据自己系统的实际情况更改(可能是sda,sdc…)。

系统发现 U 盘后,将要创建分区。

注意:使用错误的盘符可能破坏你的硬盘分区,所以请谨慎输入。

创建分区

将已经挂载的 U 盘卸载:

$sudo umount /dev/sdb1

然后使用fdisk,一个念桐编辑分区的工具:

sudo fdisk /dev/sdb

我们删除 U 盘的分区后,在上面创建两个新分区:一个容量为750MB的fat文件系统分区,用来保存 live CD 镜像中的文件,其余的另一个分区。

然后输入的格式为“d x”,x为分区的盘符,以下依次输入:

*n 创建新的分区

*p 设为主分区

*1 设为之一主分区

*接受默认选项或输入“1”从之一柱面启动

*+750M 将空间设置为750MB

*a 将分区设为可以启动的活动分区

*1 选择这个分区

*t 改变分区格式

*6 设置为FAT16分区

之一个分区设置完成了,进行第二个:

*n to create yet again a new partition

*n 再次创建一个分区

*p 设为主分区

*2 设为第二分区

*回车接受默认选择

*接受默认选择,用尽所有容量

*最后,输入 w 使U盘完成上述更改

分区完成后,进行格式化。

格式化分区

之一个分区将要被格式为FAT16文件系统,并将 U 盘设定为自启动。

$ sudo mkfs.vfat -F 16 -n liveu /dev/sdb1

第二个分区将要被格式化为 ext2 文件系统,块长(blocksize)为4096字节,并且将该卷进行casper-rw(否则将不能成功完成目标!)

$ sudo mkfs.ext2 -bL casper-rw /dev/sdb2

现在,需要将 live CD 镜像复制到 U 盘中。

3. 从u盘中安装Ubuntu

挂载Ubuntu live CD 镜像

首先需要挂载ubuntu的镜像。有两种方法,通过“.iso”文件或者是光盘。

从 CD 挂载

将Ubuntu或其他发行版光盘插入电脑,将会被自动挂载。否则,按如下操作便能成功挂载。

$ sudo mount /media/cdrom

从 .iso 镜像文件挂载

需要创建一个临时的文件夹,以 /tmp/ubuntu-livecd 为例,然后将其挂载:

$ mkdir /tmp/ubuntu-livecd

$ sudo mount -o loop /path/to/feisty-desktop-i386.iso /tmp/ubuntu-livecd

挂载 U 盘的分区

将u盘再次插入,两个分区将显示氏高明为/media/liveu和/media/casper-rw。如果该情况未能出现,你需要手动挂载:

$ mkdir /tmp/liveu

$ sudo mount /dev/sdb1 /tmp/liveu

所有需要的分区都已经被挂载,该复制文件了。

将文件复制到 U 盘中

找到CD镜像的路径(笔者的情况是/tmp/ubuntu-livecd,当然也可能是/media/cdrom),然后复制到作为根分区的u盘之一分区:

包括casper,disctree,dists,install,pics,歼告pool,preseed,.disk这些目录,isolinux目录下的所有文件,还有md5sum.txt,README.diskdefines,ubuntu.ico,casper/vmlinuz, casper/initrd.gz和install/mt86plus。

$ cd /tmp/ubutu-livecd

$ sudo cp -rf casper disctree dists install pics pool preseed .disk isolinux/* md5sum.txt README.diskdefines ubuntu.ico casper/vmlinuz casper/initrd.gz install/mt86plus /media/liveu/

可能出现符号链接不能被创建,你可以忽略过去。

下面我们将 U 盘之一分区中的isolinux.cfg更名为syslinux.cfg:

$ cd /tmp/liveu

$ sudo mv isolinux.cfg syslinux.cfg

根据你的设置改变/tmp/liveu

按照下面编辑syslinux.cfg文件:

DEFAULT persistent

GFXBOOT bootlogo

GFXBOOT-BACKGROUND 0xB6875A

APPEND file=preseed/ubuntu.seed boot=casper initrd=initrd.gz ramdisk_size=root=/dev/ram rw quiet splash —

LABEL persistent

menu label ^Start Ubuntu in persistent mode

kernel vmlinuz

append file=preseed/ubuntu.seed boot=casper persistent initrd=initrd.gz ramdisk_size=root=/dev/ram rw quiet splash —

LABEL live

menu label ^Start or install Ubuntu

kernel vmlinuz

append file=preseed/ubuntu.seed boot=casper initrd=initrd.gz ramdisk_size=root=/dev/ram rw quiet splash —

LABEL xforcevesa

menu label Start Ubuntu in safe ^graphics mode

kernel vmlinuz

append file=preseed/ubuntu.seed boot=casper xforcevesa initrd=initrd.gz ramdisk_size=root=/dev/ram rw quiet splash —

LABEL check

menu label ^Check CD for defects

kernel vmlinuz

append boot=casper integrity-check initrd=initrd.gz ramdisk_size=root=/dev/ram rw quiet splash —

LABEL memtest

menu label ^Memory test

kernel mt86plus

append –

LABEL hd

menu label ^Boot from first hard disk

localboot 0x80

append –

DISPLAY isolinux.txt

TIMEOUT 300

PROMPT 1

F1 f1.txt

F2 f2.txt

F3 f3.txt

F4 f4.txt

F5 f5.txt

F6 f6.txt

F7 f7.txt

F8 f8.txt

F9 f9.txt

F0 f10.txt

将 U 盘设置为可引导的

为完成此步骤,需要安装syslinux:

$ sudo apt-get install syslinux

最后卸载/dev/sdb1,并使其可引导:

$ cd

$ sudo umount /tmp/liveu

$ sudo syslinux -f /dev/sdb1

重启,将BIOS设为可以从 U 盘引导,就可以享受 U 盘中的Ubuntu了!

无光驱如何装系统:Ubuntu系统优盘安装法

本文将向读者介绍如何从优盘来安装Ubuntu系统。这种安装方法特别适合于哪些没有光驱的机器,尤其是超便携笔记本电脑,因为几乎所有的机器都支持优盘,这时,可以将优盘制作成一个可引导盘,然后将安装CD的内容复制到优盘,从而完成Ubuntu系统的安装。

  主要步骤是:先制作可引导优盘,然后从优盘引导计算机,并从优盘安装Ubuntu系统,建议使用最新版本的Ubuntu制作可引导优盘。下面分步进行介绍。

  一、可引导优盘制作概述

  毫无疑问,从优盘引导是非常方便的,但前提是其容量必须足够大,至少要能够容纳安装CD内容(约700MB左右),所以建议更低容量为1GB。此外,我们还要用到一款软件,即SYSLINUX。该软件3.00之前版本只支持FAT16文件系统;从3.00版本开始,SYSLINUX也支持FAT32,但是建议使用FAT16文件系统,因为它的兼容性更好一些。

  插好优盘,便可以运行dmesg命令或sudofdisk一l命令来查看系统为其分配的设备名。读者请注意,今后凡是遇到/dev/sdX1,请将其中的X替换为您具体的设备地址。

  制作可引导优盘有两种方式,一种是自动方法,另一种是手动方式。对于自动方式,我们用两种软件自动完成启动优盘的创建,即Unetbootin和LiveUSBcreator,或者利用一个命令行脚本isotostick.sh来自动创建启动优盘。

  二、自动方式制作启动优盘

  Unetbootin是一款具有图像用户界面的程序,它可以在Windows或Linux系统下使用。该软件实现了从ISO文件自动制作可引导优盘制作的自动化,该软件具有两个优点,一是具有友好的图形用户界面,我们可以方便地用它来创建Ubuntu的启动优盘;二是它既能运行在Windows系统下,也能运行在Linux系统下,甚至可以直接从liveCD(即可以直接引导为可用Linux系统的CD。)下运行,其下载地址为

  如果您需要激活原始的Ubuntulivecd启动菜单,例如如果你想禁用framebuffer或您想阅读Ubuntulivecd的帮助屏幕和cheatcodes的话,那么可以在UNetbootin安装完成后对您的优盘做如下修改:首先,删除SYSLINUX.CFG文件,或将其重新命名为SYSLINUX.OLD;然后,切换至ISOLINUX文件夹,将ISOLINUX.CFG文件重命名为SYSLINUX.CFG,最后将文件夹ISOLINUX移动最外层,并且将其重命名为SYSLINUX

  LiveUSBcreator也具有图形用户界面,但是只能从LiveCD下运行。该软件可以从UbuntuLiveCD自动创建Ubuntu的启动优盘。方法很简单,首先运行LiveCD,安装LiveUSBcreator软件,接下来就可以通过系统管理菜单从启动优盘来安装Ubuntu系统了。

  isotostick.sh是一个命令行shell脚本,它运行在Linux系统中。我们可以从

下段春载该脚本,并通过下列命令制作启动优盘:

  sudoapt-getinstallsyslinuxmtools

  wget

isotostick.sh

  chmod+xisotostick.sh

  sudo./isotostick.shubuntu-7.10-desktop-i386.iso/dev/sdX1

  一定注意不要忘记用优盘实际分区名代替上面伏空的/dev/sdX1。考试,大提示当该脚本试图复制符号连接/dists/stable和/dists/unstable时,会收到类似于“operationnotpermitted”的错误消息,这是由于FAT16文件系统无法处理符号链接所致,不过别担心,因为这对我们的工作没有任何影响。

  好了,现在我们已经制作好了启动优盘,那么就可以从该盘引导并安装Ubuntu系统了,实际上接下来的安装跟从光盘安装没什缺燃瞎么区别。

  三、手动方法制作启动优盘

  利用手工方式安装的过程为,使用SYSLINUX制作启动优盘;然后将Ubuntu光盘的内容复制到该启动盘,切记包括所有隐藏文件/目录;将isolinux目录重新命名为syslinux,并将文件isolinux.cfg更名为syslinux.cfg;将计算机设置为从优盘引导,重启后就可以从优盘安装操作系统了。

  我们首先介绍如何利用SYSLINUX制作启动优盘。实际上,SYSLINUX是一个引导加载程序,它运行在MS-DOS/WindowsFAT文件系统上。大多数优盘都使用FAT文件系统,所以我们直接介绍如何给您的优盘添加SYSLINUX引导块:

  1.安装syslinux。SYSLINUX同时支持Linux和微软视窗系统(该软件的可执行文件位于\win32\syslinux.exe)。欲了解更多信息可访问SYSLINUX主页:

。在UbuntuLinux操作系统下的安装如下所示:

  sudoapt-getinstallsyslinuxmtools

  2.将优盘插入机器,并挂载。一般挂载过程是自动进行的,如果您使用的Linux操作系统自动挂载优盘,可以使用命令-tvfat/dev/sda1/mnt进行挂载。注意,这里的/mnt是挂载点。如果你使用的是Windows,系统会自动为其分配盘符,例如F:。

  3.制作启动优盘。如果您正在使用Linux并且按照上面的方法挂载了优盘,使用命令syslinux-s/dev/sda1来制作启动优盘。如果您使用的是Windows系统,并且优盘的盘符为F:,那么使用syslinux-s-mF:命令来制作启动优盘。

  4.这时,优盘的根目录中会生成一个新的文件,名为ldlinux.sys。需要注意的是,这是一个隐藏文件,在Windows资源管理器中可能无法看到它,不过可以通过命令提示符下输入相应命令来查看,如dir/aF:。好了,现在我们已经可以从我们的启动优盘来引导计算机了,如果看到SYSLINUX的消息文字和提示符”boot:”,则说明引导成功了。

  需要注意的是,对于IDE磁盘,当我们从启动优盘引导系统后,硬盘显示为sda。

  当使用Windows版本syslinux时,请务必使用-m选项以确保复制上ISOLINUX的主启动记录(MBR);否则,还会继续沿用原来的MBR,这样就不会指向您的syslinux.cfg文件了。

  上面介绍了如何制作可引导优盘,下面我们开始介绍如何将Ubuntu安装光盘内容复制到刚刚做好的启动优盘。

  当我们把Ubuntu的安装光盘的内容复制到我们的启动优盘的时候,要确保复制光盘上所有的文件和目录。同时还要注意,这里复制的是光盘内容,而不是安装CD的ISO映像,这一点请不要混淆。此外,要想复制光盘内容的话,我们不必将下载的ISO映像烧录到光盘上,在Linux下,您可以像下面这样挂载该映像:

  mount-oloop/path/to/ubuntu.iso/path/to/mount/point

  注意,一定要确保复制上所有隐藏的文件和目录。在Gnome中,按下组合键Ctrl-H便能查看隐藏文件。在MSWindows系统中,您可以使用下列命令(假设D:是CD-ROM驱动器盘符而F:是优盘的盘符):

  xcopy/e/h/kd:\*.*f:

  当我们把安装光盘上的内容复制到启动优盘后,考试,大提示我们接下来就要把将各文件移动到根目录。对于使用syslinux3.35或更新版本制作的启动盘来说,这一步是不需要的。对于使用3.35版本之前制作的启动优盘,我们需要将下列目录中的文件复制到优盘的根目录中:

  isolinux(所有文件)

  casper(vmlinuz和initrd.gz)

  install(所有文件)

  好了,作为以上工作后,我们接下来要做的是调整SYSLINUX.CFG。

  对于最新版本的syslinux,你只需要isolinux目录重新命名为syslinux,然后将此目录内的文件isolinux.cfg重命名为syslinux.cfg就行了。对于旧版本的syslinux,需要将文件isolinux.cfg更名为syslinux.cfg。然后我该文件,将所有路径中的/casper/和/install/全部删除,例如原来文件内一行内容如下:

  DEFAULT/casper/vmlinuz

  现在应改为:

  DEFAULTvmlinuz

  保存文件,并确保它被命名为syslinux.cfg。

  调整SYSLINUX.CFG文件后,我们就可以从启动优盘引导系统了。设置BIOS,让机器从优盘引导,插入我们做好的优盘,就可以像从安装光盘一样来安装Ubuntu系统了。

  安装结束后,我/etc/fstab,使得/media/cdrom0指向CD驱动器而不是优盘。如果您没有这样做的话,当您挂载优盘时会收到一条错误消息”Cannotmountvolume.Invalidmountoptionwhenattemptingtomountthevolume”。这是因为安装程序认为它正在从CD驱动器安装。

  为了我/etc/fstab,需要首先打开它,命令如下所示:

  sudogedit/etc/fstab

  找到如下内容(通常是在文件底部):

  /dev/sdb1/media/cdrom0udf,iso9660user,noauto,exec,utf800

  我们在这一行开头处加上一个#将其注释掉,如下所示:

  #/dev/sdb1/media/cdrom0udf,iso9660user,noauto,exec,utf800

  当然,如果你喜欢您也可以把实际的cdrom挂载点重新命名为/media/cdrom0。

  保存该文件,即可大功告成。

  四、小结

  本文详解了通过优盘安装Ubuntu系统的两种方法,一种是自动方式,一种是手动方式。其过程是,制作可引导优盘,然后从优盘引导计算机,并从优盘安装Ubuntu系统,由于具体安装过程跟从安装光盘一致,所以在此略过。

关于syslinux详解的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » 深入解析Syslinux:灵活引导工具的全面指南 (syslinux详解)