无忧启动论坛

标题: syslinux 使用方法 分享 - 新手用 [打印本页]

作者: 2010voodoo3    时间: 2010-10-29 22:39
标题: syslinux 使用方法 分享 - 新手用
U盘启动,一直有阴影。主要是太复杂。这两天研究了一下 syslinux,发现还是挺简单的。
可能有些功能新版本才开始提供,很多帖子没有提到。

前提条件是,下载最新版 syslinux 3.86。
安装方法参考google。比如: www.cnblogs.com/5tao/archive/2010/01/31/1660481.html

安装好了,问题就来了,怎么引导 PE,DOS工具说实话,对我来说没太大用。

1. 直接引导 ISO,syslinux.cfg 文件如下

UI vesamenu.c32 (指定图形化菜单,放在syslinux.cfg 最前面就可以了,下面省略)

LABEL PEISO-WXRS  (LABEL 后面是菜单名,随便)
        LINUX memdisk (创建虚拟磁盘)
        INITRD /boot/WIN7PE.iso (加载 .iso 文件)
        APPEND iso raw (APPEND 其实就是 把 后面的参数 追加到 上面一行结尾,这样写可能好看吧)

2. 用 ntldr 方式引导 PE,syslinux.cfg 文件如下

LABEL PEHDD-HPY
        KERNEL /boot/syslinux/chain.c32 (这东西反正可以链接的方式引导各种不同分区,MBR等)
        APPEND hd0 1 ntldr=/MINIPE/LDRXPE (hd0 1 和 后面那些 其实就是 chain.c32 的参数,靠 append 追加上去)

LDRXPE 其实是所谓的 ntldr ,其实最原始的应该是 PE的 SETUPLDR.bin 文件,经过修改改名得来。
究竟 ntldr 如何工作,如何修改,请参考: hi.baidu.com/whuisland/blog/item/e9955139d9cba9f43b87ce7e.html

3. 用 ntldr 方式引导 PE,可是我的主板只支持 USB-FDD 模式,怎么办?

LABEL PEFDD-HPY
        KERNEL /boot/syslinux/chain.c32
        APPEND fd0 ntldr=/MINIPE/LDRXPE (老主板 USB-FDD 或 USB-ZIP 模式引导,会把U盘认成 fd0)

4. 从 本机 硬盘启动

LABEL HDD 1,0
        KERNEL /boot/syslinux/chain.c32
        APPEND hd1 0 (一般 情况下 是 USB-HDD 模式引导的,会把U盘认成 hd0,所以 本机硬盘是 hd1, 后面的0是指 MBR,1~4是 主分区,5往后是逻辑分区)

题外话:
其实最重要的是别着急,先把每个文件是干什么的搞清楚最重要。
iso引导我用的 我心如水的系统维护版,ntldr 引导 pe,用的 HPY 工具箱 里面的 minipe 。
我下载了好几个版本的 pe 启动盘 ,启动方式各不相同,好麻烦啊。好不容易找到我需要的这种。

另外,在syslinux菜单环境下,可以按 TAB键 可以  调整 每个选择项的参数,不行的时候试一下就试出来了。
比如 hd0 改 hd1, hd 1 0 改 hd 1 1。试完再琢磨是怎么回事。

我觉得 syslinux 兼容性好,简洁明了。满足了我的要求。
以上所有内容都来自于 wuyou 和 google。我只是稍加整理。
欢迎大家一起讨论。
谢谢。
作者: 2010voodoo3    时间: 2010-10-29 22:40
我的 syslinux.cfg 文件

UI vesamenu.c32

LABEL PEHDD-HPY
        KERNEL /boot/syslinux/chain.c32
        APPEND hd0 1 ntldr=/MINIPE/LDRXPE

LABEL PEFDD-HPY
        KERNEL /boot/syslinux/chain.c32
        APPEND fd0 ntldr=/MINIPE/LDRXPE

LABEL PEISO-WXRS
        LINUX memdisk
        INITRD /boot/WIN7PE.iso
        APPEND iso raw

LABEL HDD 1,0
        KERNEL /boot/syslinux/chain.c32
        APPEND hd1 0

LABEL REBOOT
        KERNEL /boot/syslinux/reboot.c32

