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.05: ~\win32>syslinux.exe -ma -d \boot\syslinux H:
V6.03: ~\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 Winpekernel /boot/isope.binappend initrd=/boot/SETUPLDR.BIN

Linux

LABEL linux
MENU LABEL Puppy linuxkernel /boot/linux/vmlinuzappend initrd=/boot/syslinux/initrd.gz

硬盘

LABEL StartHDMENU LABEL StartHDCOM32 /boot/syslinux/chain.c32 hd0

关闭系统

LABEL PoweroffMENU LABEL PoweroffCOM32 /boot/syslinux/poweroff.c32

重启系统

LABEL rebootMENU LABEL RebootCOM32 /boot/syslinux/reboot.c32

磁盘镜像引导

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

LABEL maxdoskernel memdiskappend initrd=boot/maxdos.img floppy c=555 h=2 s=18

ISO光盘

LABEL WIN7PE.isoLINUX memdiskINITRD /boot/wins/WIN7PE.isoAPPEND iso raw

LiveCD

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

LABEL CentOSMENU LABLE CentOSkernel /boot/CentOS/vmlinuz0append 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-1326

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

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

4. PE定制

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

iso: ISO 9660 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>

转载于:https://www.cnblogs.com/hzl6255/p/3341374.html

Syslinux使用相关推荐

  1. linux 调试引导程序,c-调试syslinux看到的引导文件系统环境?

    好,我启动了它- 首先,我注意到根据Mbr – Syslinux Wiki和HowTos – Syslinux Wiki,内置git源中存在替代的mbr,因此我尝试了mbr.bin和altmbr.bi ...

  2. 从syslinux源码定制LiveUSB

    摘自:http://www.syslinux.org/wiki/index.php/HowTos 如果创建一个Linux系统的USB启动盘 STEP0: 主板必须支持从USB设备启动(usb-key ...

  3. Syslinux引导文件名与菜单解释

    Syslinux引导文件名与菜单解释 isolinux.bin 光盘镜像引导文件 isolinux.cfg 启动菜单配置文件 ldsyslinux.sys syslinux引导文件 syslinux. ...

  4. syslinux引导GRUB4DOS

    default vesamenu.c32 font /boot/syslinux/myfont.psf menu title Resuce System 0.1 # 默认选项,即当用户直接按回车时选中 ...

  5. 用syslinux启动u盘

    弄了两个小时,终于可以用syslinux启动u盘了.步骤如下: 1:用syslinux.exe 将u盘设置成可启动盘. syslinux -ma -f -d /boot/syslinux h: h为u ...

  6. uefi多linux系统启动盘,DIY制作无需格BIOS+UEFI双启动U盘工具|支持syslinux+grub+boomgr+grub2多启动...

    如果你想让你的U盘可启动的话,要怎么做呢,可能很多人都知道借助软件能自动实现,但那些方式都需要把U盘格式化一遍,而这个工具完全不需要,只需要把下载的文件解压到U盘根目录就能实现多启动了,支持bios和 ...

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

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

  8. bootice添加linux_如何使用老毛桃winpe的Bootice新建SYSLINUX引导程序?

    说到SYSLINUX,很多朋友都一头雾水.其实,SYSLINUX是一个功能强大的引导程序,最初用于在FAT分区上引导Linux系统,但是现在也可作其他用途,近占用1扇区.关于如何新建SYSLINUX引 ...

  9. syslinux 制作多系统启动U盘

    syslinux 制作多系统启动U盘 标签:u盘 使用 syslinux 制作多系统启动U盘 syslinux 能加载虚拟内存盘,能引导各种镜像文件,适合用于制作多系统启动U盘,   但是我按照网上说 ...

  10. winpe装双系统linux_使用syslinux在u盘安装pubbylinux和winpe双系统

    使用syslinux在u盘安装pubbylinux和winpe双系统 1,在u盘里安装winpe,请参见"比较简单的制作U盘winpe启动盘方法" 比较简单的制作U盘winpe启动 ...

最新文章

  1. GAN(Generative Adversarial Network,GAN)模型之:EBGAN、PGGAN、CGAN、ACGAN模型
  2. 服务端客户端QA:协作对接沟通流程及优化
  3. urllib使用cookies(下载,提取)
  4. Leetcode题库 136.只出现一次的数字(异或 C实现)
  5. String.Format和StringBuilder的效率
  6. protobuf java 生成_protobuf代码生成
  7. STTN、DSTT、FuseFormer总结(它们改进了什么?)
  8. 元气骑士机器人旁边建筑_元气骑士:锤落谁家?锤子更适合机器人还是能双持的骑士呢?...
  9. TikTok 与 Oracle 的交易将开创两个危险的先例
  10. 2014 找工作总结
  11. 用友NC合同编码自定义
  12. 用计算机打出歌词,Overture软件中如何输入歌词?
  13. [裴礼文数学分析中的典型问题与方法习题参考解答]5.1.25
  14. 无模拟电路基础如何看TTL电路
  15. 贝叶斯估计、最大似然估计、最大后验概率估计
  16. 视频教程-java淘宝优惠券系统二-Java
  17. 揭秘!苏宁“信息基础设施”型零售实践大解析
  18. java8 LocalDate获取自然周的方法
  19. pc端常用电脑屏幕 媒体查询尺寸
  20. HTML5情人节礼物2(女友3D相册)

热门文章

  1. JavaScript解决异步的前世今生
  2. 国产操作系统(2)中标麒麟和银河麒麟体验QT
  3. JS获取当月windows显示的日历(简易版本)
  4. 史上最强 iPhone 越狱工具开源:功能永久有效!
  5. VR游戏设计之三大特性
  6. 怎么实现边下载边播放
  7. CodeForces 985E Pencils and Boxes
  8. 微信群转播机器人python练习制作
  9. 无人机三维实景模型的应用和发展
  10. [Scapy]导入导出数据