无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 29966|回复: 42

syslinux 使用方法 分享 - 新手用

[复制链接]
发表于 2010-10-29 22:39:09 | 显示全部楼层 |阅读模式
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。我只是稍加整理。
欢迎大家一起讨论。
谢谢。

评分

参与人数 1无忧币 +6 收起 理由
yueming9712 + 6 我很赞同

查看全部评分

 楼主| 发表于 2010-10-29 22:40:04 | 显示全部楼层
我的 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 区分大小写,一定小心
回复

使用道具 举报

发表于 2010-10-29 22:40:55 | 显示全部楼层
syslinux有区分大小写吗?
回复

使用道具 举报

 楼主| 发表于 2010-10-29 22:44:31 | 显示全部楼层
没有啊?
我从哪个帖子偶尔看到,也没确认。
没有更好。呵呵。

[ 本帖最后由 2010voodoo3 于 2010-10-29 22:45 编辑 ]
回复

使用道具 举报

发表于 2010-10-29 23:10:54 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

 楼主| 发表于 2010-10-29 23:20:45 | 显示全部楼层
基本都来自wuyou
我也是菜鸟
一起学习
回复

使用道具 举报

发表于 2010-10-30 14:58:38 | 显示全部楼层
学习了,感谢楼主分享。。。。
回复

使用道具 举报

发表于 2010-10-30 15:33:27 | 显示全部楼层
前段时间学习GRUB现在得学学这个了
回复

使用道具 举报

发表于 2010-10-30 16:01:03 | 显示全部楼层
适合新手学习的资料,感谢分享。
回复

使用道具 举报

发表于 2010-10-30 17:46:35 | 显示全部楼层
学习了,这个东西还是不错的。
回复

使用道具 举报

发表于 2010-10-30 19:13:56 | 显示全部楼层
进来看看。。。。。。。。
回复

使用道具 举报

发表于 2010-10-30 20:46:05 | 显示全部楼层
学习学习,谢谢了
回复

使用道具 举报

发表于 2010-10-30 22:04:12 | 显示全部楼层

回复 #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
回复

使用道具 举报

发表于 2010-11-10 21:19:08 | 显示全部楼层
学习了,多谢LZ。我想也要熟悉一下别的引导软件
回复

使用道具 举报

发表于 2010-11-16 14:41:55 | 显示全部楼层
改版了? 我学启动从SYSLINUX开始的,支持下
回复

使用道具 举报

发表于 2010-12-4 23:57:40 | 显示全部楼层
刚会了一点GRUB,感觉加载镜像太慢,再看看syslinux,继续潜水。呵呵
回复

使用道具 举报

发表于 2010-12-9 09:40:27 | 显示全部楼层
先学syslinux的,再改grub试试
回复

使用道具 举报

发表于 2010-12-9 22:50:24 | 显示全部楼层
学习一下,感谢楼主总结和分享。
回复

使用道具 举报

发表于 2010-12-14 11:48:35 | 显示全部楼层
syslinux.cfg保存时编码又要求么?
回复

使用道具 举报

发表于 2010-12-20 11:12:44 | 显示全部楼层
我的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
回复

使用道具 举报

发表于 2010-12-20 11:13:09 | 显示全部楼层
我的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
回复

使用道具 举报

发表于 2011-1-3 18:34:09 | 显示全部楼层
长见识!前段时间只是尝试下grub4dos,是不是linux光盘都提供syslinux引导方式啊?
回复

使用道具 举报

发表于 2011-2-8 16:12:47 | 显示全部楼层
有用!收藏!多谢楼主!
回复

使用道具 举报

发表于 2011-2-15 11:15:02 | 显示全部楼层
好像很难的样子呀!应该好好学学啦
回复

使用道具 举报

发表于 2011-3-6 10:21:56 | 显示全部楼层
原帖由 2010voodoo3 于 2010-10-29 22:40 发表
我的 syslinux.cfg 文件

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



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

使用道具 举报

发表于 2011-4-8 14:30:59 | 显示全部楼层
原帖由 blithewind 于 2011-3-6 10:21 发表


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


改天试试
回复

使用道具 举报

发表于 2011-4-23 09:30:48 | 显示全部楼层
方便离线查阅。

syslinux 使用方法 - 新手用.pdf

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

syslinux 使用方法 - 新手用.rar

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

回复

使用道具 举报

发表于 2011-4-23 10:21:03 | 显示全部楼层
学习一下 和grub 比较 哪个更好呢
回复

使用道具 举报

发表于 2011-5-7 21:50:21 | 显示全部楼层
刚才测试了一下,在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 编辑 ]
回复

使用道具 举报

发表于 2011-5-8 12:53:31 | 显示全部楼层
正在学习,虽然不会。先看看
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-3-29 16:28

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表