|
经过N次N天的努力,终于在昨天成功的使用USB 2.0启动WINPE了,启动时间从原来的3分钟缩短到半分钟左右
先介绍一下背景:
我的主板是ASROCK KT333芯片的,不支持USB 2.0启动,但支持在WINXP中使用USB 2.0,每次使用U盘启动系统,都非常的慢
我的U盘,是Kingston 1G (假冒的金士顿啊,在淘宝买的,被人扩容后当2G卖给我了,汗)
参考文章:“开始懂了”的USB CDROM PE (可搜索本坛)
基本方法:使用syslinux将U盘引导,然后转入GRUB引导,再用GRUB启动DOS镜像,在镜像中加载USB 2.0驱动,拷入PE所需文件到虚拟的A盘中,再用GRUB将A盘中的WINPE启动
操作过程:
1、使用量产工具将U盘重新量产为USB-ZIP
2、下载syslinux 3.72,运行 syslinux.exe J: 将U盘引导(会在U盘根目录下生成一个 ldlinux.sys的文件,不能删除掉)
3、在U盘根目录下编辑生成 syslinux.cfg 文件,内容如下
default 1
timeout 0
label 1
kernel /BOOT/GRUB.EXE
append --config-file="configfile (fd0)/BOOT/menu.lst"
4、在U盘根目录下建立一个boot文件夹,里边放入 grub.exe 和 xxcopy16.exe
5、在boot文件夹下生成menu.lst,主要内容如下
color black/cyan yellow/cyan
timeout 30
default /default
title 0. WinPE (Normal Boot)
chainloader /WXPE/SETUPLDR.BIN
title 1. WinPE (Run USB 2.0 Driver First)
map --mem /boot/dos2pe.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
boot
6、在boot文件夹下用winimage生成dos2pe.img,大小是28M(c=800 h=2 s=36)
文件清单如下
command.com
io.sys
himem.sys
xmsdsk.exe
config.sys
autoexec.bat
并建立sys目录,在sys目录下放置下列文件 usbaspi.sys aspidisk.sys dynaload.com usb20.bat
config.sys文件内容如下:
device=himem.sys /testmem:off
dos=high,umb
files=10
buffers=10
stacks=9,256
lastdrive=z
autoexec.bat文件内容如下
@echo off
xmsdsk 1024 R: /y
copy a:\command.com r: >nul
SET COMSPEC=R:\COMMAND.COM
copy a:\sys\*.* r: >nul
R:
call USB20.BAT
usb20.bat文件内容如下
@echo off
dynaload USBASPI.SYS /v /e /norst
dynaload ASPIDISK.SYS
For %%G In (Z Y X W V U T S R Q P O N M L K J I H G F E D C) Do If Exist %%G:\winpe.is_ Set UPAN=%%G:
If "%UPAN%"=="" goto err
A:
copy %UPAN%\boot\xxcopy16.exe a:\
xxcopy16 %UPAN%\wxpe\NTDETECT.com a:\
md a:\wxpe
xxcopy16 %UPAN%\wxpe\*.* a:\wxpe
xxcopy16 %UPAN%\WINNT.XPE a:\
xxcopy16 %UPAN%\winpe.is_ a:\
xxcopy16 %UPAN%\boot\grub.exe a:\
grub.exe --config-file="rootnoverify (fd0);chainloader (fd0)/wxpe/setupldr.bin"
goto end
:err
echo No Usb Disk or Not Exist winpe.is_
goto end
:end
7、将PE文件按原来的结构放入U盘中
\wxpe\NTDETECT.com
\wxpe\SETUPLDR.bin
\NTDETECT.com
\WINNT.XPE
\winpe.is_
8、测试U盘启动PE成功
--------------------
主要说明:
1、使用syslinux作为U盘主引导,而不是直接使用grub,是因为经过多次试验,使用syslinux引导U盘最快,大约1秒钟syslinux就可以引导成功,而使用 bootlace --floppy --chs 0x00将GRUB写入U盘
MRB并配合GRLDR引导的时候,U盘在没有任何信息的情况下(U盘灯亮,说明在查找文件或是信息)大约要30秒才能进入GRUB的引导界面,而syslinux引导成功后再转入grub,大约10秒钟就够了
2、使用开始懂了的dos2pe.img,不能在我这里引导USB 2.0 PE成功,都在拷贝 winpe.is_到虚拟A盘的时候死机了,经过多次实验,直接用copy命令拷文件必定假死,而我用VC(一个DOS工具,类似TC)
来拷贝文件,却非常正常,最后找到一个叫 xxcopy16.exe 2.93版的工具,拷贝winpe.is_ 成功了
3、把USB2.0的驱动用 dynaload.com 来加载而不是放在config.sys中加载,以及先拷贝到xmsdsk.exe建立的虚拟盘中再加载,是多次实验的结果
1)直接在config.sys中加载,会在拷贝PE所在文件成功后用GRUB引导WINPE启动的时候死机,报 hall****出错
2)不将USB2.0驱动拷入XMSDSK.EXE建立的虚拟盘中而是直接放在A盘中用dynaload加载,同样在拷贝PE所在文件成功后用GRUB引导WINPE启动的时候死机,报 hall****出错
4、不使用syslinux直接引导dos2pe.img而是 syslinux——grub——dos2pe.img,是因为发现使用syslinux引导的dos2pe.img虚拟成的A盘,不能往里边拷文件,一拷文件就报“扇区读写错误”,用
syslinux启动dos2pe.img写入正确的 C/H/S参数依然如此。但syslinux对1.44M的标准盘镜像引导后却是可写的。再测试grub memdisk 引导的大软盘镜像也写不进文件
5、本次成功,有两个关键文件,xmsdsk.exe 和 xxcopy16.exe
------------------
请求帮助:
1、如何安装GRUB到U盘的MBR可以让它与syslinux一样的快速启动,而不需等待30秒,请各位高手指点。
2、如何使用syslinux可以引导大的软盘镜像后可拷入文件,也请各位高手指点。
如果上面两个问题有一个解决,我就可以少一个启动过程了,不用象现在一样使用5步(syslinux -> grub -> dos2pe ->grub -> winpe),那样的话,估计启动速度能提高几秒钟,启动的通用性估计也会
更强。
---------------
将我制作成功的文件放到网上,让我的经验与大家一起分享
不过我感觉U盘的区别很大,可能在我这里成功的,别人那里不一定能行,就象开始懂了的引导镜像,在我这里不行是同样的道理
U盘所有文件下载地址:需要迅雷下载,否则可能提示盗链
电信 http://download.ctc.cniso.org/cn/OS/U20PE.RAR
网通 http://download.cnc.cniso.org/cn/OS/U20PE.RAR
syslinux因为文件较小,就传到本贴附件了
[ 本帖最后由 星语风 于 2008-12-7 23:16 编辑 ] |
|