对了,听说 syslinux 区分大小写,一定小心
作者: zhs509    时间: 2010-10-29 22:40
syslinux有区分大小写吗?
作者: 2010voodoo3    时间: 2010-10-29 22:44
没有啊?
我从哪个帖子偶尔看到,也没确认。
没有更好。呵呵。

[ 本帖最后由 2010voodoo3 于 2010-10-29 22:45 编辑 ]
作者: vocalsir    时间: 2010-10-29 23:10
提示: 作者被禁止或删除 内容自动屏蔽
作者: 2010voodoo3    时间: 2010-10-29 23:20
基本都来自wuyou
我也是菜鸟
一起学习
作者: lsbzhe    时间: 2010-10-30 14:58
学习了,感谢楼主分享。。。。
作者: 小施    时间: 2010-10-30 15:33
前段时间学习GRUB现在得学学这个了
作者: 2010败亦枭雄    时间: 2010-10-30 16:01
适合新手学习的资料,感谢分享。
作者: diy502    时间: 2010-10-30 17:46
学习了,这个东西还是不错的。
作者: 网上飞鹰    时间: 2010-10-30 19:13
进来看看。。。。。。。。
作者: 2010jianlenovo    时间: 2010-10-30 20:46
学习学习,谢谢了
作者: qj_tzy    时间: 2010-10-30 22:04
标题: 回复 #1 2010voodoo3 的帖子
我向楼主学习后,将我的syslinux.cfg菜单更改为如下内容,有错误之处,请各位大侠指正:

timeout 100
ui vesamenu.c32
default grldr

   #F1 readme.txt
   #F2 syslinux.cfg
        MENU BACKGROUND back.png
        MENU TITLE My syslinux boot manager
        MENU WIDTH 30         
              MENU MARGIN 0
              MENU ROWS 30            
              MENU HELPMSGROW 15  
              MENU TIMEOUTROW 30         
              MENU TABMSGROW 1
              MENU CMDLINEROW 1
              MENU HSHIFT 30                                
              MENU VSHIFT 0
             
        menu color border 30;44 #00000000 #00000000 none

      
        LABEL winxp
                MENU LABEL [^1] winxp
                kernel /boot/boot_bin/xor_winxp.bin

        LABEL win7
                MENU LABEL [^2] win7_(hd1,5)
                kernel CHAIN.C32
                append hd1 6

        LABEL wxin03pe
                MENU LABEL [^3] wxin03pe.iso_97M
                linux memdisk                 或 kernel memdisk
                initrd /boot/grub4dos/wx03pe.iso
                append iso raw

        LABEL MAXDOS
                       MENU LABEL [^4] MAXDOS PLUS TOOL
                kernel memdisk
                append initrd=/boot/grub4dos/maxdos.ima

        LABEL grldr
                MENU LABEL [^5] grub4dos menu
                kernel ldntldr
                append initrd=/boot/grub4dos/grldrtzy

        LABEL bootmgr
                MENU LABEL [^6] bootmgr menu
                kernel ldntldr
                append initrd=/bootmgr

        LABEL ntldr
                MENU LABEL [^7] ntldr menu
                kernel ldntldr
                append initrd=/ntldr

        LABEL winpe_hdd
                MENU LABEL [^8] winpe on hd or hdd mode
                KERNEL /boot/syslinux/chain.c32
                APPEND hd0 1 ntldr=/MINIPE/LDRXPE     

        LABEL winpe_fd
                MENU LABEL [^9] winpe on u_fd
                KERNEL /boot/syslinux/chain.c32
                APPEND fd0 ntldr=/MINIPE/LDRXPE

        LABEL reboot
                MENU LABEL [^0] Reboot computer
                      kernel REBOOT.C32
作者: 2010liuweinan    时间: 2010-11-10 21:19
学习了,多谢LZ。我想也要熟悉一下别的引导软件
作者: goodtime    时间: 2010-11-16 14:41
改版了? 我学启动从SYSLINUX开始的,支持下
作者: 2010denovalh    时间: 2010-12-4 23:57
刚会了一点GRUB,感觉加载镜像太慢,再看看syslinux,继续潜水。呵呵
作者: simonchan    时间: 2010-12-9 09:40
先学syslinux的,再改grub试试
作者: ljy3282393    时间: 2010-12-9 22:50
学习一下,感谢楼主总结和分享。
作者: daerdaer    时间: 2010-12-14 11:48
syslinux.cfg保存时编码又要求么?
作者: 2010tyl1355    时间: 2010-12-20 11:12
我的CFG文件
default /boot/syslinux/vesamenu.c32
MENU BACKGROUND /boot/syslinux/splash.jpg
MENU TITLE SYSLINUX BOOT MENU
prompt 0
timeout 300

