无忧启动论坛

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

因为Native7PE在笔记本上出现Mount Failed,所以查看了一下Native指令的执行情况。

[复制链接]
跳转到指定楼层
1#
发表于 2012-7-6 10:03:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近试用了hotdll和smine的Native7PE,用smine最新的一级内核和hotdll的二级内核合成,在我的台机上没有任何问题,在我的笔记本上一直出现Mount Failed 0xC0000034,因此我想手动加载Native指令,查看执行情况,结果如下:
1.Native启动后,手动执行scd指令可能会蓝屏,错误提示0x74,在NATIVE.ini里加入scd却不会蓝屏,比如“scd \Windows.wim”,所以我在NATIVE.ini要留一条scd指令,不过再次执行scd去没问题;
2.scd对后面的参数的大小写不敏感,也就是说大小写都能用;
3.scd指令的执行情况在我的台机和笔记本很不一样,抛开二级内核虚拟CDROM未被正常加载的情况,我发现一个奇怪的问题,U盘的可见区的类型是REMOVABLE,无论是在台式机和笔记本都能正常认出并使用的,比如执行CD指令,但是scd的执行情况却不同,在台式机上能正常寻找并切换到相应的盘符去,而笔记本的却不能,还是停留在当前目录,也就是说没有找到\Windows.wim,那么如果执行mount指令,就会出现Mount Failed 0xC0000034的情况。
4.通过device指令可以查看各种类型的驱动器加载情况,可以看到GRUB map或map --mem的虚拟cdrom,包括一级内核和二级内核的虚拟cdrom。问题就是在这里,台式机的虚拟cdrom无论是map或map --mem,无论是一级内核还是二级内核的虚拟cdrom,都能用device看到,用cd切换盘符,用dir看目录,用scd查找并切换到相应盘符,当然也就能mount了;在笔记本上却不同,用map --mem加载的虚拟cdrom,如同台式机一样正常,用map加载的,用device能看到相应的盘符,却不能正常地访问,实际上连一极内核的盘符都不能访问,当然scd,mount指令想要查找切换并加载二级内核是不可能的了,就会出现Mount Failed 0xC0000034的情况。
5.综上所述,可能在少量的电脑上还是没有解决Mount Failed 0xC0000034,问题有二种,见上述第3条第4条,当然也有可能是殊途同归。从第3条情况来看,问题出在Native程序中;从第4条情况来看,并不能判定一定就是一级内核的问题。
6.另外发现了一个很有意思的地方,scd支持多级目录,比如scd \win7pe\windows.wim。以前一直以为Windows.wim只能放在U盘可见区的根目录,实际使用中却发现二级内核可以放在U盘可见区二级目录中,甚至多级目录中(未测试,不过应该可以)。这样的话,我们可以只把一级内核放在UD区,二级内核的wim文件(包括PETOOLS打包后)放在U盘的相应目录中,就能支持多个NATIVE PE,另外这样做有个好处,二级内核的加载和文件碎片无关(经实测,特意试用了一个带文件碎片的windows.wim),不是更加方便了吗。不过这一切对我的笔记本来说都是浮云,我的笔记本只能map --mem,希望名位大侠继续深入研究以最终解决0x34问题。


[ 本帖最后由 lkw 于 2012-7-6 10:11 编辑 ]
2#
发表于 2012-7-6 10:11:59 | 只看该作者

回复 #1 lkw 的帖子

是的,上述native w7pe在我的联想笔记本v450上就不能启动。倒是饭大的第三版可以启动到桌面。
回复

使用道具 举报

3#
 楼主| 发表于 2012-7-6 10:43:09 | 只看该作者
其实还有个奇怪的地方,我把二级内核WIM文件放在U盘可见区,在笔记本上测试,U盘插在某个特定的USB端口上,有时候也能scd及mount,唉,不同的电脑有不同的现象,连同一台电脑的不同USB端口也是有不同的现象,甚至同一台电脑的同一个USB接口也有不同的表现,只能说,上WUYOU的人,玩得就是折腾。
回复

