无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
楼主: 2011足迹
打印 上一主题 下一主题

native版的mini pecmd测试,添加mount命令--2011-4-4

    [复制链接]
511#
发表于 2011-5-17 20:27:31 | 只看该作者
原帖由 andos 于 2011-5-17 20:19 发表

7Z,WIN版的话,有参数可以略过或者覆盖
可能是因为native的关系吧,只有一线程

另外,是不是mount完之后,native的程序就不能叫出来?


7z程序是根据一个简单版本改的,没仔细看是跳过还是覆盖。参数好像就那么几个。也不支持其他格式。功能强大的那个太复杂,不会改。
mount完之后,X:盘内容就被覆盖了,如果加到Wim里,应该也能用吧。
回复

使用道具 举报

512#
发表于 2011-5-17 20:36:50 | 只看该作者
原帖由 sp_star 于 2011-5-17 20:27 发表


7z程序是根据一个简单版本改的,没仔细看是跳过还是覆盖。参数好像就那么几个。也不支持其他格式。功能强大的那个太复杂,不会改。
mount完之后,X:盘内容就被覆盖了,如果加到Wim里,应该也能用吧。

对,放在wim就可以叫出来了
可是load fbwf 失败
回复

使用道具 举报

513#
发表于 2011-5-17 20:59:04 | 只看该作者
原帖由 andos 于 2011-5-17 20:19 发表

7Z,WIN版的话,有参数可以略过或者覆盖
可能是因为native的关系吧,只有一线程

另外,是不是mount完之后,native的程序就不能叫出来?


mount有个问题会屏蔽掉原来的东西,所以如果你mount之后的目录是pe本身的目录,原来内核里的文件就作废了
回复

使用道具 举报

514#
发表于 2011-5-17 21:06:46 | 只看该作者
原帖由 andos 于 2011-5-17 20:36 发表

对,放在wim就可以叫出来了
可是load fbwf 失败


如果fbwf已经启动的话,再去load就会失败。unload没怎么试过,但unload fbwf是肯定不成功的,好像fbwf不能通过一般的方式unload。
回复

使用道具 举报

515#
发表于 2011-5-18 10:03:50 | 只看该作者
原帖由 pseudo 于 2011-5-16 10:03 发表
@chenall
用你支持scd的native.exe,expand总蓝屏。足迹的expand正常但无scd。
可否解决?


具体原因我不清楚,可能和我的编译环境有关系,我是在WIN7下编译的,直接用原版也是一样的不行
试了一下发现是执行到以下代码时出错了,蓝屏的原因我前面已经有说过了(http://bbs.wuyou.net/forum.php?mod=viewthread&tid=188616&page=35#pid2228442
)。

    __asm
    {
        int 3;
    }

我把这个代码注释掉再编译,就不蓝屏了。稍后再上传新版的。

[ 本帖最后由 chenall 于 2011-5-18 10:05 编辑 ]
回复

使用道具 举报

516#
发表于 2011-5-18 10:08:17 | 只看该作者
原帖由 NicTense 于 2011-5-17 17:13 发表
将chenall上传的样板里的一级内核整理了一下
http://u.115.com/file/aq2mavq1#
nativepe.rar

目前大小3.39M,功能和启动方式和原来的没有区别,仅仅是将没用的文件删掉和整理了一下txtsetup.sif
另外,我 ...



使用两个配置文件是为了尽量阻止蓝屏的发生。具体的我前面的贴子有介绍原理。
回复

使用道具 举报

517#
发表于 2011-5-18 10:19:53 | 只看该作者
原帖由 NicTense 于 2011-5-17 02:54 发表
一个重大的发现
改造成nativepe,一级内核中需要用到的文件,都可以从二级内核中剔除,可以做到一个文件都不重复
我测试了一下,昨天改的tangope迷你版的native版可以再节省2M,功能一样

但是很奇怪,明明 ...

有你后悔的时候,我就出现启动后,再插U盘不能驱动问题,必须插着U盘启动才能识别,没办法,还是将二级内核中的驱动补全才行.
回复

使用道具 举报

518#
发表于 2011-5-18 10:22:12 | 只看该作者
原帖由 chenall 于 2011-5-18 10:08 发表



使用两个配置文件是为了尽量阻止蓝屏的发生。具体的我前面的贴子有介绍原理。


大概哪1天的帖子阿,没留意到,我找找看

我最开始只用了system32下的配置文件,后来发现mount wxpe之后就被屏蔽了,觉得这样可能会出错,就统一弄到x:\下

你说的是这个原因还是其他的,一定要两个吗
回复

使用道具 举报

519#
发表于 2011-5-18 10:25:49 | 只看该作者
原帖由 xhwfq 于 2011-5-18 10:19 发表

