无忧启动论坛

标题: 从bootmgr转grub是不是就可以支持usb2.0? [打印本页]

作者: anxi_dongri    时间: 2013-3-14 09:02
标题: 从bootmgr转grub是不是就可以支持usb2.0?
bootmrg好像是原生支持usb2.0,那如果u盘从bootmgr启动再转grub4dos,那是不是就已经加载usb2.0的驱动了?
不好意思,问题很傻瓜,高手莫笑!
作者: 不点    时间: 2013-3-14 10:12
grub4dos 依靠的是 BIOS。如果 BIOS 支持 USB 2.0 或 USB 3.0,那么 grub4dos 就一样可以使用 USB 2.0 或 3.0. 否则不行。

但 yaya 在 grub4dos 0.4.6 中引入 USB 驱动,这另当别论。
作者: alls    时间: 2013-3-14 11:35
标题: 回复 #2 不点 的帖子
0.4.6的 usb2.0驱动如何启用?
作者: anxi_dongri    时间: 2013-3-14 12:03
不太理解,如果是这样那nativePE是出于什么目的?不是为了尽快取得usb2.0的驱动支持吗?
记得0PE也有个usb2.0的加速驱动,这些迹象给我的信息就是gurb4dos刚刚启动时并没有加载usb2.0的驱动,是我错了吗?
作者: 一只猴子    时间: 2013-3-14 20:04
标题: 回复 #4 anxi_dongri 的帖子
G4D是否支持USB2.0是看主板BIOS的。
0.4.6的话例外,2楼不点大大说明了
作者: anxi_dongri    时间: 2013-3-14 22:06
不知道主板的bios是否支持usb2.0是什么意思,进入windows后肯定是支持的,读写速度也明显加快了很多,这样算是支持吗?
但是在grub里用map仿真是就很慢,每一次读取的速度按8m跳跃,要好几秒钟才能跳一次,那明显没有usb2.0的速度。所以我的理解是nativePE就是要尽量快的进入windows以取得usb2.0的驱动,然后再来读取剩下的数据,这样就比较快的----这一段理解是不是错了?
作者: 2011yaya2007777    时间: 2013-3-15 08:36
主板支持usb2.0,是指主板上有usb2.0主机控制器硬件。
是否可以从usb2.0设备启动,还要看bios是否支持。因为bios里有usb2.0驱动程序。
0.4.6a启动时自带usb2.0驱动程序,不依赖bios。
如果没有usb2.0主机控制器硬件,没有usb2.0驱动程序,是不能读写usb2.0设备的。
至于速度问题,主要是与驱动程序有关,不单单与usb2.0驱动程序本身有关,还与调用usb驱动的程序有关。
一般是表现在请求usb驱动时,指定读多少扇区数。一次读1扇区,肯定很慢。
usb2.0设备硬件一次传输512字节。而主控一个指令在512字节边界对齐的情况下,最多可传输20Kb字节,否则最多16Kb字节。

[ 本帖最后由 2011yaya2007777 于 2013-3-15 08:47 编辑 ]
作者: anxi_dongri    时间: 2013-3-15 12:02
谢谢楼上的解释,不好意思,我比较愚笨还是模模糊糊的。
能不能再大概解释一下usb_acc.0PE是什么原理,NativePE是如何分级提速的?这些跟usb2.0都有什么关系?
作者: 2011yaya2007777    时间: 2013-3-15 14:21
我从网上见到有usb提速软件,什么原理我不清楚。我个人对此不屑一顾(纯属个人观点,不用赞同,也不用批评)。
g4d 为了对付一些劣质 bios,采用一扇区一扇区地读,这是慢的根源。
dos 是这样读的:对于 LBA,每次读 0x7f 扇区(当然你要读的扇区比这大);对于 CHS,每次读1磁道,当然有条件,比如1磁道等于 0x3f 扇区,你从 0-0-0x21 开始读 0x80 扇区,那么第一次读 0x1f(3f-21+1) 扇区,第 2 次读 0x3f 扇区, 第 3 次读 0x22 扇区。
作者: roytam1    时间: 2013-3-15 15:40
原帖由 anxi_dongri 于 2013-3-15 12:02 发表
谢谢楼上的解释,不好意思,我比较愚笨还是模模糊糊的。
能不能再大概解释一下usb_acc.0PE是什么原理,NativePE是如何分级提速的?这些跟usb2.0都有什么关系?

usb_acc.0PE其實就是plop boot manager的包裝。
作者: anxi_dongri    时间: 2013-3-15 17:41
原帖由 roytam1 于 2013-3-15 15:40 发表
usb_acc.0PE其實就是plop boot manager的包裝。

他们的原理是什么呢?如果那样加速有效果说明慢的根源不在硬件,而是软件,是不是又回到驱动问题了?
作者: wuwuzz    时间: 2013-3-15 20:39
yaya在7#前半段的说法是正确的。

支持USB2.0,不代表能够以USB2.0的高速来启动,这要看BIOS的USB驱动服务如何处理。

