Syslinux引导文件名与菜单解释
?
Syslinux引導文件名與菜單解釋
isolinux.bin 光盤鏡像引導文件
isolinux.cfg 啟動菜單配置文件
ldsyslinux.sys syslinux引導文件
syslinux.cfg syslinux配置文件
memdisk 引導IMG鏡像的文件,不同于grub4dos不能壓縮
vesamenu.c32 二種窗口模塊之一豪華型
menu.c32 二種窗口模塊之一簡約型
chain.c32 指定分區啟動 如:chain.c32 hd0,1 (或chain.c32 hd1,1)
reboot.c32 重新啟動計算機
back.png 窗口背景圖片自定義
myfont.psf 加載字體文件
Syslinux.cfg菜單解釋(不需要的命令可以在前面加#注釋掉)
PROMPT 0 不寫默認是0自啟動到圖型界面1為啟動到boot:
default vesamenu.c32 默認使用vesamenu.c32窗口模塊(必填項)
#menu.c32 默認使用menu.c32窗口模塊(必填項)
timeout 60 菜單停留時間,10=1秒(必填項)
F1 readme.txt 按F1閱讀自述文件可以配置更多F1-F12
MENU BACKGROUND back.png 運行窗口背景圖片(必填項)
MENU TITLE 菜單標題比如【xxx維護盤】
MENU WIDTH 40 菜單選擇條長度值越大越長,0為屏幕長度(必填項)
MENU MARGIN 0 以左邊為基準,數字越小離左邊的邊距越近,0最靠左邊(若刪除則自動使用默認值)
MENU ROWS 30 菜單高度行數比如5總共只顯示5條,為0時則只有一條菜單(若刪除則自動使用默認值)
MENU HSHIFT 0 菜單選擇條右移,0不右移 (若刪除則自動使用默認值)默認值不一定是0
MENU VSHIFT 0 菜單選擇條頂端,0不下移 (若刪除則自動使用默認值)默認值不一定是0
MENU TIMEOUTROW 27 倒計時條下移,0不下移 (若刪除則自動使用默認值)
MENU TABMSGROW 28 TAB顯示條下移,0不下移 (若刪除則自動使用默認值)
MENU CMDLINEROW 28 TAB信息條下移,0不下移 (若刪除則自動使用默認值)這2項的參數必須一致,以免按TAB鍵后彈出的信息條易位
MENU HELPMSGROW 28 可以同上面2條一樣位置(若刪除則自動使用默認值)
MENU ENDROW 24 未知
MENU SEPARATOR 在上下菜單中插入一個空行
MENU PASSWD passwd 導航菜單密碼
MENU MASTER PASSWD passwd 設置主菜單密碼支持明文md5
MENU AUTOBOOT 第一次啟動到菜單的提示信息比如(默認xxx秒將自動啟動,時間根據timeout上面的信息獲取)
MENU TABMSG 按[TAB]編輯選項
LABEL hd0 菜單第一命令格式會在命令行模式(boot:)下按TAB顯示,請使用數字或英文,中文不支持
MENU LABEL ^Astart HD 將在啟動的時候顯示出來的菜單中文或英文,中文需加載字庫,這里也可以直接按A來來選定這個菜單
定義A為熱鍵。
MENU DEFAULT 增加這個,本菜單將作為默認啟動項類似于grub4dos配置里的default 0
kernel chain.c32 hd0,1 啟動第一個硬盤第一個分區類似于grub4dos的chainloader +1
TEXT HELP 為菜單附加提示說明開始語句
加載SLAX子菜單中間內容
等等等
ENDTEXT 結束語句
LABEL menu
MENU LABEL backmenu
CONFIG /boot/syslinux/syslinux.cfg 菜單互相調用
--------------------------------------------------------------------------------
這些設置界面的邊框屬性而且用中文菜單有可能出現亂碼。
找不到資料,簡單起見還是自己用PS畫背景圖更快-_-!!!
1:37:40 分別為 1粗細 37寬40 高
#ffffffff #00000000 none 前景色和背景色 none關閉 all 顯示菜單框 std 字體陰影,#00000000 背景色透明必須#+8位,前景色可以為#+6位
menu color screen 37;40 #ffffffff #00000000 none 顯示出左邊框和上邊框
menu color border 30;44 #00000000 #00000000 none 定義邊框顏色
menu color title 1;36;44 #f01291a9 #00000000 none 定義MENU TITLE顏色
menu color unsel 37;44 #e01291a9 #00000000 none 定義菜單字體背景色
menu color hotkey 1;37;44 #e060CA00 #00000000 none 未選中熱鍵的顯示顏色
menu color hotsel 37;40 #9060CA00 #00000000 std 選中菜單當前熱鍵的背景顯示顏色
menu color sel 7;37;40 #e0712704 #20ff8000 all 選中菜單當前的背景顏色
menu color hotsel 1;7;37;40 #e0400000 #20ff8000 all 選中菜單當前熱鍵顏色
menu color disabled 1;30;44 #60cccccc #00000000 none 未知
menu color scrollbar 30;44 #40000000 #00000000 std 滾動條
menu color tabmsg 31;40 #9060CA00 #00000000 none 標簽
menu color cmdmark 1;36;40 #c000ffff #00000000 std
menu color cmdline 37;40 #c0ffffff #00000000 none tab菜單編輯模式字體顏色
menu color pwdborder 30;47 #80ffffff #20ffffff std
menu color pwdheader 31;47 #80ff8080 #20ffffff std
menu color pwdentry 30;47 #80ffffff #20ffffff std
menu color timeout_msg 37;40 #e060CA00 #00000000 none 進入界面倒計時提示文字顏色
menu color timeout 1;37;40 #f060CA00 #00000000 none 進入界面倒計時秒數顏色
menu color help 37;40 #c0ffffff #00000000 none 菜單提示字體顏色
menu color msg07 37;40 #90ffffff #00000000 none
--------------------------------------------------------------------------------
menu color screen 37;40 #00000000 #00000000 none
menu color border 30;44 #00000000 #00000000 none(必填項)
menu color title 1;36;44 #00000000 #00000000 none
上面這三條有關整個菜單外框,如第二條menu color border可設置背景圖片上的整個菜單外框的線條顏色,線條粗細,單線條或雙線條等,
還可設置為不顯示菜單外框。如果都用默認,對應的條文均可刪除,
MENU color border 0 #0000 #0000 none #邊框條隱藏
----------------------------------------------------------------------------------------------------------------
發現PXE引導菜單加“密碼”保護的辦法!
使用密碼的方法很簡單!
編輯pxelinux的default菜單
#從PXEBOOT引導
LABEL 10
MENU LABEL ^L----
MENU PASSWD wutao
kernel memdisk c=781 h=2 s=32 floppy
append initrd=pxeboot.zip
藍色那里就是密碼選項,我這里密碼是 wutao
現在還只學會設置明文密碼,
因為英語太差的緣故,像pxegrub那樣md5加密后存放還得研究研究!
有人說pxelinux跟pxegrub相比不支持實時輸入引導命令,那是錯誤的,
你只需在出現引導菜單時按TAB鍵就可以編輯命令行了!
但是這樣加密后 TAB鍵有效,所以不保險!所以我們要對TAB鍵也加密!
方法是
MENU PASSWD wutao
MENU MASTER PASSWD wutao
用MENU MASTER PASSWD再加多一個密碼
這樣就安全了!
其實你不用對每一個菜單加密,而是做一個加密了的前導菜單!
比如我這樣,先引導deafult然后輸入密碼,后去引導deafult1菜單!
加密明文密碼的方法:
deafult文件
LABEL Admin
MENU MASTER PASSWD $4$NTY1MzU0NTM1MDQ5$jqpA5Hy4ckgBlzn5QfyNZQH5sBA$
MENU PASSWD $4$NTY1MzU0NTM1MDQ5$jqpA5Hy4ckgBlzn5QfyNZQH5sBA$
LABEL mainmenu
MENU DEFAULT
MENU LABEL Main ^PXE Boot Menu
MENU PASSWD *************************
MENU PASSPROMPTThis Sub menu for linux booting Requires a Password:
KERNEL menu.c32
APPEND pxelinux.cfg/mainmenu.cfg
----------------------------------------------------------------------------------------------------------------
syslinux.exe參數中文說明:
/sfamr
其中/s表示使用類似安全模式的代碼,可以獲得更佳的兼容性
f表示強制寫入,這在寫入本地磁盤時必須使用,無論是寫MBR還是DBR都需要
a表示激活縮寫分區,這個如果磁盤分區沒激活的時候有用的
m表示寫入MBR,這就是樓主為什么直接用syslinux.exe命令無法啟動的原因了,用U+處理不過是寫入另外一個MBR,
但是該MBR能調用活動分區上的PBR,即syslinux來啟動,而直接用帶m的參數就可以免去這一步
還有一個參數d,可以使得ldlinux.sys文件生成到其他目錄,而不是再根目錄,這樣保持U盤清爽
這樣可以實現U盤根目錄下面只有一個boot目錄,但是卻可以包含非常多的內容,例如PE,各類IMG鏡像等
-d 引導安裝目錄可以這樣設:
實例:
syslinux -sfa -d /boot/syslinux x:
將syslinux引導代碼寫到分區PBR上自動在x盤boot/syslinux目錄生成ldlinux.sys
該說明文件從網上集整理
這篇文章有詳細介紹,《原創 isolinux 多重引導光盤鏡像制作》,鏈接地址:
http://www.cn-dos.net/forum/viewthread.php?tid=38205&fpage=1
另外范例:
地址:http://bbs.wuyou.com/viewthread.php?tid=131706&extra=&page=6
| 主菜單: QUOTE: PROMPT 0
QUOTE: hzpsf -e GREEK.F16 -z chs16 -c slax.psf -i slax_zh.cfg -o slax.cfg
QUOTE: PROMPT 0
附件 2008-12-14 08:50 s1.jpg (67.88 KB) 2008-12-14 08:42 s2.jpg (23.37 KB) |
實例2:
syslinux.cfg
=====================================================================
prompt 1
default 1
timeout 30
say (1) MSDOS & GRUB
say (2) GRUB
label 1
kernel /BOOT/memdisk.sys
append initrd=/BOOT/BOOT.GZ
label 2
kernel /BOOT/GRUB.EXE
append --config-file="configfile (fd2)/BOOT/menu.lst;configfile (fd1)/BOOT/menu.lst;configfile (fd0)/BOOT/menu.lst;configfile (hd0,0)/BOOT/menu.lst;configfile (hd1,0)/BOOT/menu.lst"
此種菜單顯示出來類似于win98的啟動菜單讓你選擇
實例3
Syslinux新子菜單介紹
syslinux中通過(vesa)menu.c32可以調用不同的子菜單
新的子菜單則采取一種嵌套格式,實現子菜單,樣例如下。
| Quote: | |
|
兩個新子菜單例子,不需要通過 kernel vesamenu.c32實現子菜單的方法。
將上面的例子插入syslinux.cfg pxelinux.cfg isolinux.cfg中就可以看到效果了。
紅色的字體是做此子菜單應該注意的地方。
效果圖:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
另外還有一種菜單形式 THE ADVANCED MENU SYSTEM
利用編譯后生成的simple.c32 和complex.c32來載入*.menu(另一種規則的cfg文件),
實現多重子菜單
效果圖:
-=====================================================================
syslinux.cfg 3.54 中文翻譯 0.01 版
本文只翻譯了 SYSLINUX 文檔 (http://syslinux.zytor.com/faq.php) 中 syslinux.cfg 的部分。而且其中與 syslinux.cfg 無關的小節有沒有翻譯。
由于本人才疏學淺,翻譯又很匆忙,其中錯誤不可避免,懇請各位指正。
本文歡迎轉載,請注明出處。http://blog.163.com/mygoqo@126/blog/static/358895952008120112542240/
SysLinux 所有的配置位于啟動盤根目錄下的文本文件 syslinux.cfg。自 3.35 版后,此配置文件也可以位于 /boot/syslinux 或 /syslinux 目錄下 (以此順序搜索)。此時,所有的文件名都假定相對于此目錄,除非在文件名前使用 / 或 \ 。
除非指明,所有選項適用于 SYSLINUX 以及 PXELINUX,ISOLINUX 和 EXTLINUX。
# comment
注釋行。# 后面的空格是必須的。
INCLUDE filename
在此處插入其他文件的內容。
DEFAULT kernel options...
設置默認的命令行。如果 SYSLINUX 自動啟動,就像在 "boot:" 提示符后輸入一樣執行 DEFAULT 后的內容。
如果不存在配置文件,或者文件中沒有 "DEFAULT" 項,默認 "linux auto"。
注意:SYSLINUX 的早期版本會自動在用戶定義的 DEFAULT 命令之后加上 "auto"。這在 1.54 版后被取消了,你應該自己添加。
APPEND options...
為內核命令行添加一或多個選項,在自動和手動引導中都有效。這些選項被添加到內核命令行的最前面,通常明確地允許被輸入的選項覆蓋。這與 LILO 的 "append" 選項相同。
IPAPPEND flag_val [PXELINUX only]
LABEL label
LABEL label
KERNEL image
APPEND options...
IPAPPEND flag_val [PXELINUX only]
表明如果 "label" 作為要引導的內核進入,其引導 "image" 和 指定的 APPEND 和 IPAPPEND 選項將取代配置文件中的全局 (在第一個 LABEL 命令之前) 命令。"image" 默認值與 "label" 相同,而且如果沒有定義 APPEND,則使用全局命令 (如果存在)。
自 2.20 版后,LABEL 聲明被內部壓縮,因此 LABEL 聲明的最大數量依賴于其復雜性,典型地是大概 600。如果 label 的內存溢出,SYSLINUX 將打印出錯信息。
注意 LILO 使用語法:
image = mykernel
label = mylabel
append = "myoptions"
而 SYSLINUX 語法:
label mylabel
kernel mykernel
append myoptions
注意,"kernel" 并不一定是 Linux 內核,可以是引導扇區或 COMBOOT 文件。
3.32 版后,SYSLINUX 的 label 名不再限制為 DOS 格式。
LINUX image Linux kernel image (default)
BOOT image Bootstrap program (.bs, .bin)
BSS image BSS image (.bss)
PXE image PXE Network Bootstrap Program (.0)
FDIMAGE image Floppy disk image (.img)
COMBOOT image COMBOOT program (.com, .cbt)
COM32 image COM32 program (.c32)
CONFIG image New configuration file
使用這些關鍵字之一而不是 KERNEL 強制文件類型,與文件名無關。
CONFIG 表示使用另外一個配置文件重啟引導器。
APPEND -
不附加任何命令,在一個 LABEL 節內可以用來覆蓋全局 APPEND。
LOCALBOOT type [ISOLINUX, PXELINUX]
IMPLICIT flag_val
如果 flag_val 為 0,除非在 LABEL 聲明中明確指定,不會裝載內核。
默認值是 1。
ALLOWOPTIONS flag_val
如果 flag_val 為 0,在內核命令行中用戶不能指定任何參數,只有 APPEND 聲明中指定的選項能夠識別。
默認是 1。
TIMEOUT timeout
引導前在 boot: 提示符等待的時間,單位是 1/10 s。用戶的鍵盤輸入將取消計時。
默認值是 0,無限等待。
TOTALTIMEOUT timeout
不會被用戶的輸入取消,用于處理串口故障或類似 "用戶離開" 的狀況。
默認值是 0。
# 等待 5 s 除非用戶輸入,但 15 m 后一定啟動
TIMEOUT 50
TOTALTIMEOUT 9000
ONTIMEOUT kernel options...
timeout 后調用的命令。一般與 DEFAULT 調用相同。如果指定,DEFAULT 只用于用戶按 <Enter> 啟動時。
ONERROR kernel options...
如果一個內核映像沒有找到 (不存在或設置了 IMPLICIT),運行指定的命令。
如果 ONERROR 指令是:
ONERROR xyzzy plugh
用戶輸入的命令行:
foo bar baz
SYSLINUX 將執行:
xyzzy plugh foo bar baz
SERIAL port baudrate] flowcontrol]
打開一個串口作為控制臺。
CONSOLE flag_val
flag_val 為 0,禁止輸出到普通視頻終端。
flag_val 為 1,允許輸出到視頻終端 (默認值)。
FONT filename
在顯示任何輸出之前,裝載 .psf 格式的字體 (除了版權行)。SYSLINUX 只裝載字體到顯卡。忽略 .psf 文件包含的 Unicode 表。只在 EGA 和 VGA 卡工作。
KBDMAP keymap
裝載一個簡單的鍵盤映射。
DISPLAY filename
啟動時顯示 filename 文件內容 (在 boot: 提示符之前)。參見下面的 DISPLAY files。
SAY message
在屏幕上打印 message 消息。
PROMPT flag_val
如果 flag_val 為 0,只在按下了 Shift 或 Alt 鍵,或 Caps Lock 或 Scroll lock 打開時顯示 boot: 提示符 (默認值)。
如果為 1,總是顯示 boot: 提示符。
NOESCAPE flag_val
如果 flag_val 為 1,忽略 Shift/Alt/Caps Lock/Scroll Lock。結合 PROMPT 0,強制替換默認引導。
Fn
F1 filename
F2 filename
...etc...
F9 filename
F10 filename
F11 filename
F11 filename
在 boot: 提示符下按功能鍵顯示相應文件。可用于實現引導前在線幫助。見下文 DISPLAY files。
使用串行控制臺時,按 <Ctrl-F><digit>。如 <Ctrl-F><2> => F2;<Ctrl-F><A>, <Ctrl-F>B, <Ctrl-F>C 分別為 F10-F12。為與早期版本兼容,F10 也可以被輸入為 <Ctrl-F>0。
空行將被忽略。
顯示文件格式
DISPLAY 和 功能鍵幫助文件是文本文件。以下代碼會被解釋:
<FF>
<FF> = <Ctrl-L> = ASCII 12
清屏,重置光標。注意屏幕被當前顯示色填充。
<SI><bg><fg>
<SI> = <Ctrl-O> = ASCII 15
設置顯示的背景和前景色。
0 = black 8 = dark grey
1 = dark blue 9 = bright blue
2 = dark green a = bright green
3 = dark cyan b = bright cyan
4 = dark red c = bright red
5 = dark purple d = bright purple
6 = brown e = yellow
7 = light grey f = white
選擇亮色 (8-f) 為背景色,導致前景中相應的暗色 (0-7) 閃爍。
在串行控制臺顏色不可見。
<CAN>filename<newline>
<CAN> = <Ctrl-X> = ASCII 24
如果當前是 VGA 顯示,進入圖形模式并顯示指定的圖形文件。文件是 ad hoc 格式,稱為 LSS16。所包含的 Perl 程序 "ppmtolss16" 可用于生成這樣的文件。
此文件顯示為 640x480 16 色模式。一旦進入圖形模式,顯示特性 (由 <SI> 指定) 略有不同:背景色被忽略,前景色是圖像文件中指定的 16 種顏色。因此,ppmtolss16 允許你指定顏色索引。
特別地,顏色索引 0 和 7 應該注意選擇:0 是背景色,7 是 SYSLINUX 自身打印文字的顏色。
<EM>
<EM> = <Ctrl-Y> = ASCII 25
如果當前是圖形模式,返回文本模式。
<DLE>..<ETB>
<Ctrl-P>..<Ctrl-W> = ASCII 16-23
這些代碼可用于選擇那種模式會打印到消息文件的某個部分。任一控制字符選擇特定的實際輸出模式 (文本屏幕、圖形屏幕、串口)。
例如:
<DC1>Text mode<DC2>Graphics mode<DC4>Serial port<ETB>
將以控制臺輸入模式輸出。
<SUB>
<SUB> = <Ctrl-Z> = ASCII 26
文件終止 (DOS) 慣例。
<BEL>
<BEL> = <Ctrl-G> = ASCII 7
響鈴。
命令行按鍵
命令行支持以下按鍵:
<Enter> boot specified command line
<BackSpace> erase one character
<Ctrl-U> erase the whole line
<Ctrl-V> display the current SYSLINUX version
<Ctrl-W> erase one word
<Ctrl-X> force text mode
<F1>..<F10> help screens (if configured)
<Ctrl-F><digit> equivalent to F1..F10
<Ctrl-C> interrupt boot in progress
<Esc> interrupt boot in progress
總結
以上是生活随笔為你收集整理的Syslinux引导文件名与菜单解释的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 东坡园游记
- 下一篇: 飞鸽传书2011帮助文档