有你后悔的时候,我就出现启动后,再插U盘不能驱动问题,必须插着U盘启动才能识别,没办法,还是将二级内核中的驱动补全才行.


目前这个native的结构还属测试阶段,我的原则是尽可能精简

这个结构的问题在于Mount完之后会屏蔽一级内核的文件,所以重复会造成体积变大,最好还是得研究出具体需要保留的文件名单

你尝试保留usb开头的那几个驱动文件看行不行
回复

使用道具 举报

520#
发表于 2011-5-18 11:21:03 | 只看该作者
@NicTense
#515的那个链接里面就有介绍。
回复

使用道具 举报

521#
发表于 2011-5-18 11:39:24 | 只看该作者
新的测试,使用了新的NATIVE.EXE,自行改名为TANGOPE.IM_替换原来的文件就行了
http://u.115.com/file/dn6ccgmx#
WINPE.im_

麻烦有条件的朋友测试一下,理论上支持隐藏分区,
你可以把MINIPE目录放在隐藏分区中,看看是否可以成功启动(测试时其它分区不要放)

新的native.exe带补丁
http://u.115.com/file/dn6c6y69#
native.rar


edit: 忘了说一下新上传的native.exe支持可写挂载wim,直接在原来mount的基础上再加上一个路径就行了。
比如:
可写佳载:
mount wxpe.wim x:\wxpe x:\temp
只读挂载:
mount wxpe.wim x:\wxpe

[ 本帖最后由 chenall 于 2011-5-18 13:38 编辑 ]
回复

使用道具 举报

522#
发表于 2011-5-18 14:18:01 | 只看该作者
原帖由 chenall 于 2011-5-18 11:39 发表
edit: 忘了说一下新上传的native.exe支持可写挂载wim,直接在原来mount的基础上再加上一个路径就行了。
比如:
可写佳载:
mount wxpe.wim x:\wxpe x:\temp
...

你的可写挂载能不能支持自动搜索temp文件夹?即用 mount wxpe.wim x:\wxpe \tmpx 格式实现下面的功能.
@echo off
scd \minipe\wxpe.wim
if exist wxpe.wim if exist c:\tmpx mount wxpe.wim x:\wxpe c:\tmpx
if exist x:\wxpe\winlogon.exe exit
if exist wxpe.wim if exist d:\tmpx mount wxpe.wim x:\wxpe d:\tmpx
if exist x:\wxpe\winlogon.exe exit
if exist wxpe.wim if exist e:\tmpx mount wxpe.wim x:\wxpe e:\tmpx
if exist x:\wxpe\winlogon.exe exit
if exist wxpe.wim if exist f:\tmpx mount wxpe.wim x:\wxpe f:\tmpx
if exist x:\wxpe\winlogon.exe exit
if exist wxpe.wim if exist g:\tmpx mount wxpe.wim x:\wxpe g:\tmpx
if exist x:\wxpe\winlogon.exe exit
if exist wxpe.wim if exist h:\tmpx mount wxpe.wim x:\wxpe h:\tmpx
if exist x:\wxpe\winlogon.exe exit
if exist wxpe.wim mount wxpe.wim x:\wxpe
......
上面是我目前的使用方法,太烦!
回复

使用道具 举报

523#
发表于 2011-5-18 14:35:53 | 只看该作者
OK,加上了这个功能,不过为了简化编程,用法如下:

mount wxpe.wim x:\wxpe ?:\temp

使用?:代表未知的盘符,这时将自动查找第一个存在temp目录的磁盘。并使用这个目录作为临时目录。

native_new.rar

28.46 KB, 下载次数: 56, 下载积分: 无忧币 -2

回复

使用道具 举报

524#
发表于 2011-5-18 14:53:36 | 只看该作者
请教C大:  现在native支持如下命令是吗?

cd,md,copy,poweroff,dir,del,reboot,devtree,shutdown,exit,sysinfo,lm,vid,lp,move,if,load,expand, mount
和你加入的:
新编译的版本,增加了三个命令
1.echo
   echo off 可以关掉回显(即不显示命令行)用echo on还原
当然了echo message可以显示一条信息。
2.type
  这个就不用说了,显示一个文件的内容。
3.scd
  快速定位并切换文件夹,见前面的介绍。
另外还有一个@可以不显示当前命令。一般配合echo使用即@echo off不显示执行的命令。

其中:
mount  现在可写佳载:
mount wxpe.wim x:\wxpe x:\temp
只读挂载:
mount wxpe.wim x:\wxpe


mount wxpe.wim x:\wxpe ?:\temp
使用?:代表未知的盘符,这时将自动查找第一个存在temp目录的磁盘。并使用这个目录作为临时目录。

是这些命令吗?要多潜水学习了!
回复

使用道具 举报

525#
发表于 2011-5-18 14:53:40 | 只看该作者

