大红袍互助资金盘:U盘启动PE起码要10分钟,怎么办?

来源:百度文库 编辑:中财网 时间:2024/05/09 10:55:05
U盘启动PE起码要10分钟,怎么办?

  本人办公用的电脑是845GL的,有USBHDD启动项,也可以做成U盘启动PE,开始以为PE启动不了,后来看到读写指示灯不停地闪,应该在读,等吃了一餐饭回来,哎,你还别说,进去了!后来作了统计启动时间大概要12分钟。镜像为37M,因此推断U盘的加载速度大体为3M/分,真是不堪忍受!
  845的板子Windows 下U盘读写速度也不慢,说明还是支持2.0的,大体上是bios不支持吧,如果在DOS中先将其驱动再进PE应该是可行的。上网一搜,真还有人做成了,无忧启动论坛hytmtet网友有启动方法和做好的文件。载下后赶快试,还是不成功,经一步一步查原因是因为使用DI1000DD.SYS来出U盘的不兼容,换成aspidisk.sys盘是出来了,但后续命令又出错,U盘启动又特别费时间,U盘启动又不能在虚拟机中调试,非得一遍一遍重启机器不行,人都搞毛了。于是脾气也上来了,干脆花点时间彻底搞好。也写了个小程序,经两日的安装调试,终于能够在不到1分钟内进PE了。不敢独享,提出来让大家省点时间。 做法是:

1、先做好U盘能启动PE,不会做U盘启动者参看本人的另一帖:5秒内完成U盘PE或DOS安装

2、将下述这个文件下下来后,放到\boot\usb20\下,文件名usb40.gz。
40M启动软盘镜像
usb40.part1.rar
usb40.part2.rar
usb40.part3.rar

3、再在U盘根目录下的meu.lst中加入如下内容:

