1. 介绍

Syslinux是一个功能强大的引导加载程序, 可以装在U盘上来引导系统

在5.00版本以前,几乎所有c32模块是独立的,即没有其他模块依赖;但在5.00以后,很多c32模块则是依赖于其他模块

这里同时介绍4.05和6.03版本

2. 使用

Windows下使用方式如下
1. 将U盘格式成FAT32
2. 在U盘根目录里建立boot/syslinux文件夹
3. 打开命令行,找到U盘目录,进入syslinux目录里执行如下命令,假设U盘盘符为H

V4.: ~\win32>syslinux.exe -ma -d \boot\syslinux H:
V6.: ~\bios\win32>syslinux.exe --mbr --active --directory /boot/syslinux/ --install H:

执行成功后将在/boot/syslinux目录下生成启动系统文件ldlinux.sys
4. 在syslinux-*\bios文件夹里搜索如何文件(对于6.03需要找到对应的依赖库)

memdisk             引导IMG镜像文件
menu.c32 窗口模块
vesamenu.c32 窗口模块
chain.c32 指定分区(硬盘)启动
reboot.c32 重新启动计算机
poweroff.c32 关闭计算机

几个文件复制到U盘的boot/syslinux文件夹里,同时在此文件里新建配置文件syslinux.cfg。

3. 配置

syslinux的配置文件syslinux.cfg需要填写菜单及相关系统配置项

3.1 菜单项

菜单项的配置可参考
<Syslinux Menu>
<Archlinux Syslinux>

3.2 引导配置项

WinPE

LABEL Winpe
MENU LABEL Winpe
kernel /boot/isope.bin
append initrd=/boot/SETUPLDR.BIN

Linux

LABEL linux
MENU LABEL Puppy linux
kernel /boot/linux/vmlinuz
append initrd=/boot/syslinux/initrd.gz

硬盘

LABEL StartHD
MENU LABEL StartHD
COM32 /boot/syslinux/chain.c32 hd0

关闭系统

LABEL Poweroff
MENU LABEL Poweroff
COM32 /boot/syslinux/poweroff.c32

重启系统

LABEL reboot
MENU LABEL Reboot
COM32 /boot/syslinux/reboot.c32

磁盘镜像引导

syslinux支持gzip或zip压缩格式的(memdisk),标准floppy镜像可直接引导启动,非标准(容量大于2880K)要附加CHS参数
其中,CHS参数可通过软件GDParam来获取

LABEL maxdos
kernel memdisk
append initrd=boot/maxdos.img floppy c= h= s=

ISO光盘

LABEL WIN7PE.iso
LINUX memdisk
INITRD /boot/wins/WIN7PE.iso
APPEND iso raw

LiveCD

引导LiveCD需要指定root设备(通过UUID或LABEL)和squashfs所在路径(实际路劲为/boot/CentOS/squashfs.img)

LABEL CentOS
MENU LABLE CentOS
kernel /boot/CentOS/vmlinuz0
append initrd=/boot/CentOS/initrd0.img root=UUID=4C9E-56D3 rootfstype=vfat rw quiet liveimg SQUASHED="/sysroot/boot/CentOS/squashfs.img"
#root=LABEL=FIX


其中,获取UUID的方法如下

/* Linux */
# /lib/udev/vol_id -u $dev -> 获取UUID
# /lib/udev/vol_id -l $dev -> 获取LABEL
# blkid -> 获取UUID /* Windows */
C:\> wmic LogicalDisk where "DriveType='2'" get VolumeSerialNumber / value
VolumeSerialNumber=72E11326 -> UUID为72E1-

关于LiveCD,参考:
<Linux Live Kit>
<Fedora LiveOS>

其他比较不错的LiveCD有4MLinux,Slitaz

4. PE定制

首先来了解下iso和img镜像格式

iso: ISO  CD/DVD image, ElTorito
img: 磁盘映像, 准确的来说是Floppy Disk Image

iso修改工具有WinISO和UltraISO;可引导需要Bootable_NoEmulation.img
img文件可以使用WinImage进行修改;.SI_文件通常是使用CAB压缩的文件,可使用WinCab中的makecab.exe来得到

makecab.exe WinPE.iso WINPE.IS_

<WinPE的DIY知识简介>
<Windows Preinstallation Phases>

参考:
<Syslinux Wiki>
<Syslinux HowTos>