回复 #523 chenall 的帖子

太好了,万分感谢!!!
回复

使用道具 举报

526#
发表于 2011-5-18 15:02:00 | 只看该作者
原帖由 thttht 于 2011-5-18 14:53 发表
请教C大:  现在native支持如下命令是吗?

cd,md,copy,poweroff,dir,del,reboot,devtree,shutdown,exit,sysinfo,lm,vid,lp,move,if,load,expand, mount
和你加入的:
新编译的版本,增加了三个命令
1.ech ...


嗯,就是这些了,expand命令有条件的可以试一下看看是否正常,我编译的版本注释掉了原来代码里面的int 3语句。对这些不懂,只是如果不注释就会出错。
回复

使用道具 举报

527#
发表于 2011-5-18 19:19:09 | 只看该作者

回复 #526 chenall 的帖子

int 3 就是 hard breakpoint,release build 應該要去除它們的。
回复

使用道具 举报

528#
发表于 2011-5-18 19:23:42 | 只看该作者

回复 #526 chenall 的帖子

支持expand了。

但遇到不存在的目标子目录(多级目录)时该目录的文件解压失败,
如果事先创建目标子目录,再expand就好了。

ncab.exe则不必事先创建目标子目录。

[ 本帖最后由 pseudo 于 2011-5-18 22:02 编辑 ]
回复

使用道具 举报

529#
 楼主| 发表于 2011-5-18 23:14:18 | 只看该作者
原帖由 pseudo 于 2011-5-18 19:23 发表
支持expand了。

但遇到不存在的目标子目录(多级目录)时该目录的文件解压失败,
如果事先创建目标子目录,再expand就好了。

ncab.exe则不必事先创建目标子目录。

这个可能是expand的代码没有创建目录的部分....这部分以前一直没有解决蓝屏问题...有些版本中有反复...

chenall 可以参考有这个功能的代码打个补丁...


原帖由 2010roytam1 于 2011-5-18 19:19 发表
int 3 就是 hard breakpoint,release build 應該要去除它們的。

int 3确实是调试中断...为了调试而加的...可以替换为

  1. #ifndef NDEBUG
  2. __asm
  3. {
  4.     int 3;
  5. }
  6. #endif
复制代码

另外..DbgPrint在release build 中最好也去掉...他会影响性能...输出最好尽量少...因为输出为了hack退格符号做了不少逻辑...也会影响性能


最近工作上有些变动...暂时没时间打理nativeshell和nativecmd了....大家见谅...
尽量抽时间排除nativecmd的一些bug...
回复

使用道具 举报

530#
发表于 2011-5-19 00:32:31 | 只看该作者

nativecmd使用另一参考。

目前的方案好象都不太理想,可写挂载要占用TEMP目录空间若TEMP目录在X盘则X 盘占用太大,并不省内存。这儿是否可借用过去的一些探讨来使用nativecmd呢?比如不对WXPE目录整体压缩,而是压缩大部分文件,如FONT目录、WinSxS目录、CONFIG目录、以及对网络组件等。记得深度技术论坛,绝版(Uepon)曾探索过把部分组件挂载于SYSTEM目录的可能。这样可能改变nativecmd目前使用过程中的一些问题。仅一家之言,欢迎砖头。
回复

使用道具 举报

531#
发表于 2011-5-19 09:47:04 | 只看该作者

回复 #521 chenall 的帖子

太好了,MINIPE放置于隐藏分区加载很正常。
回复

使用道具 举报

532#
发表于 2011-5-19 14:05:16 | 只看该作者
C大 你好!一个想法不知道能行不?冒昧打扰你了!有什么不当的地方还请见谅!

你编译增强的Native很好用,这要感谢你和足迹等论坛的各高手们!关于Native和足迹聊过,他对这个的nativecmd版本有很多想法,工程量很大,他现在也没有太多时间!当然你也很忙!这些不说了!说说我的想法!

在和足迹聊时他说他想在他以后nativecmd的版本成熟后考虑加入文件及目录连接符“Link”的支持!这个我也做过实验,wim文件挂载出来的文件以及目录都支持连接符,并且可写wim文件挂载的话也可以支持往wim文件挂载目录里添加文件以及目录的连接符!这样就不会存在一级启动内核和二级启动内核有重复文件的问题了,建立连接符即可解决了!也不会占用空间!不知道你可以先给这个native加入这个功能吗?不知道加入这个“Link”连接符功能的难度如何!如果可以,那实在是太好了!并且我想也会对足迹的nativecmd版本有所帮助把!

有什么不当之处请大大们见谅!!!!也希望C大能考虑这个功能!!!!

[ 本帖最后由 thttht 于 2011-5-19 14:22 编辑 ]
回复

使用道具 举报