label boothd1
MENU LABEL Boot from WD640G Windows 2008R2
kernel /boot/syslinux/chain.c32
append hd1

label boothd0
MENU LABEL Boot from WD500G PE
kernel /boot/syslinux/chain.c32
append hd0

label grub
MENU LABEL ^1----GRUB BOOT MENU
kernel /boot/syslinux/ldntldr
append initrd=/boot/grub/grldr
#kernel /boot/grub/grub.exe --config-file=/boot/grub/menu.lst

label ar4dos
MENU LABEL ^2----DOS TOOLS
kernel /boot/syslinux/memdisk c=60 h=4 s=36 floppy
append initrd=/snow1/dostool.img

label maxdos
MENU LABEL ^3----MAX DOS 7.1 TOOLS
kernel /boot/syslinux/memdisk c=555 h=2 s=18 floppy
append initrd=/snow1/maxdos.img

label DM10
MENU LABEL ^4----DM10
kernel /boot/syslinux/memdisk c=80 h=2 s=36 floppy
append initrd=/snow1/dm10.img

label winpe
MENU LABEL ^5----01PE
kernel /boot/syslinux/ldntldr
append initrd=/MINIPE/01PE

label winpe
MENU LABEL ^6----02PE
kernel /boot/syslinux/ldntldr
append initrd=/MINIPE/02PE

label winpe
MENU LABEL ^7----03PE
kernel /boot/syslinux/ldntldr
append initrd=/MINIPE/03PE

label winpe
MENU LABEL ^8----04PE
kernel /boot/syslinux/ldntldr
append initrd=/MINIPE/04PE

label puppy
MENU LABEL ^9----PUPPY LINUX
kernel /puppy/vmlinuz
append initrd=/puppy/initrd.gz root=/dev/ram0 pmedia=usbflash psubdir=puppy


label reboot
MENU LABEL ^0----reboot
kernel /boot/syslinux/reboot.c32
作者: 2010tyl1355    时间: 2010-12-20 11:13
我的CFG文件<br />
default /boot/syslinux/vesamenu.c32<br />
MENU BACKGROUND /boot/syslinux/splash.jpg<br />
MENU TITLE SYSLINUX BOOT MENU<br />
prompt 0<br />
timeout 300<br />
<br />
label boothd1<br />
MENU LABEL Boot from WD640G Windows 2008R2<br />
kernel /boot/syslinux/chain.c32<br />
append hd1<br />
<br />
label boothd0<br />
MENU LABEL Boot from WD500G PE<br />
kernel /boot/syslinux/chain.c32<br />
append hd0<br />
<br />
label grub<br />
MENU LABEL ^1----GRUB BOOT MENU<br />
kernel /boot/syslinux/ldntldr<br />
append initrd=/boot/grub/grldr<br />
#kernel /boot/grub/grub.exe --config-file=/boot/grub/menu.lst<br />
<br />
label ar4dos<br />
MENU LABEL ^2----DOS TOOLS<br />
kernel /boot/syslinux/memdisk c=60 h=4 s=36 floppy<br />
append initrd=/snow1/dostool.img<br />
<br />
label maxdos<br />
MENU LABEL ^3----MAX DOS 7.1 TOOLS<br />
kernel /boot/syslinux/memdisk c=555 h=2 s=18 floppy<br />
append initrd=/snow1/maxdos.img<br />
<br />
label DM10<br />
MENU LABEL ^4----DM10<br />
kernel /boot/syslinux/memdisk c=80 h=2 s=36 floppy<br />
append initrd=/snow1/dm10.img<br />
<br />
label winpe<br />
MENU LABEL ^5----01PE<br />
kernel /boot/syslinux/ldntldr<br />
append initrd=/MINIPE/01PE<br />
<br />
label winpe<br />
MENU LABEL ^6----02PE<br />
kernel /boot/syslinux/ldntldr<br />
append initrd=/MINIPE/02PE<br />
<br />
label winpe<br />
MENU LABEL ^7----03PE<br />
kernel /boot/syslinux/ldntldr<br />
append initrd=/MINIPE/03PE<br />
<br />
label winpe<br />
MENU LABEL ^8----04PE<br />
kernel /boot/syslinux/ldntldr<br />
append initrd=/MINIPE/04PE<br />
<br />
label puppy<br />
MENU LABEL ^9----PUPPY LINUX<br />
kernel /puppy/vmlinuz<br />
append initrd=/puppy/initrd.gz root=/dev/ram0 pmedia=usbflash psubdir=puppy<br />
<br />
<br />
label reboot<br />
MENU LABEL ^0----reboot<br />
kernel /boot/syslinux/reboot.c32
作者: 2010aetom    时间: 2011-1-3 18:34
长见识!前段时间只是尝试下grub4dos,是不是linux光盘都提供syslinux引导方式啊?
作者: dgygs    时间: 2011-2-8 16:12
有用!收藏!多谢楼主!
作者: cqflfzlyx    时间: 2011-2-15 11:15
好像很难的样子呀!应该好好学学啦
作者: blithewind    时间: 2011-3-6 10:21
原帖由 2010voodoo3 于 2010-10-29 22:40 发表
我的 syslinux.cfg 文件

