【转】利用syslinux制作Dos、WinPE、Slax Linux集成u盘
【轉(zhuǎn)自】http://blog.sina.com.cn/s/blog_4fb009a90100c7ze.html
利用syslinux制作Dos、WinPE、Slax Linux集成的口袋操作系統(tǒng)
一、概述
U盤的價格越來越便宜,容量也越來越大,攜帶也方便,在工作中可以把一些自己常用的工具整和到里面,在電腦維護方面使用比較方便。
二、系統(tǒng)的選擇
1、dos系統(tǒng)
目前在dos工具盤比較多,常見有MS-DOS 7.1,深山紅葉DOS工具盤、MaxDos、矮人dos工具盤、超普DOS工具盤等,在制作中可以根據(jù)自己喜歡,選擇相應的dos系統(tǒng)工具盤,我選擇的MaxDos 7.1,里面有許多有用的工具,比如ghost 、pq、windows密碼破解等。
2、WinPE系統(tǒng)
網(wǎng)上提供WinPE系統(tǒng)基本都是修改至老毛桃的WinPE,主要有老九WinPE 老毛桃修改之撒手不管版、深山紅葉WINPE工具箱、、金手指快速裝機U盤版、通用PE工具箱、完美者U盤WinPE維護系統(tǒng)、晨楓U盤維護等,為了使集成時修改最少,這里選擇晨楓U盤維護版。
3、Windows 故障恢復控制臺
Windows 故障恢復控制臺的功能是幫助基于 Windows 的計算機在未正確啟動或根本無法啟動時進行恢復操作。這里選擇網(wǎng)上的光盤上運行的基于Ramdisk的恢復控制臺。
4、Linux
U盤上的Linux比較多,比如Damn Small Linux、Slax Linux、puppy linux、Ubuntu等選擇體積比較小的,功能比較完備的,這里選擇Slax。
5、口袋操作系統(tǒng)
主要有ceedo、mojopac和PortableApps Suite,根據(jù)自己的愛好去選擇,我從使用習慣和功能上在這里選了ceedo。
三、u盤啟動引導程序的選擇
任何一個操作系統(tǒng)在任何一個硬件平臺上運行都需要一個引導的過程,起著初始化軟件環(huán)境、把內(nèi)核從存儲介質(zhì)放到內(nèi)存當中去,并開始運行的作用。引導程序上承 BIOS,下接內(nèi)核的初始化代碼,雖然開一次機只運行一次后就不留痕跡了,但相當?shù)闹匾?/p>
可對u 盤引導的引導程序主要有IO、NTLDR、syslinux、Grub等,她們各有特點,從兼容性考慮,我選擇了syslinux。syslinux是專門用來引導可移動介質(zhì)的輕量級引導程序,支持initrd功能,initrd = init ramdisk,就是在啟動時使用的一個內(nèi)存虛擬磁盤,提高了對廣泛的硬件支持性。
四、軟件清單與說明
1、syslinux-3.73
Syslinux系統(tǒng)文件,可以到下面地址下載:
http://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-3.73.zip
相關(guān)安裝教程:
http://syslinux.zytor.com/wiki/index.php/SYSLINUX
2、HP優(yōu)盤格式化工具
HP優(yōu)盤格式化工具是用來對u盤進行格式化的工具,也可以直接進行做io的啟動u盤??梢缘较旅娴刂废螺d:
http://www.xdowns.com/soft/6/7/2007/Soft_35477.html
3、GDParam
GDParam這個工具可以方便得獲取 PC 虛擬啟動當中所需要的磁盤鏡像文件的c/h/s 參數(shù)。在用syslinux啟動dos的磁盤鏡像時需要指定c/h/s 參數(shù)。可以到下面地址下載:
http://www.05sun.com/downinfo/5089.html
4、WinImage
用來創(chuàng)建和修改磁盤鏡像的軟件,你可以自己創(chuàng)建或者修改dos的磁盤鏡像??梢缘较旅娴刂废螺d:
http://www.crsky.com/soft/281.html
5、UltraISO
UltraISO軟碟通是一款光盤映像ISO文件編輯制作工具,它可以圖形化地從光盤、硬盤制作和編輯ISO文件??梢詫ο螺d得到的winpe或者slax光盤映像進行修改。可以到下面地址下載:
http://www.crsky.com/soft/1134.html
6、WinHex
Winhex是在Windows下運行的十六進制編輯軟件,在對winpe進行安裝文件修改等方面需要的工具??梢缘较旅娴刂废螺d:
http://www.orsoon.com/Soft/4921.html
7、XCAB
XCAB能調(diào)用系統(tǒng)的makecab.exe文件,把文件加或目錄壓縮為CAB,特別支持為 XCMD DEVI 生成 CAB,在對winpe進行修改打包時用到??梢缘较旅娴刂废螺d:
http://bbs.wuyou.net/attachment.php?aid=14397
8、WimTool
WimTool可以對Wim格式文件進行進行操作處理,在修改winpe的外置程序包時必須用的。可以到下面地址下載:
http://www.newasp.net/soft/app/26726.html
9、MaxDOS 7.1 集成 GHOST 11.5 PQ、DM、光盤啟動版
電信下載 http://pzz.cn/soft/MaxDOS_71plus_iso.rar
網(wǎng)通下載 http://c.pzz.cn/soft/MaxDOS_71plus_iso.rar
10、Windows 故障恢復控制臺
http://www.xdowns.com/soft/6/boot/2006/soft_32527.html
11、晨楓U盤維護V2.0_512M版
http://www.rayfile.com/zh-cn/files/5731196e-e314-11dd-85f0-0019d11a795f/
12、slax 6.0.9
ftp://ftp.slax.org/SLAX-6.x/slax-6.0.9.iso
13、Loadbin
http://download.gna.org/grubutil/makerom-0.1-bin-w32-2008-01-01.zip
14、ceedo
http://www.myfiles.com.cn/soft/5/5224.htm
五、安裝 SYSLINUX
1、把u盤格式化,采用fat32格式。你可以用windows或者HP優(yōu)盤格式化工具進行。
2、在u盤的根創(chuàng)建boot文件夾,在boot下創(chuàng)建syslinux子文件夾
3、把下載得到的syslinux-3.73.zip解壓縮到syslinux-3.73文件夾,在其中的win32下有syslinux.exe文件。拷貝syslinux.exe到你u盤的/boot/syslinux文件夾下
4、打開命令行,切換到u盤根目錄,進入/boot/syslinux文件夾,執(zhí)行syslinux.exe,假設(shè)你的u盤的盤符為j:
在命令行下依次運行下列命令:
C:\Documents and Settings\xxxxx> J:
J:\>Cd boot/syslinux
J:\boot\syslinux> syslinux.exe -ma -d /boot/syslinux j:
其中 -d /boot/syslinux是把命令生成的啟動系統(tǒng)文件ldlinux.sys放到/boot/syslinux目錄,可以從該目錄尋找syslinux.cfg配置文件。
六、配置啟動菜單
拷貝syslinux系統(tǒng)文件
啟動菜單的配置都在syslinux.cfg文件中。需要幾個syslinux文件:
memdisk 引導IMG鏡像的文件
vesamenu.c32 二種窗口模塊之一
menu.c32 二種窗口模塊之一
chain.c32 指定分區(qū)啟動 如:chain.c32 hd0,1 (或chain.c32 hd1,1)
reboot.c32 重新啟動計算機
在解壓縮的syslinux-3.73文件夾中搜索以上就幾個文件依次拷貝到u盤的/boot/syslinux文件夾下。
七、dos系統(tǒng)的配置
1、在u盤的根建立dos文件夾
2、制作dos映像文件
(1)從網(wǎng)上下載得到的MaxDOS_71plus_iso.rar解壓縮得到maxdos_71plus_iso.iso文件
(2)用UltraISO打開maxdos_71plus_iso.iso提取出光盤映像maxdos文件夾下的maxs.sys文件。
(3)把maxs.sys改名為maxs.gz,用winrar打開把其中的maxdos.exe解出。
(4)然后把maxdos.exe 改名為maxdos.img
(5)你自己可用WinImage進行對maxdos.img文件進行簡單的修改,加入你自己的doas應用程序。
(6)把修改后的MaxDOS.img復制到u盤的dos文件夾下。
3、取得img文件的CHS參數(shù)
syslinux支持gzip或zip壓縮格式的磁盤映像,但memdisk自身不能壓縮,memdisk支持標準floppy鏡像直接啟動,非標準(容量大于2880K的)要附加CHS參數(shù)。我們可以用GDParam取得img文件的CHS參數(shù)。記下c/h/s=555/2/18
4、修改SYSLINUX.CFG
打開u盤/boot/syslinux下的SYSLINUX.CFG文件,在里面添加形如下的內(nèi)容:
LABEL MaxDOS
MENU LABEL Max DOS V7.1
kernel /boot/syslinux/memdisk c=555 h=2 s=18 floppy
append initrd=/dos/MaxDOS.img
八、slax系統(tǒng)的配置
1、把下載得到的slax-6.0.9.iso用UltraISO打開,完全提取出來放在slax-6.0.9文件夾下。
2、把其中的slax文件夾包含子文件復制到u盤的根目錄。
3、把slax-6.0.9/boot文件夾下的linuz、initrd.gz兩文件拷貝到u盤的boot文件下。
4、打開slax-6.0.9/boot文件夾中的slax.cfg文件,復制其中的:
LABEL xconf
MENU LABEL Slax Graphics mode (KDE)
kernel /boot/vmlinuz
append initrd=/boot/initrdch.gz ramdisk_size=6666 root=/dev/ram0 rw autoexec=xconf;telinit~4 changes=/slax/ locale=CHS.UTF-8
5、把復制的上面內(nèi)容貼人u盤/boot/syslinux下的SYSLINUX.CFG文件
九、winpe的配置
1、解壓縮下載得到的晨楓U盤維護V2.0_512M版.rar到任意一文件夾。
2、在u盤根新建winpe文件夾。
3、修改winpe OEM信息
解壓縮得到的MyFeng/Boot下的WinPE.is_改為WinPE.cab,用winrar打開解壓出WinPE.iso,用UltraISO打開,提取出\WXPE\SYSTEM32下的oeminfo.ini和OEMLOGO.bmp進行修改,導入替換掉就可以了,保持iso文件,把新得到的iso文件用xcab軟件重新進行打包,得到WinPE.cab,再把WinPE.cab改為WinPE.is_ 。
4、修改winpe外置程序包
解壓縮解壓縮得到的MyFeng/Boot下的OP.WIM用WimTool解開,然后你可以替換桌面背景圖片,加入或者刪除一些程序,然后再用WimTool打包成OP.WIM
5、把處理完的OP.WIM、WinPE.is_文件拷貝到u盤的winpe文件夾。
6、打開MyFeng/Boot下的winpe.ini修改其中的關(guān)于OP.WIM位置的代碼,你也可以修改其他的鏈接。修改如下。
MOUN %CurDrv%\winpe\OP.WIM,Y:\外置程序,1
保存,然后拷貝到u盤的boot文件夾下。
7、拷貝MyFeng/Boot下的ldrxpe、fon.bin、ntd.com到u盤的boot文件夾下。
8、用記事本修改MyFeng/Boot下的xpsi文件中的WinPE.IS_路徑為:
OsLoadOptions="/minint /fastdetect /rdexportascd /rdpath=winpe\WinPE.IS_"
保持,然后拷貝到u盤的boot文件夾下。
9、解壓縮下載得到的loadbin-0.1-bin-w32-2008-03-01.zip,把其中的ldntldr.bin改名為ldntldr,然后拷貝到u盤的boot文件夾下。
10、打開u 盤boot/syslinux下的SYSLINUX.CFG文件,在其中加入下面內(nèi)容:
LABEL WinPE
MENU LABEL Lite Win PE
kernel /boot/ldntldr
append initrd=/boot/ldrxpe
十、Windows 故障恢復控制臺
1、在u盤根建立comcns文件夾
2、解壓縮下載得到的base_ramdisk.rar文件到base_ramdisk文件夾
3、用UltraISO打開base_ramdisk下的光盤上運行的基于Ramdisk的恢復控制臺.iso文件,把其根目錄下的CMDCONS.IS_、WINNT.SIF,提取出來,再把其i386下的SETUPLDR.BIN也提取出來。
4、拷貝CMDCONS.IS_到u盤的comcns文件夾
5、用記事本打開WINNT.SIF文件,把其中修改為:
[SetupData]
BootDevice = "ramdisk(0)"
BootPath = "\i386\"
OsLoadOptions = "/noguiboot /fastdetect /rdexportascd /rdpath=comcns\cmdcons.is_"
然后保存。
6、把修改后的WINNT.SIF文件改名為cnsi,并復制到u 盤boot/下。
7、用WinHex打開SETUPLDR.BIN
(1)查找替換,把NTDETECT.COM替換為boot\ntd.com,共4處,替換前2處就可。
(2)查找替換,WINNT.SIF替換為boot\cnsi。全部替換,共9處。
(3)保存SETUPLDR.BIN文件。
8、把SETUPLDR.BIN改名為ldrcmdcon,并復制到u 盤boot/下。
9、打開u 盤boot/syslinux下的SYSLINUX.CFG文件,在其中加入下面內(nèi)容:
LABEL Cmdcons
MENU LABEL Cmd cons
kernel /boot/ldntldr
append initrd=/boot/ldrcmdcon
十一、安裝Ceedo
把下載得到的Ceedo安裝到你的u盤,然后進行配置。
十二、U盤的目錄結(jié)構(gòu)和啟動配置文件
1、根目錄
|---boot----|--syslinux--| sysinux.cfg
|---dos
|---slax
|---comcns
|---winpe
|---Ceedo
|---My Documents
2、SYSLINUX.CFG文件內(nèi)容:
prompt 1
timeout 100
default vesamenu.c32
MENU BACKGROUND back.png
F1 readme.txt
F2 syslinux.cfg
MENU WIDTH 36
MENU MARGIN 0
MENU ROWS 8
MENU HELPMSGROW 14
MENU TIMEOUTROW 22
MENU TABMSGROW 24
MENU CMDLINEROW 24
MENU HSHIFT 40
MENU VSHIFT 2
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 unsel 37;44 #ff60CA00 #00000000 none
menu color hotkey 1;37;44 #ff60CA00 #00000000 none
menu color sel 7;37;40 #ffffffff #ff60CA00 none
menu color hotsel 1;7;37;40 #ff808080 #ff60CA00 none
menu color scrollbar 30;44 #00000000 #00000000 none
menu color tabmsg 31;40 #aaaaaaaa #00000000 none
menu color cmdmark 1;36;40 #ffff0000 #00000000 none
menu color cmdline 37;40 #aaaaaaaa #00000000 none
menu color pwdborder 30;47 #ffff0000 #00000000 std
menu color pwdheader 31;47 #ffff0000 #00000000 std
menu color pwdentry 30;47 #ffff0000 #00000000 std
menu color timeout_msg 37;40 #aaaaaaaa #00000000 none
menu color timeout 1;37;40 #ffaaaaff #00000000 none
menu color help 37;40 #aaaaaa00 #00000000 none
menu color msg07 37;40 #90ffffff #00000000 std
MENU TITLE Jinjun's Tools Disk
LABEL MaxDOS
MENU LABEL Max DOS V7.1
kernel /boot/syslinux/memdisk c=555 h=2 s=18 floppy
append initrd=/dos/MaxDOS.img
TEXT HELP
More about currently selected:
Run Max DOS V7.1
ENDTEXT
LABEL WinPE
MENU LABEL Lite Win PE
kernel /boot/ldntldr
append initrd=/boot/ldrxpe
TEXT HELP
More about currently selected:
Run Lite Win PE.
ENDTEXT
LABEL xconf
MENU LABEL Slax Graphics mode (KDE)
kernel /boot/vmlinuz
append initrd=/boot/initrdch.gz ramdisk_size=6666 root=/dev/ram0 rw autoexec=xconf;telinit~4 changes=/slax/ locale=CHS.UTF-8
TEXT HELP
More about currently selected:
Run Slax the best way we can.
ENDTEXT
LABEL Cmdcons
MENU LABEL Cmd cons
kernel /boot/ldntldr
append initrd=/boot/ldrcmdcon
TEXT HELP
More about currently selected:
Boot System of cmdcon.
ENDTEXT
LABEL boothd
MENU LABEL Boot System of HD1
kernel /boot/syslinux/chain.c32
append hd1
TEXT HELP
More about currently selected:
Boot System of HD1.
ENDTEXT
LABEL boothd
MENU LABEL Boot System of HD2
kernel /boot/syslinux/chain.c32
append hd2
TEXT HELP
More about currently selected:
Boot System of HD2.
ENDTEXT
LABEL reboot
MENU LABEL Reboot
kernel /boot/syslinux/reboot.c32
TEXT HELP
More about currently selected:
reboot.
ENDTEXT
十三、使用
在使用中你可以把啟動順序設(shè)置u-hdd方式優(yōu)先。歡迎大家進行交流。
總結(jié)
以上是生活随笔為你收集整理的【转】利用syslinux制作Dos、WinPE、Slax Linux集成u盘的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么是TypeScript的字符串索引签
- 下一篇: TypeScript里的interfac