无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: 2011足迹
打印 上一主题 下一主题

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

    [复制链接]
31#
发表于 2011-5-13 11:05:09 | 显示全部楼层
试着编译了一个试一下,在QEMU中测试,发现反应明显变慢了。
另外之前的NATIVESHELL还会继续更新吗?
今天再看了一下,发现有好几处有分配内存却没有释放内存
具体的可以直接使用lp/lm命令测试
这两个命令调用的函数都是只分配不释放的。所以会发现占用的内存会越来越大(每次执行会增加64KB左右的内存)

经过修改效果明显改善。

再上传一个早上编译版本。

顺便再上传一个基于新的native.exe的微型测试用PE。(修改自TahgoPE)


http://u.115.com/file/e6yjluas#
TangoPE.iso

注: 看到前面有好几个人说找不到硬盘,这是正常的,因为一级内核里面没有任何的硬盘驱动。

可以配合SRSF6模块加载驱动来使用。当然了这个只是作为测试用途.

EDIT: 关于测试PE提供的接口,有兴趣的可以自己YY
1.启动时会优先加载#:\native.cfg
  Q: 如何才能使用#:?
      使用GRUB4DOS map --mem一个你自己的IMG文件(比如可以把二级内核放在这里)。必须使用以下命令map才可以在#:找到这个镜像的内容
      map --mem --add-mbt --sectors-per-track=8 /path/myext.img (0x9e)
      具体的应用方法可以自己研究。
2.然后加载光盘根目录下的native.cfg

3.然后就是标准的查找\minipe\wxpe.wim过程使用了一条命令scd \minipe\wxpe.wim实现
  会自动load同目录下的native.xpe

注:使用1,2接口时NATIVE.CFG后面要有EXIT命令,因为这个是通过新的进程来执行的。

有兴趣的可以根据以上接口来实现功能的扩展和自定义。

[ 本帖最后由 chenall 于 2011-5-13 11:26 编辑 ]

native.rar

27.76 KB, 下载次数: 40, 下载积分: 无忧币 -2

回复

使用道具 举报

32#
发表于 2011-5-13 13:22:51 | 显示全部楼层
原帖由 NicTense 于 2011-5-13 12:53 发表

其实如果用迷你版的驱动方案的话,比这个也就多2M左右,那样基本上能支持大部分的主流电脑


增加驱动不难,驱动比较全的话虽然使用起来比较简单。不过我不太喜欢

驱动多了,启动也会慢些,而且还有可能发生冲突。

使用无驱动方案, 更新驱动比较方便,驱动可以按需加载(个人比较喜欢)。

所以我使用的PE大多是没有集成什么硬盘驱动的。

嘻嘻,我建议你可以把你的TangoPe改成native模式的,这样一般情况下64MB以上内存都可以使用。

我发这个修改版的目的只是为了演示。

启动一个PE比一个XXDOS工具箱还快。这个在以前是很难的。
回复

使用道具 举报

33#
发表于 2011-5-13 13:24:23 | 显示全部楼层
原帖由 xhwfq 于 2011-5-13 13:20 发表
新版tangope运行出错,可能是没有C盘,scd找不到d:\minipe\wxpe.wim


汗,竟然没有C盘。

scd是从C盘开始的,碰到不可访问的磁盘就结束,如果没有C盘就直接失败了。
回复

使用道具 举报

34#
发表于 2011-5-13 14:25:21 | 显示全部楼层
@zhaohj  
前一个版本可以用吗?好像我自己测试都是正常的。

@xhwfq
嗯,没有考虑到这种情况。

@andos ,NicTense
使用我上传的测试版PE,这个是很容易变成全内置的看我前面的接口介绍就可以找到办法了。
回复

使用道具 举报

35#
发表于 2011-5-13 17:56:25 | 显示全部楼层
抽空修正了scd的问题,可以自己替换一下。

例子:
1. scd \minipe\wxpe.wim
2. scd \boot\native\

把补丁也上传上来了。我也收手,等新版的表现了。

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

native.rar

28.22 KB, 下载次数: 58, 下载积分: 无忧币 -2

native_shell_patch_by_chenall.rar

3.2 KB, 下载次数: 50, 下载积分: 无忧币 -2

回复

使用道具 举报

36#
发表于 2011-5-13 21:28:23 | 显示全部楼层
@zhoubin
可以看看这里的接口看有没有适用的?
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=188616&page=37#pid2228689

如果还是使用ISO的格式来启动,那就比较简单,方法如下
新建一个NATIVE.CFG文件,内容如下放在ISO的根目录下即可。
@echo off
scd \boot\tools.wim
md x:\tools
mount tools.wim x:\tools
mount wxpe.wim x:\wxpe
exit

当然也可以直接修改内核的NATIVE.CFG文件里面的
scd \MINIPE\WXPE.WIM
就是了。

还有另外一个方法,通过预留的接口也可以实现。

我现在是使用NTBOOT来启动这个PE,已经做到和目录无关了。
只要把需要的文件放在同一目录下,就都可以启动成功。

