|
回复 #1 zjqcomputer 的帖子
首先非常感谢楼主的无私劳动和分享,获益良多。下载之后试用了一下,主要是针对使用U盘启动,而且面对的都是比较新的机器(内存1G+,因此主要考虑成功与否以及启动速度,内存资源占用不太在意)。针对usb2.0方式启动的设置进行了几番试验,也改了一些东西,作为回馈。
个人改变地方:
1. 作者提供的USB2.0启动模式,是通过grub加载内存虚拟软驱A盘,然后加载usbaspi.sys-dos下的usb 2.0驱动,然后加载di1000.sys,给"新发现"的U盘分配盘符(之所以要再次给U盘分配盘符,是因为加载usb2.0驱动之后,驱动会完全接管主板的usb管理,即使机器是使用u盘启动,在这之后也有可能会无法找到原来的U盘,而如果主板上还连接有其它usb设备比如键盘鼠标之类的,也有可能会失效)。然后从"新"U盘中往内存虚拟软盘拷贝启动pe所需要的文件--主要是winpe镜像文件(因为已经加载usb2.0驱动,此操作是必然处于usb2.0模式之下),之后从内存虚拟软盘启动pe。
个人理解,这种方式提高启动速度的原理,在于如果直接在U盘载入winpe镜像文件,需要的时间=载入镜像文件时间 * u盘读取时间(U盘不一定工作于2.0模式,而且因为镜像文件载入不一定是连续读取,时间有可能会更慢),而修改之后的需要时间=usb2.0下u盘读取镜像文件时间(而且因为是整个文件拷贝,是连续读取,速度是最快的) + 镜像文件载入时间(因为是从内存载入,不需要考虑IO时延),速度自然大大加快。
但是原来发布的版本问题在于:
a. 作者提供的usb20.gz,里面包含的usb20.ima所生成的磁盘镜像,原设定容量太小,有可能无法装入大小约为34MB的winpe镜像文件(至少我所实验的两台机器都不成功,提示空间不足)
b. usb20.gz内的usb20.ima包含的autoexec.bat,装入驱动方式为
loadsys usbaspi.sys
loadsys di10000dd.sys
这样usbaspi扫描所有usb端口设备时间有可能产生浪费(如果旧机器不是所有的usb端口都是2.0端口),其次di10000dd.sys的工作方式有可能使得usb键盘鼠标失效。
因此做出以下改动
a1. 使用winimage改变磁盘镜像的最大容量,计算方法见
http://bbs.wuyou.net/archiver/?tid-121553.html,
我个人使用的参数为n=36,也就是C/H/S=36/8/36,这样新磁盘镜像理论容量为50MB左右,可以装下约为34MB的winpe镜像文件(其实不一定需要50MB,这样内存损耗加大,不过前头说了主要是处理新机器,影响不大)
b1. 加入aspidisk.sys并修改autoexec.bat文件,改为
loadsys usbaspi.sys /v /e /norst
loadsys aspidisk.sys
另外,我还通过修改/WXPE/外置程序/LOADKJ.INI文件以及往/WXPE/外置程序内拷贝的方式,加入了defraggler磁盘碎片整理程序。
完整的改动方法:
需要的软件: ultraiso winimage gzip操作工具(winrar只能解压,不能生成。有人使用wingzip,我是通过mingw的msys系统操作的)
i. 从iso文件的/WXPE提取usb20.gz,解压缩得到usb20.ima文件。
ii. 使用winimage打开usb20.ima文件,进行如下操作
--修改容量
菜单->Image->Change Format->Select Custom Image Format
Total number of sectors: 1440*36*2
Sectors per Track: 36
Heads: 8
--加入aspidisk.sys
--修改autoexec.bat
提取autoexec.bat,把涉及usbaspi.sys和di10000dd.sys相应的两行改为
loadsys usbaspi.sys /v /e /norst
loadsys aspidisk.sys
保存后放回usb20.ima,覆盖原文件
最后保存usb20.ima文件,并生成usb20.gz文件,使用ultraiso替换原文件
iii. 把Defraggler放入/WXPE/外置程序/磁盘光盘工具文件夹内(这个其实随便个人喜好的),然后修改/WXPE/外置程序/LOADKJ.INI文件,在相应地方添加开始菜单指向该exe文件的子菜单项。
iv. 保存新的iso文件。
改变效果:
1. usb2.0驱动加载成功,工作流程顺利,不再发生winpe.im_因空间不足无法拷入虚拟磁盘的错误。winpe装入速度大大加快。整个过程耗时最长的是把winpe镜像文件拷入内存磁盘的单个操作,这个主要是受手头使用的U盘速度限制。其次时间比较长的是usb设备扫描和盘符分配,不过在我所试验的两台机器上这段时间还是有显著减少。唯一没有实现构想的,是避免对其它usb键盘鼠标设备的影响。试验的其中一台机器是使用usb键鼠的,不管是di10000dd.sys还是aspidisk.sys,都会使得键盘鼠标在winpe启动完成之前无法使用。
2. 发布包内增加了第三方的磁盘碎片整理程序。下面会试验如何加入voptxp。
[ 本帖最后由 wuyoumj 于 2008-4-4 06:08 PM 编辑 ] |
|