无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 10317|回复: 18
打印 上一主题 下一主题

[原创]hmload+无盘天使=dos下加载usb 2.0驱动后启动winpe更完美的方法

[复制链接]
跳转到指定楼层
1#
发表于 2007-10-30 16:54:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
昨天hytmtet发的帖子"成功实现DOS下加载USB2.0驱动再启动"引起了我的思考,类似方法我早已尝试过,不过由于需要双倍内存的问题,实用价值不大,今天突然想到了hmload(grub4dos里附带的一个小工具)和无盘天使,这几个东西结合起来即可实现先在dos下加载usb驱动,在启动u盘/移动硬盘上winpe这个梦寐以求的功能,方法大致如下:

1、先启动dos,最好不要从u盘或移动硬盘启动dos,注意config.sys里要加载himem.sys

2、插上u盘,用loadsys.exe加载usb驱动。
loadsys.exe USBASPI.SYS
loadsys.exe DI1000DD.SYS
注意,如果机子支持usb启动,一定要在启动dos后插u盘,否则dos下不加载驱动就能看到u盘,从而出现两个usb盘符,这会给之后进入grub带来麻烦。

3、用hmload.exe载入u盘上的无盘天使winpe镜像,至于无盘天使winpe以及如何制作,可参考此帖:
http://bbs.wuyou.net/viewthread. ... %C1%ED%C0%E0&page=1
该帖中有一个winpe.dsk可以下载,下面就一此镜像为例
hmload -fd:\winpe.dsk -a128
假设u盘盘符为d:,镜像在d:\winpe.dsk,-a128指定镜像加载到内存128MB的位置。

4、卸载usb驱动,否则进入grub时可能死机
loadsys.exe /u DI1000DD.SYS
loadsys.exe /u USBASPI.SYS

5、用grub.exe启动grub

6、在grub下输入命令:
map --rd-base=0x8000000  (注明memdisk镜像的位置0x8000000是128MB的16进制)
map --rd-size=0x1b900  (注明memdisk镜像的大小,即镜像扇区数的16进制)
map (rd) (hd0)    (把memdisk影射成hd0)
map --hook   (映射生效)
chainloader (hd0)+1
boot

至此完成了所有步骤,此方法的核心就在于往常是在grub下加载影像,而现在可以在dos下用hmload来加载映像,这样既不需要额外内存,也可以避免grub下使用usb时的龟速。

[ 本帖最后由 fujianabc 于 2007-10-30 04:57 PM 编辑 ]

评分

参与人数 1无忧币 +100 收起 理由
chnhhwz + 100 精品文章

查看全部评分

2#
发表于 2007-10-30 20:44:51 | 只看该作者
省内存的好方法
我就懒得改啦
我的仿真的img大小也就28M左右
浪费得还不算多......

不过仿真成hd0之后启动
会不会对真实的硬盘造成影响
例如盘符问题啊
在这种pe下安装系统的问题等
回复

使用道具 举报