使用道具 举报

4#
发表于 2012-7-6 10:53:23 | 只看该作者

回复 #1 lkw 的帖子

其实,一级内核如果NATIVE.INI如下
@echo off
scd \win7.wim
mount win7.wim "x:\windows"
mount files.wim "x:\program files"
mount data.wim "x:\programdata"

cd x:\windows\system32
driver load FBWF

if exist x:\windows\system32\PECMD.EXE exit
如果二级内核在U盘可见区WIN7PE\下,你只要在MENU.LST中有这一句
find --set-root /WIN7PE/WIN7.WIM
也能启动成功
没必要动一级内核.

[ 本帖最后由 gbzx 于 2012-7-6 10:54 编辑 ]
回复

使用道具 举报

5#
发表于 2012-7-6 11:04:24 | 只看该作者
还有,大多数人应该都发现了,WIM文件制成ISO,启动成功后,关机就很慢,把它放在硬盘或U盘可见区,就不会,为啥没人把WIM打包成IMG呢?相信如能挂载成功,关机就跟原来一样.
回复

使用道具 举报

6#
 楼主| 发表于 2012-7-6 13:05:17 | 只看该作者
原帖由 <i>gbzx</i> 于 2012-7-6 10:53 发表 <a href="http://bbs.wuyou.net/redirect.php?goto=findpost&pid=2480266&ptid=213067" 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.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" /></a><br />
其实,一级内核如果NATIVE.INI如下<br />
@echo off<br />
scd \win7.wim<br />
mount win7.wim "x:\windows"<br />
mount files.wim "x:\program files"<br />
mount data.wim "x:\programdata"<br />
<br />
cd x:\windows\system32<br />
driver load  ...
<br />
你的这个方法我试了一下,经实测不可行,find --set-root /WIN7PE/WIN7.WIM这句应该是查找任何盘符WIN7PE目录下WIN7.WIM这个文件,找到后把相应的盘符设为ROOT,应该只是用来定位盘符的,我对find --set-root指令不怎么了解,难道是可以把x盘的/WIN7PE/设定为ROOT吗?。NATIVE.INI中的scd \Windows.wim中的"\"是代表相对于盘符的相对路径,同样"\win7pe\"也是相对路径,NATIVE是去查找全部盘符相对路径下的Windows.wim的,当然如果不同盘符下有同样的文件存在,估计就是按盘符顺序,以先找到的为优先。如果是不给出相对路径去查找,那相应的指令应该是scd windows.wim,但实际上是不可行的。
回复

使用道具 举报

7#
 楼主| 发表于 2012-7-6 13:14:35 | 只看该作者
我在一级内核的NATIVE.ini的scd加了个相对路径\Win7PE,如果想用同一个一级内核启动win7two.iso的话,也在win7two.iso中加入相对路径\Win7PE。
回复

使用道具 举报

8#
 楼主| 发表于 2012-7-6 13:20:37 | 只看该作者
原帖由 <i>gbzx</i> 于 2012-7-6 11:04 发表 <a href="http://bbs.wuyou.net/redirect.php?goto=findpost&pid=2480277&ptid=213067" 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.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" /></a><br />
还有,大多数人应该都发现了,WIM文件制成ISO,启动成功后,关机就很慢,把它放在硬盘或U盘可见区,就不会,为啥没人把WIM打包成IMG呢?相信如能挂载成功,关机就跟原来一样.
<br />
我不太清楚二级内核打包成IMG格式后的加载方式是类似于wim的虚拟加载,还是实际加载到内存中去,如果是加载到内存中去的话就没有意义了,第一,加载耗时,第二,占用内存,对小内存用户不利。
回复

使用道具 举报