Syslinux使用的更多相关文章

  1. syslinux 3.84 2009-12-18 ebios copyright (c) 1994-2009 H. Peter Anvin et al

    使用USB方式安装win7+Ubuntu12.04双系统时出现"syslinux 3.84 2009-12-18 ebios copyright (c) 1994-2009 H. Peter ...

  2. 理解syslinux,SYSLINUX和PXELINUX

    在研究网络装机的过程中,菜菜地被Syslinux.SYSLINUX和PXELINUX这些定义折磨了一下 它们有什么区别和联系?为什么配置PXELINUX要安装的是Syslinux而不是Pxelinux ...

  3. syslinux 和 grub

    syslinux是一个功能强大的引导加载程序,而且兼容各种介质.它的目的是简化首次安装Linux的时间,并建立修护或其它特殊用途的启动盘.它的安装很简单,一旦安装syslinux好之后,sysLinu ...

  4. syslinux启动盘制作

    # <font color=DarkCyan >syslinux启动盘制作</font> # ### 准备工具 ### 1. BOOTICEx64 软件 ##分区引导制作工具 ...

  5. Syslinux编译环境配置简要步骤

    由于毕业设计要做一个加密U盘的LINUX,需要修改一sysylinux引导程序,在网上很少有关于syslinux编译环境配置的文章,在此简要总结一下,发出来共享. 需要的软件: 1.  vmware ...

  6. 关于SYSLINUX的一些重要描述摘录

    以下资源都来自官方文档,原文摘录 The SYSLINUX suite contains the following boot loaders ("derivatives"), f ...

  7. SYSLINUX官方文档

    帮助正确认识SYSLINUX http://www.syslinux.org/wiki/index.php/Doc/syslinux http://www.syslinux.org/wiki/inde ...

  8. x01.os.23: 制作 linux LiveCD

    1.首先运行如下命令  sudo apt-get install wget bc build-essential gawk genisoimage 2.下载如下资源,make all 即可 http: ...

  9. Linux PXE无盘工作站

    • 关于PXE无盘工作站系统的简介 PXE无盘工作站系统是指由一台或多台“系统服务器”和多台“PXE客户端(无盘工作站)”通过 交换机 相连组成的局域网系统. (图1:无盘工作站系统部署拓扑图) • ...

随机推荐

  1. mysql四:数据操作

    一 介绍 MySQL数据操作: DML ======================================================== 在MySQL管理软件中,可以通过SQL语句中的 ...

  2. request_resource

    1.全局变量 resource结构体定义如下,指针parent.sibling.child用于构建树状结构. struct resource { resource_size_t start; reso ...

  3. V4L2学习(二)结构介绍

    v4l2_device v4l2_device在v4l2框架中充当所有v4l2_subdev的父设备,管理着注册在其下的子设备.以下是v4l2_device结构体原型(去掉了无关的成员): struc ...

  4. 洛谷P2389 电脑班的裁员(区间DP)

    题目背景 隔壁的新初一电脑班刚考过一场试,又到了BlingBling的裁员时间,老师把这项工作交给了ZZY来进行.而ZZY最近忙着刷题,就把这重要的任务交(tui)给了你. 题目描述 ZZY有独特的裁 ...

  5. 笔记-python-standard library-8.5.heapq

    笔记-python-standard library-8.5.heapq 1. heapq-heap queue algorithm源码:Lib/heapq.pythis module provide ...

  6. Android 获取地理位置信息 封装好了 直接用

    前言:花了一个早上研究了以下android获取经纬度,然后网上的参考资料都是杂七杂八,基本上都是过去几年的,现在我用 android6.0参照别人的结果发生好多错误,我的内心几乎是崩溃的.后来,不断百 ...

  7. 2612. [FHZOI 2017]被窃的项链

    2612. [FHZOI 2017]被窃的项链 ★★★   输入文件:stolen_necklace.in   输出文件:stolen_necklace.out   简单对比时间限制:1 s   内存 ...

  8. 排查和处理一台被攻击的linux系统及其事后分析

    11:40 2018/3/16 发现最近几天服务器流量异常的大,检查了系统命令发现命令最近的修改时间很近,检查dns配置也发现了异常的dns服务器地址. 考虑到事态的严重性,铲掉这个系统重新搭建. 事 ...

  9. loj2056 「TJOI / HEOI2016」序列

    当年我还没学cdq的时候在luogu上写过树套树的代码orzzz ref #include <algorithm> #include <iostream> #include & ...

  10. CSC.exe(C#编译器命令行)

    不要在普通的命令行窗口中编译,请先打开C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Microsoft Visual Studio 2010 ...