给你一个新的NTBOOT
http://u.115.com/file/clg5mu6z#
NTBOOT.iso

只需要把以下四个文件,放在同一目录下再用
TANGOPE.IM_、NATIVE.XPE、TOOLS.WIM、WXPE.WIM
然后使用NTBOOT来启动TANGOPE.IM_就行了。启动后可以自动处理。

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

使用道具 举报

37#
发表于 2011-5-13 21:40:01 | 显示全部楼层
原帖由 thttht 于 2011-5-13 21:26 发表


C大 问一下!修改编译的这个支持WIM文件的可写挂载吗?除了scd命令又加入了什么新命令了啊?有点菜请见谅!!!


@thttht
好像不支持,具体的我不太清楚,看了好像没有提供什么接口参数之类的。
不过因为PE一般都会开FBWF,所以有没有可写挂载没有多大关系。

新编译的版本,增加了三个命令
1.echo
   echo off 可以关掉回显(即不显示命令行)用echo on还原
当然了echo message可以显示一条信息。
2.type
  这个就不用说了,显示一个文件的内容。
3.scd
  快速定位并切换文件夹,见前面的介绍。
另外还有一个@可以不显示当前命令。一般配合echo使用即@echo off不显示执行的命令。

其它就是修正了一些问题。
回复

使用道具 举报

38#
发表于 2011-5-14 01:44:15 | 显示全部楼层
原帖由 thttht 于 2011-5-13 21:45 发表
谢谢C大 的回答!还有一个问题,scd命令是快速定位并切换文件夹,如下面你的事例,但这样支持隐藏分区吗?比如\boot\tools.wim在隐藏分区里面!这样还可以吗?
scd \boot\tools.wim
md x:\tools
mount tools ...


不支持。

因为目前挂载使用的函数LaotouMountImage只支持带盘符的路径。
像 \\?\cdrom0\minipe\wxpe.wim  这样的路径都不支持。
只要这个函数有支持那都很简单。否则需要先为隐藏分区创建一个盘符,然后再...太麻烦了。

另外我觉得稳藏分区安全性也不怎么样,之前我自己的电脑就经常使用隐藏分区,后面就全部取消了,把空间节省出来放资料,嘿嘿.
1. 不太方便。
2. 安全性也不是很高。
不使用任何工具,只需要简单的WINDOWS下CMD命令就可以直接删除或修改隐藏分区里面的文件了。
回复

使用道具 举报

39#
发表于 2011-5-17 09:14:56 | 显示全部楼层
@NicTense
3M是不太现实的,很有难度,不知你目前最终的文件列表是??

WIM的压缩率一般情况下会比CAB压缩率低。

就和WINRAR的普通压缩和固实压缩的理论差不多。

另外还有一些可以精简的,比如FBWF,IMDISK.SYS等这些在NATIVE环境下用不到的驱动都可以放到二级内核中(也方便更换版本,嘿嘿)。


我们可以做一个最精简的一级核心,然后二级核心就比较简单了,可以根据需求来选择。

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

使用道具 举报

40#
发表于 2011-5-17 10:17:50 | 显示全部楼层
原帖由 NicTense 于 2011-5-17 10:02 发表
呵呵,其实不考虑老机器的话
SYSTEM32\hal.dll
SYSTEM32\halaacpi.dll
SYSTEM32\HALACPI.DLL
这3个要一个 halacpi.dll 就可以了,可以省200K,这样就3.2M了

如果不考虑很好的通用性,只保证一部分机器能 ...


ud会比较麻烦但也不是不可能。

隐藏分区,也是有办法支持的(简单一点可以使用比较另类的方案,配合专门的一级内核,很简单的就可以了)。

明天或者后天比较有空,我再放一个测试版PE出来,理论上支持MOUNT隐藏分区上的文件。
回复

使用道具 举报

41#
发表于 2011-5-17 10:33:41 | 显示全部楼层
隐藏的ud区会比较麻烦,我对ud格式也不是很熟,目前还没有办法。
也许Plantsoot 可以想办法处理。

我前面的隐藏分区,是指一般普通的隐藏分区。
回复

使用道具 举报

42#
发表于 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 编辑 ]
回复

使用道具 举报

43#
发表于 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
另外,我 ...



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

使用道具 举报

44#
发表于 2011-5-18 11:21:03 | 显示全部楼层
@NicTense
#515的那个链接里面就有介绍。
回复

使用道具 举报

45#
发表于 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 编辑 ]
回复

使用道具 举报

46#
发表于 2011-5-18 14:35:53 | 显示全部楼层
OK,加上了这个功能,不过为了简化编程,用法如下:

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

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

native_new.rar

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

回复

使用道具 举报

47#
发表于 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语句。对这些不懂,只是如果不注释就会出错。
回复

使用道具 举报

48#
发表于 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

回复

使用道具 举报

49#
发表于 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 编辑 ]
回复

使用道具 举报

