用SYSLINUX做启动U盘、光盘
光盘文件结构如下:[附件中有相关文件,因为不能上传大文件所以把IMG和ISO文件都删除了]
根─boot
│ pe.iso
│
├─imgs
│ DGDOS.IMG
│ HDDREG.IMG
│ ISOLINUX.CFG
│ MAXDOS.IMG
│
└─isolinux
bg.png
chain.c32
isolinux.bin
memdisk
myfont.psf
poweroff.com
reboot.c32
syslinux.cfg
syslinux_zh.txt
vesamenu.c32
syslinux.cfg配置文件内容如下:
# 设定是启动到图形界面还是启动到boot,0为图型界面 1为启动到boot
PROMPT 0
# If flag_val is set to 1, ignore the Shift/Alt/Caps Lock/Scroll Lock escapes. Use this (together with PROMPT 0) to force the default boot selection.
NOESCAPE 1
# If flag_val is 0, the user is not allowed to specify any arguments on the kernel command line. The only options recognized are those specified in an APPEND statement. The default is 1.
ALLOWOPTIONS 0
# 设定倒计时时间,100为10秒
TIMEOUT 100
# 调用isolinux引导核心文件,下面这个是图形化的,正是我们需要的,如果调用menu.c32就是纯文本方式的
default /boot/isolinux/vesamenu.c32
# 设定背景文件,需要是8位色深索引色模式,分辨率可根据下面的分别设定参数值做对应
MENU BACKGROUND bg.png
# 设定字体文件,这里我没有中文想显示就注释掉了,这个文件需要用软件跟据syslinux.cfg文件来生成
# FONT font.psf
# ******************* 菜单显示位置设定 *******************
# MENU RESOLUTION 800 600 指定分辨率大小不指定默认640x480
# 在默认分辨率640x480的情况下,屏幕最大宽度为78,也就是说在[MENU MARGIN]为0的情况下,[MENU WIDTH] + [MENU HSHIFT]不能大于78
# 设定菜单整体右移距离
MENU HSHIFT 46
# 设定菜单整体下移距离
MENU VSHIFT 0
# 设定菜单整体宽度
MENU WIDTH 32
# 设定屏幕边空大小,比如你把边空设定为5,再把菜单整体宽度设定为0,那边屏幕两边都会空5的距离,其余中间部分就是菜单整体宽度
MENU MARGIN 0
# 设定菜单的总行数,这个值要包含空行
MENU ROWS 13
# 设定TAB信息的位置,这个位置是相对于菜单顶部向下移动行数,应该大于菜单总行数,不然会重叠显示到菜单上
MENU TABMSGROW 28
# 设定按TAB键后命令行的显示位置,最好同上面设定的一样
MENU CMDLINEROW 28
# 设定倒计时的显示位置,位置是相对于菜单顶部向下移动行数
MENU TIMEOUTROW 28
# 设定密码框下移位置
# MENU PASSWORDROW 26
# 设定密码框标题文字
# MENU PASSPROMPT Enter Password:
# **************** 菜单颜色和显示效果设定 ****************
# 颜色设定:其中#00FFFFFF为前景色,#00000000为背景色,颜色值其实只有后6位,前两位是设定显示透明度,FF为显示,00为不显示
# [1;30;44]分别对应是[粗细;宽;高]
# 字体显示效果设定:[none]关闭[std]字体阴影[all]显示菜单框三种选其一
# 设定菜单边框
menu color border 1;30;44 #00FFFFFF #00000000 none
# 设定菜单标题
menu color title 1;36;44 #0000FFFF #00000000 none
# 设定菜单被选定后的显示
menu color sel 1;30;37 #FFFF0000 #00000000 none
# 设定未选定菜单的显示
menu color unsel 1;37;44 #FFFFFFFF #00000000 none
# 设定倒计时的显示
menu color timeout 1;37;40 #0000FFFF #00000000 none
# 设定未选定的菜单的快捷键的显示
menu color hotkey 1;37;44 #FFFF0000 #00000000 none
# 设定被选定后的菜单的快捷键的显示
menu color hotsel 1;37;40 #FFFFFFFF #00000000 none
# 下面是设定密码输入框的边框;标题;整体的颜色效果
# menu color pwdborder 30;47 #FFFF0000 #30FF0000 none
# menu color pwdheader 31;47 #FFFF0000 #00FFFFFF none
# menu color pwdentry 30;47 #FFFF0000 #00FF0000 none
# 设定首次引导提示信息
MENU AUTOBOOT
# 设定TAB提示信息,例如:MENU TABMSG 按[TAB]键可进入命令行编辑模式
MENU TABMSG
# ******************* 菜单实际内容设定 *******************
# 设定菜单标题
MENU TITLE
# ---------------------------分隔线为了方便阅读--------------------------
# 设定菜单内部标签
LABEL PE
# 设定菜单显示文字
MENU LABEL ^Windows Server 2003 PE
# 下面两行是设置密码的可以支持 MD5 SHA1 SHA2,但我没找到改密码输入框位置的资料先注释下
# MENU MASTER PASSWD xxx
# MENU PASSWD xxx
# 创制内存虚拟磁盘*因为这里是用的新版的SYSLINUX,支持直接调整ISO文件,所以用下面这个最简单的方法*
LINUX memdisk
# 指定要载入到虚拟磁盘的ISO文件
INITRD /boot/pe.iso
# 下面这一行是为上一行命令追加的执行参数
APPEND iso raw
# 下面两行是设定选定某条菜单后显示出来的文字提示信息,因为我不想要它显示出来就注释掉了
# TEXT HELP
# Microsoft Windows Server 2003 PE
# 在此位置插入一个空行
MENU SEPARATOR
# ---------------------------分隔线为了方便阅读--------------------------
LABEL MAXDOS
MENU LABEL ^MAXDOS Tool Box
# 设定要载入的IMG文件的相应参数,如果是标准1.44或者2.88 MB的映像不需要设定 [c=78 h=8 s=36] 这个参数
# 如果不是标准的就需要用winimg软件查看映像文件的相应参数
kernel /boot/ISOLINUX/MEMDISK c=78 h=8 s=36 floppy
# 同样是附加上一行的执行参数,这里是指定IMG文件的位置
append initrd=/BOOT/IMGS/MAXDOS.IMG
# TEXT HELP
# [ MAXDOS ] Tool Box
MENU SEPARATOR
# ---------------------------分隔线为了方便阅读--------------------------
LABEL HDDREG
MENU LABEL ^HDDREG Harddisk Repair Tool
kernel /boot/ISOLINUX/MEMDISK c=80 h=2 s=18 floppy
append initrd=/BOOT/IMGS/HDDREG.IMG
# TEXT HELP
# [ HDDREG ] Harddisk Repair
MENU SEPARATOR
# ---------------------------分隔线为了方便阅读--------------------------
LABEL DG
MENU LABEL ^DISKGEN Partition Management
kernel /boot/ISOLINUX/MEMDISK c=80 h=2 s=21 floppy
append initrd=/BOOT/IMGS/DGDOS.IMG
# TEXT HELP
# [ DISKGEN ] Partition Management
MENU SEPARATOR
# ---------------------------分隔线为了方便阅读--------------------------
LABEL hddboot
MENU LABEL ^Boot From Harddisk
# 设定为输入快捷键后直接进入该项
MENU IMMEDIATE
# 指定该菜单项为默认
MENU DEFAULT
# 设定此项菜单为从硬盘启动电脑,需要有chain.c32这个文件才能实现
kernel /boot/ISOLINUX/chain.c32 hd0,1
# TEXT HELP
# Boot From Harddisk
MENU SEPARATOR
# ---------------------------分隔线为了方便阅读--------------------------
LABEL reboot
MENU LABEL ^Reboot Computer
MENU IMMEDIATE
# 设定此项菜单为重新启动电脑,需要有REBOOT.c32这个文件才能实现
kernel /boot/ISOLINUX/REBOOT.C32
# TEXT HELP
# Reboot Computer
MENU SEPARATOR
# ---------------------------分隔线为了方便阅读--------------------------
LABEL poweroff
MENU LABEL ^Shutdown
MENU IMMEDIATE
# 设定此项菜单为关闭电脑,需要有poweroff.com这个文件才能实现
kernel /boot/ISOLINUX/poweroff.com
# TEXT HELP
# Shutdown
# 设定F1键显示info.txt #FF0000FF 为背景色 蓝色
# F1 info.txt #FF0000FF
为光盘添加引导:先把我的附件解压出来,把里面的文件全拖到 UltraISO 新建立的光盘文件里,再按照这个图给光盘指定一个引导,就是解压出来的boot\isolinux\文件夹里的isolinux.bin,这样才能引导..
本文转自rshare 51CTO博客,原文链接:http://blog.51cto.com/1364952/1978938,如需转载请自行联系原作者