3#
发表于 2007-10-30 21:59:11 | 只看该作者
谢谢 ,试一下了解:(
回复

使用道具 举报

4#
发表于 2007-10-30 22:10:13 | 只看该作者
请问一下,启动dos后(怎样启动的),就能认U 盘了吗?,你的第二步的usb驱动从那里加载的,硬盘上?
回复

使用道具 举报

5#
发表于 2007-10-30 22:16:51 | 只看该作者
首先支持。但觉得好像不是那么顺理成章的事啊,继续关注。
回复

使用道具 举报

6#
发表于 2007-10-30 23:29:13 | 只看该作者
我刚刚自己制作了一个dsk文件
并成功启动
不过有个问题哦~
启动之后计算机属性里面显示的是128MB的内存
我可是768MB的物理内存呀·······
怀疑是挂载起始地址的事情,因为镜像是用128M处开始挂上的
RAMDISK之前的地址可用
之后的内存地址不可用
这样貌似不太爽哦。。。。



还有就是速度比copy到a盘,用ramdisk方式启动iso格式的PE慢了些
估计主要是hmload还需要处理那个dsk文件,我没有压缩的,55M左右的DSK好像用了34秒钟创建完毕...
所以时间是 加载USB驱动并输入好U盘盘符,需要20秒,
HMLOAD创建内存盘,需要34秒(hmload不支持压缩过的镜像)
启动PE需要20秒
合计1分多钟吧~呵呵



而如果直接用大容量的IMG镜像
加载USB驱动并输入好U盘盘符,需要20秒
copy文件并让peldr载入该文件(is_压缩格式)6秒
启动到最小模式PE需要14秒
总计40秒进入桌面
内存大小为740MB(刚好是物理内存大小-仿真的软盘大小)

[ 本帖最后由 hytmtet 于 2007-10-31 07:49 AM 编辑 ]
回复

使用道具 举报

7#
发表于 2007-10-31 08:23:53 | 只看该作者
测试了一遍

A:
maotao的以RAMDSIK启动PE的方式
在PE中显示内存大小为物理的可用内存大小,例如我的是768MB


B:
如果是用grub4dos仿真一个较大容量的img,例如一个容量为28M的软盘镜像(当然这个img大小视里面的内容而定,例如只有io.sys+command.com+config.sys等基本文件,剩余空间在27M左右,这个IMG大小也就只有几百K,gz压缩一下就200K了),然后通过DOS加载USB2.0驱动,然后将毛桃的is_格式的PE及相关peldr,ntdtect.com等文件复制到仿真的软盘中来启动PE
在PE中系统属性显示为768-28=740MB


C:
如果用HMLOAD方式虚拟一个RD出来,视虚拟的RD挂载在内存中的起始位置而定,例如本例中挂载到128M处,而且hmload不支持gz压缩过的镜像,故hmload在载入winpe.dsk时费时比较久,是复制相同容量的dsk文件的7倍时间(dos下复制一个50M的文件到内存,只需要5秒左右,而HMLOAD载入到内存则用了34秒),进入PE后发现系统属性中内存只有128MB,加载外置程序提示设置虚拟内存,怀疑只有在设置的挂载点之前的内存可用,不同机器内存容量不一样,所以也不能把挂载点设置较大,故这种方法对内存的利用率是个问题(如果hmload能改进成自动识别内存大小,并将dsk镜像挂载到内存最末端部分,然后grub4dos还能引用到这个rd设备,就ok了)


D:
如果直接从U盘上的dsk用map --mem虚拟成hd0再启动
而不用hmload
则可用内存大小为
物理内存-dsk文件大小
也就是768-55=713M


本人的U盘
情况A用了230秒左右进入最小模式PE桌面
情况B只用了40秒左有进入了最小模式PE桌面(加载了USB驱动)
情况C用了70秒左右进入了最小模式PE桌面(加载了USB驱动)
情况D就不用测了,比情况A肯定是还要慢,因为需要载入的文件比情况A大了,情况A从U盘需要读取24M数据,用了210秒,情况D需要55M,基本上要420秒了.........


我个人还是用情况B吧~呵呵

[ 本帖最后由 hytmtet 于 2007-10-31 09:02 AM 编辑 ]
回复

使用道具 举报

8#
发表于 2007-10-31 08:33:32 | 只看该作者
都是高人,学习了。谢谢大家的努力。
回复

使用道具 举报

9#
 楼主| 发表于 2007-10-31 09:27:22 | 只看该作者
原帖由 hytmtet 于 2007-10-31 08:23 AM 发表
测试了一遍

A:
maotao的以RAMDSIK启动PE的方式
在PE中显示内存大小为物理的可用内存大小,例如我的是768MB


B:
如果是用grub4dos仿真一个较大容量的img,例如一个容量为28M的软盘镜像(当然这个img大 ...

128M内存的问题倒是好解决,在hmload时-a参数搞一下就可以了比如-a700等,grub中的map --rd-base=0x8000000,改为map --rd-base=0x2BC00000。
第二种方法我很早就试过,不过我一直担心setupldr.bin加载的ramdisk可能会与dos下的ramdisk发生相互覆盖而产生问题。
回复

使用道具 举报

10#
发表于 2007-10-31 10:57:17 | 只看该作者
hmload的参数偶不了解~
-a表示什么
有没有办法提高hmload生成rd的速度
我试过了
即使是hoload载入硬盘上的dsk文件
需要时间也比较久
回复

使用道具 举报

11#
 楼主| 发表于 2007-10-31 11:35:02 | 只看该作者
原帖由 hytmtet 于 2007-10-31 10:57 AM 发表
hmload的参数偶不了解~
-a表示什么
有没有办法提高hmload生成rd的速度
我试过了
即使是hoload载入硬盘上的dsk文件
需要时间也比较久

-a指定镜像在内存中的位置
hmload加载速度慢可能与程序本身算法有关,似乎是比dos下copy慢,希望以后能有新版的hmload支持zip/gz格式。
回复

使用道具 举报

12#
发表于 2007-12-9 19:36:37 | 只看该作者
新版HMLOAD已支持GZ格式了,问下HMLAOD GZ文件后,怎么引用GZ文件?使之启动?
回复

使用道具 举报

13#
发表于 2007-12-9 19:56:27 | 只看该作者
学习了,我在这方面太嫩了。
回复

使用道具 举报

14#
 楼主| 发表于 2007-12-9 20:41:09 | 只看该作者
原帖由 wuyouman01 于 2007-12-9 07:36 PM 发表
新版HMLOAD已支持GZ格式了,问下HMLAOD GZ文件后,怎么引用GZ文件?使之启动?

请问哪里有支持gzip的新版hmload?
回复

使用道具 举报

15#
发表于 2007-12-9 22:45:16 | 只看该作者
hmload好像还不支持GZIP的吧.也没有必要支持了.
因为用gz格式的解压,grub可以帮忙.
回复

使用道具 举报

16#
发表于 2007-12-13 11:08:51 | 只看该作者
原帖由 <i>fujianabc</i> 于 2007-12-9 08:41 PM 发表 <a href="http://bbs.wuyou.net/redirect.php?goto=findpost&pid=1284310&ptid=115665" target="_blank"><img src="http://bbs.wuyou.net/images/common/back.gif" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.ywzX(this.src);}" onmousewheel="return imgzoom(this);" alt="" /></a><br />

<br />
请问哪里有支持gzip的新版hmload?
<br />
不点说hmload可以读取GZ格式,用MAP (RD)+1 (HD0),的格式自动解压GZ文件。
回复

使用道具 举报

17#
 楼主| 发表于 2007-12-13 12:08:06 | 只看该作者
原帖由 wuyouman01 于 2007-12-13 11:08 AM 发表

不点说hmload可以读取GZ格式,用MAP (RD)+1 (HD0),的格式自动解压GZ文件。

这是依靠grub下的gzip解压功能,而不是hmload自带gzip解压功能。
回复

使用道具 举报

18#
发表于 2008-2-29 12:51:10 | 只看该作者
不从U盘启动的话,价值就要打折扣。从U盘启动,又碰到U盘自身识别易出错的问题。这个帖子有
很好的参考价值:http://www.cn-dos.net/forum/viewthread.php?tid=35782&fpage=6
回复

使用道具 举报

19#
发表于 2008-6-10 11:02:30 | 只看该作者
这个帖子有
很好的参考价值:http://www.cn-dos.net/forum/viewthread.php?tid=35782&fpage=6

Page Not Found!

The requested URL was not found, please contact with your administrator.

网页未找到!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-9-29 21:25

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表