50#
发表于 2011-5-20 11:19:56 | 显示全部楼层
U盘有可能是在最后面,也有可能是在前面。

你无法保证你的U盘盘符在前面或者后面。

一切皆有可能。
回复

使用道具 举报

51#
发表于 2011-5-20 12:05:03 | 显示全部楼层
原帖由 NicTense 于 2011-5-19 23:40 发表
终于完成“屎上醉晓”内核了,大小2.99M,实现小于3M的目标
保留以下驱动:
isa/pci/atapi/ide/ata/cdrom/usb/mouse/keyboard/vga/wim/wmi
fat/ntfs/cdfs/udfs

下载地址:http://u.115.com/file/bhbhwlfa ...


够小,嘻嘻,直接收下了。看了一下去除了动态卷的支持、EXT2/EXFAT/FIRADISK这些驱动
回复

使用道具 举报

52#
发表于 2011-5-20 14:45:34 | 显示全部楼层

回复 #556 NicTense 的帖子

scsiport.sys如果不要,会影响SRS驱动的加载吗?如果有的话还是留着好了.
还有一个VLatency.sy记得使用VIA的SATA需要,如果不加载的话会不正常。

现在我没有VIA的版我也没有办法测试,不过建议保留,反正不大。

FIRADISK我留在内核是为了方便扩展使用的,比如可以通过GRUB4DOS产生一个虚拟的内存盘,进入这个模式后就可以直接使用。
还有新版的NTBOOT也有针对这个的扩展使用。
回复

使用道具 举报

53#
发表于 2011-5-21 12:03:05 | 显示全部楼层
最后的更新,没有什么问题的话,不再改动,等待新的NATIVECMD。

1.当echo off时隐藏大部份的信息提示。
2.新增cd ?:\minipe\wxpe.wim的用法(和scd功能一样,不过使用的方法比较简单,代码更少)。
  有一个区别比如以下命令
  scd \minipe\wxpe
  会切换到\minipe目录
  但cd ?:\minipe\wxpe
  如果有存在minipe\wxpe目录则会切换到这个目录否则就和scd一样。

native.rar

33.76 KB, 下载次数: 94, 下载积分: 无忧币 -2

回复

使用道具 举报

54#
发表于 2011-5-21 16:15:52 | 显示全部楼层
原帖由 NicTense 于 2011-5-21 15:24 发表



这个改进不错

nativecmd需要额外的dll,nativeshell还是有自己的优势的,有没有可能把对注册表的操作也加进native shell

对了,另外,vid那个命令没看到有什么实际作用,是不是可以去了,把help里的 ...



注册表的比较麻烦,我目前也只尝试过读取并显示。对这些还不是很理解。

有空再说了。整这些需要好多时间,因为对这些都不懂,很多都是临时抱佛脚。

scd的功能已经由cd去实现了。可以考虑去掉scd
回复

使用道具 举报

55#
发表于 2011-5-22 12:09:59 | 显示全部楼层
看了一下源码,稍微修改了一下。

这个应该可以传当前路径下来了(原版是直接默认%SYSTEMROOT%),我把这个改成了使用当前路径。

native.rar

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

回复

使用道具 举报

56#
发表于 2011-5-22 14:29:29 | 显示全部楼层
新的版本已经可以屏蔽expand命令的输出了,只要先echo off然后整个世界就清静了。
回复

使用道具 举报

57#
发表于 2011-5-22 15:12:48 | 显示全部楼层
原帖由 NicTense 于 2011-5-22 15:10 发表



对了,chenall能不能发个最新修改版打好补丁的源代码包,我想编译一个最小版本,把那些没用的命令都删掉...

没有输出,速度提高了,应该可以考虑不用Mount,直接将二级内核解压到内存了,这样可以实现 ...



补丁文件。。。

这样我觉得还不如复制WIM文件到X盘再挂载。速度肯定更快。

20110522.rar

4.82 KB, 下载次数: 106, 下载积分: 无忧币 -2

回复

使用道具 举报

58#
发表于 2011-5-22 17:28:33 | 显示全部楼层

回复 #587 haiou327 的帖子

你可以使用我前面上传的测试版试试。。

先用cd或scd命令定位分区。然后再mount
cd ?:\path\file
mount wxpe.wim x:\wxpe
回复

使用道具 举报

59#
发表于 2011-5-22 22:46:55 | 显示全部楼层

回复 #591 haiou327 的帖子

不好意思,我没有说清楚。
必须使用我前面上传的一级核心才可以

http://bbs.wuyou.net/forum.php?m ... ;page=53#pid2233009

可以自己替换一下里面的NATIVE.EXE为最新版本。
回复

使用道具 举报

60#
发表于 2011-5-23 09:18:35 | 显示全部楼层
不好意思啊,我犯了一个低级错误,呵呵,马上修改上传..

修正版

[ 本帖最后由 chenall 于 2011-5-23 09:23 编辑 ]

native.rar

28.69 KB, 下载次数: 139, 下载积分: 无忧币 -2

回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-6-9 14:51

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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