title WinPE工具(USB20预安装版,老机适用)
find --set-root /boot/usb20/usb40.gz
map --mem /boot/usb20/usb40.gz (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

4、在U盘的minipe下放入如下文件并运行它,或者直接将硬盘中安装的毛桃的0911PE拷入本目录下进行测试。
改PE内容的批处理
get_pe.rar请放到U盘的minipe下运行。(注意查看PE文件,看指定的镜像的路径是否正确,不正确的请直接用记事本修改)
出现以下拷贝文件过程,一般来讲就是成功的,看拷贝镜像的速度就知道,如果是支持2.0的U盘,加载起来比以前快了10倍都不止。
自编程序准备PE文件的进度显示

另外,有人说(如neo4026)845GL不支持usb20,这种说法是不对的,845GL是绝对支持2.0的,否则不可能有这么大的速度提升,以下是XP的设备管理中明明是有2.0的。
845GL设备管理中的USB20



补充:很多网友对技术无兴趣,想用现成的,花了几天时间做了一个大家伙,可以到
http://os.deepin.org/read.php?tid=677913去查看

(对技术无兴趣的,请跳过红色字内容)

一、具体思路(这个可不是原创,感谢hytmtet网友,本来想原创,无奈人家已经先原创了)
1、用grub菜单方式启动一个30~50M的DOS镜像,进DOS
2、在纯DOS中用usbaspi.sys和aspidisk.sys驱动USB20
3、找到U盘,将PE启动文件拷贝到上述的DOS镜像A盘
4、再从A盘用grub.exe调用PE的装载程序启动PE。

二、PE的启动过程
下面以0911为准讲一下Pe的启动过程:
系统启动控制转入装载器ldrxpe->ldrxpe查找\minpe\pe文件获得启动镜像―>载入启动镜像启动PE。
以上关键的一点就是ldrxpe中指定了配置文件PE的位置,只要用ultraedit找到minipe\pe,如将之改为mini\pepe,那么启动时就会找mini下的pepe文件,再把ldrxpe改个名称如myldr等,就在配置文件中指定不同的镜像来启动不同的PE了。

三、一些预先约定
鉴于装载器名称和配置文件名称和位置都是可以改的,所以各种PE安装目录和装载器名称五法八门,有的文件还会因位置重叠而在安装时互相覆盖。我列了一个表格,大家看看它们将目录搞得如何杂乱:
版本装载器镜像名称及位置装载配置文件名称和位置winpe.ini文件名称和位置0418\ldrxpe \maotao\wxpe.is_\winnt.xpe \ 0911\ldrxpe \minipe\wxpe.is_\minipe\pe \minipe\小小强1.3\zjqpe \wxpe\wxpe.im_\wxpe\pe.x\wxpe\ Deepinpe_v2 \ldrxpe \maotao\wxpe.im_\winnt.xpe \extra\


基于简单和规范的原则也为了后续的工作能够增加通用性,先作些约定很有必要:

1、统一以毛桃的0911为准,约定Winpe配置文件和U盘标志文件位于U盘\MiniPE下,文件名为“PE”,启动其他的PE均可通过修改这个文件来实现,这是一个文本文件,语法也很简单。

如小小强的PE如下:

[SetupData]
BootDevice="ramdisk(0)"
BootPath="\WXPE\SYSTEM32\"
OsLoadOptions="/minint /fastdetect /rdpath=WXPE\WINPE.IM_"

毛桃0911如下:
[SetupData]
BootDevice="ramdisk(0)"
BootPath="\WXPE\SYSTEM32\"
OsLoadOptions="/minint /fastdetect /rdexportascd /rdpath=MINIPE\WinPE.IS_"

只要修改其中最后一行,有些是加rdexportascd参数的,大概意思就是作为CD镜像,不加代表作软盘镜像(我没有仔细查阅相关资料)。
等号后面的就是指定镜像的位置,只要改动这两个参数就可启动多种PE。

2、统一使用0911的ldrxpe来作为装载器,即约定在驱动USB20后,统一由grub.exe链式装入毛桃0911的ldrxpe来启动。

3、无论任何情况,均将PE的设置文件即Winpe.ini与其镜像文件放在一起。
基于以上3条,其他各种版本的PE均可以不用安装,将相关文件(主要是系统镜像、外置程序、WinPE.ini文件)拷贝到U盘或硬盘即可。这样使各种PE可以共存于一个盘,且使启动文件变得清爽,也不易搞错。

三 先装载USB20驱动再进PE的实现

有了上述三条约定,我们做启动就方便多了:

1、做一个40M的软盘DOS启动镜像,只要himem、io.sys、command.com、config.sys、autoexec.bat、usbaspi.sys、aspidisk.sys文件,将毛桃0911的ldrxpe文件拷入镜像,再在镜像中建一个MiniPE目录,并将毛桃0911的MiniPE下的ntcom拷入其中。也可以再将grub.exe文件放到镜像中,这样启动时就不用找这个文件了。
之所以要一个40M的镜像是考虑到PE的系统镜像都是经过压缩的多数不超过40M,如果PE系统镜像超过39M,MEM的A盘是放不下的,要用winimage改它的容量,改100M都是允许的,但要考虑物理内存的容量,使用时请根据PE镜像的大小来决定DOS启动镜像的大小。如小小强的PE可以用30M的启动镜像,深度的2003内核的要40M。如果只有128M内存,请使用相对较小的PE。这也是这个方法的一个最大缺点,即启动镜像占去的这些内存进PE后也是不能使用的(当然应该还是有办法释放的)。

2、做一个根据PE文件的设置将WinPE相关文件拷入启动后的内存模拟A盘中,因为要读配置并拷贝文件,笔者写了个小程序来做这一工作,编译后取名为“copype.exe”。当然,也可用批处理解决,只是我嫌麻烦,况且也要用一些工具,倒还不如自己专门做一个,用法也很简单:
copype U:--从U:盘将文件准备到MEM模拟的A盘。此文件要求放到上述启动镜像的MiniPE下。

3、做好相关的config.sys、autoexec.bat和menu.lst文件就可以了,具体如下:
config.sys:
device=himem.sys /testmem:off
device=usbaspi.sys /e /r /norst
devicehigh=aspidisk.sys
files=20
buffers=30
dos=high,umb
lastdrive=z

autoexec.bat:
@echo off

rem 该文件统一以U盘的“\MiniPE\PE”文件(即毛桃的0911的WinPE镜像定义文件)作为标准
rem 它是一个文本文件,要启动各种PE均可修改这一个文件即可,因此镜像和winpe.ini文件可以放到其他目录。
rem 本文件调用的“COPYPE”为自编的一个文件,功能为从当前盘的PE读其中定义的PE镜像包位置,
rem 再从传递给它的U盘参数将文件准备到软盘中,实际上就是准备存放包的目录和拷贝winpe.ini文件

cls
path a:\
echo Searching USB DEVICE......
set UDrv=
set PeFlag=minipe\pe
rem 找PeFlag文件就代表找到U盘
if exist z:\%PeFlag% set UDrv=z:
IF not "%UDrv%"=="" GOTO ufind
if exist y:\%PeFlag% set UDrv=y:
IF not "%UDrv%"=="" GOTO ufind
if exist x:\%PeFlag% set UDrv=x:
IF not "%UDrv%"=="" GOTO ufind
if exist w:\%PeFlag% set UDrv=w:
IF not "%UDrv%"=="" GOTO ufind
if exist v:\%PeFlag% set UDrv=v:
IF not "%UDrv%"=="" GOTO ufind
if exist u:\%PeFlag% set UDrv=u:
IF not "%UDrv%"=="" GOTO ufind
if exist t:\%PeFlag% set UDrv=t:
IF not "%UDrv%"=="" GOTO ufind
if exist s:\%PeFlag% set UDrv=s:
IF not "%UDrv%"=="" GOTO ufind
if exist r:\%PeFlag% set UDrv=r:
IF not "%UDrv%"=="" GOTO ufind
if exist q:\%PeFlag% set UDrv=q:
IF not "%UDrv%"=="" GOTO ufind
if exist p:\%PeFlag% set UDrv=p:
IF not "%UDrv%"=="" GOTO ufind
if exist o:\%PeFlag% set UDrv=o:
IF not "%UDrv%"=="" GOTO ufind
if exist n:\%PeFlag% set UDrv=n:
IF not "%UDrv%"=="" GOTO ufind
if exist m:\%PeFlag% set UDrv=m:
IF not "%UDrv%"=="" GOTO ufind
if exist l:\%PeFlag% set UDrv=l:
IF not "%UDrv%"=="" GOTO ufind
if exist k:\%PeFlag% set UDrv=k:
IF not "%UDrv%"=="" GOTO ufind
if exist j:\%PeFlag% set UDrv=j:
IF not "%UDrv%"=="" GOTO ufind
if exist i:\%PeFlag% set UDrv=i:
IF not "%UDrv%"=="" GOTO ufind
if exist h:\%PeFlag% set UDrv=h:
IF not "%UDrv%"=="" GOTO ufind
if exist g:\%PeFlag% set UDrv=g:
IF not "%UDrv%"=="" GOTO ufind
if exist f:\%PeFlag% set UDrv=f:
IF not "%UDrv%"=="" GOTO ufind
if exist e:\%PeFlag% set UDrv=e:
IF not "%UDrv%"=="" GOTO ufind
if exist d:\%PeFlag% set UDrv=d:
IF not "%UDrv%"=="" GOTO ufind
if exist c:\%PeFlag% set UDrv=c:
IF not "%UDrv%"=="" GOTO ufind
if exist b:\%PeFlag% set UDrv=b:
IF not "%UDrv%"=="" GOTO ufind
if exist a:\%PeFlag% set UDrv=a:
IF not "%UDrv%"=="" GOTO ufind
GOTO ERR_FindUDrv

:ufind
a:
cd\
if not exist grub.exe copy %UDrv%\boot\grub\grub.exe
cd minipe
rem 以U盘的minipe中的PE作标准配置位置
copy %UDrv%\minipe\pe

rem 准备PE镜像和Winpe.ini文件
copype %UDrv%
cd\

rem 用grub.exe来链式装载PE
grub.exe --config-file="root (fd0);chainloader (fd0)/ldrxpe"
goto end

:ERR_FindUDrv
cls
echo USB Device Not Found.
goto end

:ERR_CopyFile
echo Not found "PE" file!
goto END

:END

注:虽然有点长,但思路是清晰的,也作了注释,应该很容易读懂。


空间的其他文章:
  • [个人日记]:[加密成功]第一个flash作品--技术研究(2008年07月06日 14:18)
  • [游戏动漫]:偶的第二个flash作品[原创](2008年07月06日 14:15)
  • [游戏动漫]:[flash]伤人最深的不是爱情,而是回忆[原创](2008年07月05日 23:30)
  • [游戏动漫]:简单地做了一个flash[原创](2008年07月05日 23:27)
  • [天下杂侃]:如果地球在1个小时后爆炸!你会做什么(2006年10月09日 01:30)
  • [天下杂侃]:一个风靡全球的BBS接龙游戏,大家发挥想象力吧!(2006年09月29日 09:51)
  • [天下杂侃]:我从11楼跳下去……(2009年04月06日 07:21)
  • [天下杂侃]:非常实用的生活小技巧(2009年04月06日 07:19)
  • [休闲搞笑]:男人和女人的经典误会(2009年04月06日 07:12)
  • [天下杂侃]:令人心疼的十二句话,哪句说到你的痛~~~~~~~~~(2009年04月06日 07:11)