以前,phoenix的网站官档隐晦地说过这个事。BIOS是按模块收费,如果主板商在OEM时
没买“USB2.0高速启动”模块,那么,即使你有USB2.0硬件,BIOS还是按USB1.1来处理,
这叫“基本”驱动服务。
----------------------------------------------------------------------------

所谓的PE提速效果,实际是下面2种读取方式的速度对比。

1、利用BIOS的USB驱动,直接读整个PE内容(文件较大)到内存;
2、利用BIOS的USB驱动,先读少量内容(比如plpbt.bin、usbaspi.sys这样的USB2.0驱动)
到内存,然后在这些新的USB2.0驱动支持下,再读取后续PE内容到内存。

如果第2种方式所用“总”时间低于第1种方式所用时间,给人的印象就是速度提升了。

这第2种方式有可能行得通。但是,你也看到了,这些后加的USB驱动  有很大可能
会与BIOS的USB驱动相冲突。
作者: anxi_dongri    时间: 2013-3-15 21:54
非常感谢楼上的解释,那么win7原生支持usb2.0或者win8原生支持usb3.0这种说法正确吗?
作者: fujianabc    时间: 2013-3-16 17:14
原帖由 anxi_dongri 于 2013-3-15 21:54 发表
非常感谢楼上的解释,那么win7原生支持usb2.0或者win8原生支持usb3.0这种说法正确吗?

这个是系统对usb驱动的支持,楼上说的是主板对usb驱动的支持,两回事。
作者: anxi_dongri    时间: 2013-3-19 08:28
还是有几点迷糊
1,进入windows后可以以usb2.0的速度读写,可以肯定bios支持usb2.0了吧?
2,如果bootmgr原生支持支持usb2.0,即系统支持usb2.0?是这个意思吗?
3,如果上述两条都是对的,那么用bootmgr启动时是不是就应该有usb2.0的高速了?
4,如果上面都是对的,那么从bootmgr转grub4dos后,这个高速还在吗?
作者: pseudo    时间: 2013-3-19 09:50
标题: 回复 #16 anxi_dongri 的帖子
1、尽管硬件一般支持usb2.0,但要有驱动才发挥效果。
有的bios由于某种原因,配的驱动可能是usb1.1的。g4d借用这种驱动时,当然慢。
2、windows有自己的usb2.0驱动,进windows后根本不用bios的usb驱动,当然快。
这大概是楼上f大所谓“系统对usb驱动的支持”的意思。
3、bootmgr本身不是驱动,在启动过程它做了些加载驱动的工作。
但windows的usb2.0驱动估计在启动初期的实模式阶段刚刚载入,还没生效,这时实际用的仍是bios的驱动,如果是低版本驱动就慢。到了后期自家驱动生效了才快。
4、bootmgr是在windows的usb2.0驱动生效之前转g4d,不会带来“高速”。
5、plpbt.bin等为bios提供了2.0驱动,可以在g4d、bootmgr之前就生效。

以上是我的理解。
虽然欠科学,但感觉自圆其说,自以为是也就心安理得不纠结不迷糊了。
作者: fujianabc    时间: 2013-3-19 10:26
原帖由 anxi_dongri 于 2013-3-19 08:28 发表
还是有几点迷糊
1,进入windows后可以以usb2.0的速度读写,可以肯定bios支持usb2.0了吧?
2,如果bootmgr原生支持支持usb2.0,即系统支持usb2.0?是这个意思吗?
3,如果上述两条都是对的,那么用bootmgr启动 ...

bootmgr自身没有驱动,靠的还是bios中的usb驱动,grub4dos也一样。而windows中usb 2.0是依靠的windows的驱动,不是bios的驱动
作者: anxi_dongri    时间: 2013-3-19 10:48
谢谢pseudo 的解释。
原来驱动是这样分的?bios自带usb驱动,但是系统不一定用bios的驱动?
作者: wuwuzz    时间: 2013-3-20 08:55
原帖由 pseudo 于 2013-3-19 09:50 发表
5、plpbt.bin等为bios提供了2.0驱动,可以在g4d、bootmgr之前就生效。


前面几条都对,这第5条,我的理解不同。
BIOS是固件层面的东西,自带驱动,plpbt.bin
这样的软件恐怕不能为BIOS提供“驱动”。

plpbt.bin是与g4d、bootmgr同一层次的东西(引导软件),所处位置
介于BIOS和OS之间,起衔接作用。从plpbt.bin的工作方式看,它是
在BIOS的动作之后,又做了相应的USB方面的改动,然后进行后续过程。

[ 本帖最后由 wuwuzz 于 2013-3-20 09:04 编辑 ]
作者: wuwuzz    时间: 2013-3-20 08:57
原帖由 anxi_dongri 于 2013-3-19 10:48 发表
谢谢pseudo 的解释。
原来驱动是这样分的?bios自带usb驱动,但是系统不一定用bios的驱动?


是的。BIOS和OS对USB的驱动是不同的。

只有知道USB的操作系统(USB-aware OS)--例如高版本的windows和Linux--才有这种
不用BIOS的驱动,而使用自己驱动的过程。




欢迎光临 无忧启动论坛 (http://wuyou.net./) Powered by Discuz! X3.3