UI vesamenu.c32
...
对了,听说 syslinux 区分大小写,一定小心



红字部分纯属道听途说,是不正确的!
syslinux命令对大小写不敏感,随便写。
作者: szfhx    时间: 2011-4-8 14:30
原帖由 blithewind 于 2011-3-6 10:21 发表


红字部分纯属道听途说,是不正确的!
syslinux命令对大小写不敏感,随便写。


改天试试
作者: 左岸麦田    时间: 2011-4-23 09:30
方便离线查阅。

syslinux 使用方法 - 新手用.pdf

67.26 KB, 下载次数: 138, 下载积分: 无忧币 -2

syslinux 使用方法 - 新手用.rar

4.96 KB, 下载次数: 101, 下载积分: 无忧币 -2


作者: teze    时间: 2011-4-23 10:21
学习一下 和grub 比较 哪个更好呢
作者: syrea    时间: 2011-5-7 21:50
刚才测试了一下,在UDB HDD上:
     LABEL PEFDD-HP

KERNEL /boot/syslinux/chain.c32


APPEND hd0 1 ntldr=/MINIPE/LDRXPE 不能启动,用fd0 也不行,但是hd1 1 或者干脆不要 fd0 hd0 1 hd1 1 这个部分就没有问题;

用ldntldr也很顺利。

[ 本帖最后由 syrea 于 2011-5-7 22:41 编辑 ]
作者: 2011yhc211    时间: 2011-5-8 12:53
正在学习,虽然不会。先看看
作者: 2011shua    时间: 2011-5-19 13:45
学习了,多个启动就多个保险
作者: 2011chew000    时间: 2011-6-9 16:58
非常有用的教程,简洁易懂。。谢谢SYSLINUX就需要这样的教程。。
作者: 葫露    时间: 2011-6-10 12:32
学习中。。。。。。。。。
作者: wangziqiang    时间: 2011-6-27 17:43
新手  来学习了  多多执教啊
作者: cocowuyou    时间: 2011-7-11 11:18
好资料,跟着学习了,谢谢分享
作者: shan    时间: 2011-7-18 21:29
偶菜鸟,看来以后必须要学习的
作者: wama    时间: 2011-7-22 11:04
正想学习一下,感谢分享。
作者: 2010iris    时间: 2011-7-25 01:03
學習一下.謝謝....
作者: 123-888    时间: 2011-7-25 17:52
感觉没有grub4dos好,楼主还需要选择iso,说明不是所有iso都可以用的。
作者: 2011cloudchen66    时间: 2011-8-15 17:11
一直学fbinst .syslinux好像不能写入NTFS分区,不知道能不能启动NTFS里的文件?
作者: papago    时间: 2011-12-24 19:29
我是cainiao,学习了。
作者: 2011wonderger    时间: 2012-1-9 17:58
我用U盘veket,很赞,整个系统都copy to ram!很快啊呵呵
作者: 2011QIUTIAN    时间: 2012-1-17 07:21
这个要学学!谢谢了!




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3