533#
发表于 2011-5-19 15:37:12 | 只看该作者
@thttht  
太看得起我了,呵呵,对于我来说这些都是一片空白。
我对这些什么API啊函数的,非常的不了解。

目前我所作的修改,大都是不使用API函数的。所以相对来说比较简单。

新上传一个版本。为了支持解压CAB时自动创建目录,增加了一个函数MKDIR

并且MD改成了使用MKDIR函数来创建目录。

这个MKDIR支持创建多级目录(因为CAB解压时需要)。

所以新的版本可以直接:

md 1\2\3\4\5\6\7\8\9

native.rar

28.56 KB, 下载次数: 80, 下载积分: 无忧币 -2

回复

使用道具 举报

534#
发表于 2011-5-19 15:43:43 | 只看该作者
谢谢C大解答!这方面对你来说都有难度那没有办法了!等待足迹的成果把!

你编译的已经很强了!再次感谢各位大大!!!!

[ 本帖最后由 thttht 于 2011-5-19 15:46 编辑 ]
回复

使用道具 举报

535#
发表于 2011-5-19 15:50:13 | 只看该作者
请问那个vid命令有什么实际作用吗

好像执行之后就一直显示乱码,等了20分钟还没显示完
回复

使用道具 举报

536#
发表于 2011-5-19 16:15:34 | 只看该作者

回复 #533 chenall 的帖子

谢谢。
expand可以创建目标子目录了。
回复

使用道具 举报

537#
发表于 2011-5-19 16:22:20 | 只看该作者
我也想问大大几个问题
1.LOAD #:\NATIVE.CFG是什么意思?
2.LOAD \device\cdrom0\NATIVE.CFG是什么意思?这个cdrom0没有盘符吗?
3.EXPAND命令对于"启动"来说,有什么帮助?

[ 本帖最后由 xhwfq 于 2011-5-19 16:25 编辑 ]
回复

使用道具 举报

538#
发表于 2011-5-19 16:37:36 | 只看该作者

回复 #537 xhwfq 的帖子

1. 很明显的就是加载#:里面的native.cfg
只不过这个#:是一个特殊的磁盘,也是我上传的测试版PE专用的。
只有在一定的条件下才会出现#:,为了方便扩展而设置的,一般情况下可以不必理会
关于出现#:的方法在本贴前面我有介绍过。有兴趣可以翻翻看

2.这个是直接使用设备命名的方法来访问设备。优先加载CDROM设备上的配置文件,同样是为了功能扩展或自定义使用。
比如我上传的测试版,你可以把WINPE.IM_和TOOLS.WIM/WXPE.WIM/NATIVE.XPE放到任意的同一个目录下。
使用NTBOOT直接启动WINPE.IM_就可以使用了。

3.我还没有用过。

@NicTense
这个我也不清楚,应该是测试用的

[ 本帖最后由 chenall 于 2011-5-19 16:38 编辑 ]
回复

使用道具 举报

539#
发表于 2011-5-19 17:00:42 | 只看该作者
原帖由 xhwfq 于 2011-5-19 16:22 发表
我也想问大大几个问题
1.LOAD #:\NATIVE.CFG是什么意思?
2.LOAD \device\cdrom0\NATIVE.CFG是什么意思?这个cdrom0没有盘符吗?
3.EXPAND命令对于"启动"来说,有什么帮助?

3. 对于PE1来说没什么帮助,因为PE1可以直接mount到X:,expand 如果文件数量一多,时间也会很长,所以,用expand的话,文件数量一定要尽量少点

expand目前可能对PE3有点用都不定,因为PE3不能mount到X:,但是PE3本身的文件数量就比PE1要多很多,所以expand一定数量的文件也是非常慢.......目前PE3还没可以享受到nativeshell的功能呢....
回复

使用道具 举报

540#
发表于 2011-5-19 17:51:52 | 只看该作者
原帖由 chenall 于 2011-5-19 16:37 发表
2.这个是直接使用设备命名的方法来访问设备。优先加载CDROM设备上的配置文件,同样是为了功能扩展或自定义使用。
比如我上传的测试版,你可以把WINPE.IM_和TOOLS.WIM/WXPE.WIM/NATIVE.XPE放到任意的同一个目录下。
使用NTBOOT直接启动WINPE.IM_就可以使用了。
...

有点似懂非懂了,不过感觉优先加载cdrom上的配置文件并不好,因为CDROM上的内容不能随时修改,还有CDROM上的wim文件不能可写挂载.
我觉得还是优先使用硬盘、U盘上的文件比较好.
当然什么优先好,并不是重点,我想弄明白使用这些命令的意义而已,谢谢C大的解答.

[ 本帖最后由 xhwfq 于 2011-5-19 17:56 编辑 ]
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-27 05:35

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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