9#
发表于 2012-7-6 13:27:45 | 只看该作者
我这几天一直在研究034错误问题(我只测试直接map的情况),可惜进展不是很顺利,最新的成果是在我的笔记本上会出现偶发性的034错误,平均十次启动中会有一次出错,而且每个出错的都有一个共同现象,那就是加载完文件后滚动次数很少就报错了,似乎硬件没有检测完全。。。
回复

使用道具 举报

10#
 楼主| 发表于 2012-7-6 14:13:54 | 只看该作者
原帖由 &lt;i&gt;smine&lt;/i&gt; 于 2012-7-6 13:27 发表 &lt;a href="http://bbs.wuyou.net/redirect.php?goto=findpost&pid=2480419&ptid=213067" target="_blank"&gt;&lt;img src="http://bbs.wuyou.net/images/common/back.gif" border="0" onload="if(this.width&gt;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&gt;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.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;<br />我这几天一直在研究034错误问题(我只测试直接map的情况),可惜进展不是很顺利,最新的成果是在我的笔记本上会出现偶发性的034错误,平均十次启动中会有一次出错,而且每个出错的都有一个共同现象,那就是加载完 ...
&lt;br /&gt;<br />
加载完文件后滚动次数很少,根据我的测试没有问题,在正常情况下,我的笔记本是hm65加i3-2310m,滚动条一出现就消失,过几秒就加载NATIVE了。
我的笔记本不能正常加载U盘可见区WIM文件测试结果如下,主要是由RAPOO无线鼠标接收器引起的,其次内置的读卡器也有影响。我的笔记本共有3个USB接口,左边一个和读卡器共用一个USB HUB,右边二个与摄像头共用一个USB HUB。拔掉无线鼠标接收器后,右边二个USB接口就能正常加载WIM文件,启动win7pe了。不过左边的usb接口还是不行,我认为是受读卡器的影响。据我观察,在执行SCD时,U盘好像没有准备完毕,自然SCD指令无效了。我手动输入SCD指令,有时候能正常寻找并切换相应目录,有时候会出现0x74蓝屏,我认为这是NATIVE手动输入scd指令存在BUG,因为在我完全正常的台式机上也出现这种情况。
至此,我已基本满足了。UD区的二级内核ISO镜像,对我来说并不需要。它只有一个优点,不容易删除,不过自己做的维护U盘一般自己用,不太会出现误删这种情况。缺点就是操作复杂,需要iso打包,iso兼容性调整,用专用工具放入UD区,进行文件碎片整理,如果修改了WIM文件,又要执行上述步骤。相对而言,放在U盘可见区的相应目录中,操作就简单了,只要复制粘贴就行了。因为scd指令支持多级目录,所以可以对不同的PE建立不同的WIM文件目录。

[ 本帖最后由 lkw 于 2012-7-6 20:31 编辑 ]
回复

使用道具 举报

11#
发表于 2012-7-6 14:41:48 | 只看该作者

回复 #8 lkw 的帖子

如果是MAP,应该是和ISO一样,
只是把地址写入内存,只是模拟的介质不同,我是外行,估计不是很容易.
回复

使用道具 举报

12#
 楼主| 发表于 2012-7-6 23:09:46 | 只看该作者
不知道Native支不支持UD区的WIM文件加载?
回复

使用道具 举报

13#
发表于 2012-7-6 23:32:49 | 只看该作者
就连hotdll的第三版有时候都会挂载失败、

其它各种034有的能启动、有的不能启动、各种蛋疼、各种纠结。。。。
回复

使用道具 举报

14#
发表于 2013-4-24 14:44:08 | 只看该作者
我用的smine的nativepe,最近发现,如果我在光驱中放有光盘,那么都能正常启动;如果取出来光盘,启动时就会加载wim失败
回复

使用道具 举报

15#
发表于 2013-4-25 14:44:41 | 只看该作者
看可以在 native.ini 中添加延时处理, 我估计是盘符还没有准备好造成的.
顺便感谢哈 smine, native7PE 很好用
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-6-19 21:09

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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