无忧启动论坛

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

[更新376#2825]PECMD2012.1.80.13_Win32_64.多窗口多线程.裸机系统2.3.3.1+18M酷M...

    [复制链接]
9931#
发表于 2015-6-26 20:14:48 | 只看该作者
回复

使用道具 举报

9932#
 楼主| 发表于 2015-6-26 21:35:05 | 只看该作者
本帖最后由 mdyblog 于 2015-6-26 21:47 编辑


   应该是什么效果?


试试

SEND  #0x5B_,T,#0x5B^
WAIT 5000

SEND  #0x5C_,T,#0x5C^
WAIT 1000


/////////
就0x01 到  0xFF 试贝。
回复

使用道具 举报

9933#
 楼主| 发表于 2015-6-26 21:39:38 | 只看该作者
ling3882688 发表于 2015-6-26 19:57
M大,PART命令/PBR命令怎么用?我用微软的bootsect出现错误,能用part /pbr来解决吗?

bootsect.exe /nt ...

PART   /pbr=nt6  1#3
分区号 多试几个
PART   /pbr=nt6  1#1
PART   /pbr=nt6  1#2
PART   /pbr=nt6  1#3
PART   /pbr=nt6  1#4
PART   /pbr=nt6  1#5

那个没用的U盘测试。


回复

使用道具 举报

9934#
发表于 2015-6-26 21:46:09 | 只看该作者
mdyblog 发表于 2015-6-26 21:39
PART   /pbr=nt6  1#3
分区号 多试几个
PART   /pbr=nt6  1#1

bootsect.exe /nt52 E:应该怎么写?
还有个问题,我如何判断part命令执行成功了呢?我发现每次返回值都不一样。
回复

使用道具 举报

9935#
 楼主| 发表于 2015-6-26 21:53:46 | 只看该作者
本帖最后由 mdyblog 于 2015-6-26 21:55 编辑
ling3882688 发表于 2015-6-26 21:46
bootsect.exe /nt52 E:应该怎么写?
还有个问题,我如何判断part命令执行成功了呢?我发现每次返回值都 ...


PART -phy# LIST DRV E:,&&V
//1     7   1     4342949376    24914371584     8482323    29257320960    1  E:  0

MSTR &&id,&&hd=<8><10>%&V%
FIND $%hd%<>,  TEAM PART  -phy   /pbr=nt6  %&hd%#%id%| MESS 返回码:%&ERROR%


%&ERROR% 为0则成功。 (失败(好像只有)返回1)
回复

使用道具 举报

9936#
发表于 2015-6-27 06:32:37 | 只看该作者
本帖最后由 ling3882688 于 2015-6-27 06:33 编辑
mdyblog 发表于 2015-6-26 21:53
PART -phy# LIST DRV E:,&&V
//1     7   1     4342949376    24914371584     8482323    292573209 ...

PART -phy# LIST DRV C:,&&V
//1    12   1        1048576    53688139776        2048    53689188352    1  C:  0

MSTR &&id,&&hd=<8><10>%&V%
FIND $%hd%<>,  TEAM PART  -phy   /pbr=nt6  %&hd%#%id%| MESS 返回码:%&ERROR%

上面的返回值是0,但是实际上是不成功的,因为系统分区是锁定的。如果我手动把C盘pbr改成nt6然后用PART  -phy   /pbr=nt5  %&hd%#%id%却可以成功。不知是怎么回事?C盘是xp系统,难道是会智能判断吗?
回复

使用道具 举报

9937#
 楼主| 发表于 2015-6-27 10:20:32 | 只看该作者
本帖最后由 mdyblog 于 2015-6-27 10:34 编辑
ling3882688 发表于 2015-6-27 06:32
PART -phy# LIST DRV C:,&&V
//1    12   1        1048576    53688139776        2048    53689188352 ...


当前系统是什么系统? XP? WIN7

自带的ntf6 nt5 是FAT的。
NTFS 等,需要自备引导文件。
这个主要用来恢复PBR
PART  -phy   /pbr=.\mynt6.pbr   %&hd%#%id%

.\mynt6.pbr 是先前备份的文件。
回复

使用道具 举报

9938#
发表于 2015-6-27 10:47:52 | 只看该作者
本帖最后由 ling3882688 于 2015-6-27 11:16 编辑
mdyblog 发表于 2015-6-27 10:20
当前系统是什么系统? XP? WIN7

自带的ntf6 nt5 是FAT的。

当前系统是xp。

如何建立一个图上那样的FAT32磁盘分区呢?这个机器目前不在手边,无法测试。只能是虚拟机测试。
从微软的支持文档里找到这个。貌似上面的提示不是因为分区的问题,而是因为磁盘驱动器类型导致的,这样的磁盘如何才能在虚拟机里模拟呢?
回复

使用道具 举报

9939#
 楼主| 发表于 2015-6-27 11:57:39 | 只看该作者
本帖最后由 mdyblog 于 2015-6-27 12:01 编辑
ling3882688 发表于 2015-6-27 10:47
当前系统是xp。

如何建立一个图上那样的FAT32磁盘分区呢?这个机器目前不在手边,无法测试。只能是虚 ...


那是新磁盘。
1扇区是 4096(4K)字节。

我们目前一般的磁盘,1扇区是 512 字节。

U盘一般都是 4K的。 但是支持512访问接口。自己再去拼装。
“新磁盘” 不支持 512访问接口, 直接4096访问接口。

相应的, 多扇区引导码也不同。(FAT16单扇区引导码估计没问题)。

回复

使用道具 举报

9940#
发表于 2015-6-27 15:25:17 | 只看该作者
mdyblog 发表于 2015-6-27 11:57
那是新磁盘。
1扇区是 4096(4K)字节。

论坛太卡了,好久才正常打开。
新磁盘用微软的bootsect无法更改pbr,BOOTICE或者PECMD都可以,但是用微软的ISO安装的话却可以正常改写PBR,那肯定应该也不是用的BOOTSECT。
如果是EFI引导GPT磁盘,引导分区的PBR改成NT60或者不改都不影响启动。真的搞不明白。
回复

使用道具 举报

9941#
 楼主| 发表于 2015-6-27 16:07:49 | 只看该作者
本帖最后由 mdyblog 于 2015-6-27 16:12 编辑
ling3882688 发表于 2015-6-27 15:25
论坛太卡了,好久才正常打开。
新磁盘用微软的bootsect无法更改pbr,BOOTICE或者PECMD都可以,但是用微 ...


版本不对。
那个需要支持4K扇区的软件。里面内置的PBR支持4K扇区。
你用的版本低了。

PECMD
1)写入的是FAT的单扇区的PBR。无所谓4K了。
2)PECMD也不检查写入的PBR的内容对不队,只管如实写下去而已。只是提供一个写入手段。

BOOTICE估计也是如此。

以后高版本估计会考虑4K扇区,写入的PBR就不同了。
回复

使用道具 举报

9942#
发表于 2015-6-27 18:50:08 来自手机 | 只看该作者
mdyblog 发表于 2015-6-27 16:07
版本不对。
那个需要支持4K扇区的软件。里面内置的PBR支持4K扇区。
你用的版本低了。

M大,你说的是我用的bootsect版本低吗?我找的最新的win10 32位的貌似也不支持。
回复

使用道具 举报

9943#
 楼主| 发表于 2015-6-27 19:14:57 | 只看该作者
ling3882688 发表于 2015-6-27 18:50
M大,你说的是我用的bootsect版本低吗?我找的最新的win10 32位的貌似也不支持。

可能 支持4K的 bootsect 还没出生。
“微软的ISO安装”  是直接磁盘访问,定制的程序。
回复

使用道具 举报

9944#
发表于 2015-6-27 19:46:27 | 只看该作者
mdyblog 发表于 2015-6-26 19:35
//MyFUN %c%   %h% &&r &&z &&a &&l
_SUB MyFUN
SET &c=%~1

不懂呀!能说的更明白点吗!
回复

使用道具 举报

9945#
 楼主| 发表于 2015-6-28 08:07:47 | 只看该作者
本帖最后由 mdyblog 于 2015-6-28 15:00 编辑


精准启动:直接找到启动磁盘。 哪怕两个磁盘(U盘和本地磁盘)或两个分区上的PE一样,也会找到自启动PE对应的磁盘和分区
PECMD2012.1.88.05.67


1)精准制导启动(PECDM.INI)
MOUN -udm -findboot [-ret: 返名] -muh -u+ -udfs -mall -mhide  -udimg: *.img -udimg: *.iso   \\.\PhysicalDrive* C-
注意 -findboot 优先, 有效的话, -mall -mhide -udimg: -muh -u+ 等 自动忽略

返名 中有加载的盘符列表


2)设置精准启动(格式化最后一步)
moun -udm setboot [-ret: 返名] [-udmid: udm号 ] BCD/BOOT.INI启动菜单 [<UDM盘符] [类型]
moun -udm setboot [-ret: 返名] [-udmid: udm号 ] BCD/BOOT.INI启动菜单 [磁盘号>[#udm号]] [类型]
moun -udm setboot [-ret: 返名] BCD/BOOT.INI启动菜单 [磁盘号>#文件名] ud
moun -udm setboot [-ret: 返名] BCD/BOOT.INI启动菜单 [磁盘号>#] u+
//类型: "" udm  pt ud u+ cd

对于普通分区和UDM软加载的分区(G:)上的BCD/BOOT.INI启动菜单可以
moun -udm setboot  G:\BOOT\BCD

对于UD磁盘1的EFI.IMG
moun -udm setboot G:\BOOT\BCD 1#EFI.IMG  ud

对于U+磁盘1
moun -udm setboot G:\BOOT\BCD 1  u+

对于光盘,标志文件WINPE\WINPE.INI或卷标H3CDALL
moun -udm setboot G:\BOOT\BCD devfile#WINPE\WINPE.INI  cd    或:
moun -udm setboot G:\BOOT\BCD #WINPE\WINPE.INI  cd.file  //不混淆的话#可省
moun -udm setboot G:\BOOT\BCD devvol#H3CDALL   cd    或:
moun -udm setboot G:\BOOT\BCD #H3CDALL   cd.vol  //不混淆的话#可省


3)也可自己读出 启动磁盘信息
MOUN -udm findboot -ret: 返名   //查找启动设备,返回:磁盘号 UDM号 类型 可用于引导的参数
MSTR 磁盘号,UDM号,类型=<1*>%返名%
对UD, UDM号返回文件名
类型为空,则为udm

磁盘号=-1 无效(比如没有设置。比如直接将人家的PE分区拷过来,没有重新设置)
磁盘号>=0 为磁盘
如果是光盘, 磁盘号返回 符合的光盘盘符列表 D:F:
回复

使用道具 举报

9946#
发表于 2015-6-28 17:23:56 | 只看该作者
请问一下高DPI的问题要如何解决??

比如把字体设为125%或150%那默认情况下的控件位置都需要做改动,有没有什么办法自适应?
回复

使用道具 举报

9947#
 楼主| 发表于 2015-6-28 18:06:42 | 只看该作者
chenall 发表于 2015-6-28 17:23
请问一下高DPI的问题要如何解决??

比如把字体设为125%或150%那默认情况下的控件位置都需要做改动,有没有 ...


是不是自己动态计算空间大小。
回复

使用道具 举报

9948#
发表于 2015-6-28 19:28:18 | 只看该作者
527104427 发表于 2015-6-25 20:10
这些没有直接的函数支持,是很难一步到位的,只能一步一步来。

你还是跟M大商量一下吧,让他把这些弄 ...

他和我说
//MyFUN %c%   %h% &&r &&z &&a &&l
_SUB MyFUN
SET &c=%~1
SET &h=%~2
calc &&r=((%&c%/2)^2+%&h%^2)/(2*%&h%)
calc &&z=(%&c%/2)/%&r%
calc &&a=2*deg(arcsin(%&z%))
calc &&l=2*%&r%*pi*%&a%/360
ENVI-ret  %~3=%&r%
ENVI-ret  %~4=%&z%
ENVI-ret  %~5=%&a%
ENVI-ret  %~6=%&l%
_END

调用:
MyFUN %c%   %h% &&r &&z &&a &&l

%&r%  %&z%  %&a%  %&l%  里面的值就是需要的结果。
至于界面 怎么摆,自己看桌办。
我不懂!我问他他也不回复!后来想起来也可以写成
TEAM ENVI^ ENVIMODE=1| ENVI^ FORCELOCAL=1
MYWINDOW1
_SUB MYWINDOW1,W960H440,
EDIT Edit1,L32T24W840H36,,,,,24
ITEM ITEM1,L32T68W30H34,=,CALL MyFUN
_END

_SUB MyFUN
LPOS W= ,1,%Edit1%
CALC K=%W%-1
LSTR &c=%K%,%Edit1%
CALC T=%W%+1
MSTR &h=%T%,10,%Edit1%
CALC &&r=((%&c%/2)^2+%&h%^2)/(2*%&h%)
CALC &&z=(%&c%/2)/%&r%
CALC &&a=2*deg(arcsin(%&z%))
CALC &&l=2*%&r%*pi*%&a%/360
ENVI @Edit1=r=%&r% a=%&a% l=%&l%
_END
来完成!这样在编辑框里输入弦长c和高h的值,中间有一个空格就好了!有点麻烦!也有点长!一个数值须要单独一个过程!如果要是加入此函数到CALC命令就简单多了!
你看看还有没有什么好方法!


回复

使用道具 举报

9949#
发表于 2015-6-28 20:02:42 | 只看该作者
ge 发表于 2015-6-28 19:28
他和我说
//MyFUN %c%   %h% &&r &&z &&a &&l
_SUB MyFUN

哦,等我抽空试试。最近忙的很
回复

使用道具 举报

9950#
发表于 2015-6-28 20:10:18 | 只看该作者
527104427 发表于 2015-6-28 20:02
哦,等我抽空试试。最近忙的很

谢谢!
回复

使用道具 举报

9951#
发表于 2015-6-29 08:33:58 | 只看该作者
请教下各位:下面是查询WIM映像信息卷号的部份代码,映像卷在9个以内都能显示出来,如果映像卷大于9个则无法显示,如何修改下面代码让返回值%&ipos%大于9都列出来。

TEAM EXEC* @MEMO=!cmd.exe /c Dism /get-wiminfo /wimFile:"%index%"
RPOS &&iPos=:,4,%MEMO%
calc #pos = %ipos% + 2
LSTR &&ipos= %pos%,%MEMO%
RSTR &&ipos=1,%&ipos%
回复

使用道具 举报

9952#
发表于 2015-6-29 08:59:19 | 只看该作者
本帖最后由 singel 于 2015-6-29 09:19 编辑

[CALL $"D:\WIM\YunGuanjia527\YunShellExt.dll",DllUnregisterServer]        <1114>        :动态链接库(DLL)初始化例程失败。
[FILE "D:\Personal\Temp\bdyunguanjiaskinres"]        <1026>        :

M大,上面的错误码1114和1026是什么意思呢?


另:KILL命令怎么杀死相似的进程?如aa1.exe ,aa2.exe ,aa3.exe
回复

使用道具 举报

9953#
 楼主| 发表于 2015-6-29 14:31:21 | 只看该作者
singel 发表于 2015-6-29 08:59
[CALL $"D:\WIM\YunGuanjia527\YunShellExt.dll",DllUnregisterServer]                :动态链接库(DLL)初始化例程失败。 ...

HELP\WINDOWS错误码.htm





FIND  --PID*@  &V,aa    // aa*.* 的进程
FORX * NL &&V,&&VL
{
  MSTR &&pid,&&file=<1><6>%&VL%
  //此处过滤下
  KILL *%pid%  //杀之
}
回复

使用道具 举报

9954#
 楼主| 发表于 2015-6-29 14:35:41 | 只看该作者
shq000 发表于 2015-6-29 08:33
请教下各位:下面是查询WIM映像信息卷号的部份代码,映像卷在9个以内都能显示出来,如果映像卷大于9个则无 ...

RSTR &&ipos=1,%&ipos%
改成
RSTR &&ipos=10,%&ipos%
SED &ipos=0,[^0-9].*,,%&ipos%
回复

使用道具 举报

9955#
发表于 2015-6-29 15:14:27 | 只看该作者
mdyblog 发表于 2015-6-28 18:06
是不是自己动态计算空间大小。

本来是要考虑动态调整空间大小的,发现太麻烦了。

昨天527104427给了我资料,直接动态调整字体大小这样很简单多了。
回复

使用道具 举报

9956#
发表于 2015-6-29 16:00:08 | 只看该作者
本帖最后由 shq000 于 2015-6-29 16:02 编辑
mdyblog 发表于 2015-6-29 14:35
RSTR &&ipos=1,%&ipos%
改成
RSTR &&ipos=10,%&ipos%


改成
RSTR &&ipos=10,%&ipos%
SED &ipos=0,[^0-9],,%&ipos%
上面1到9个映像卷可以正常显示出来,而且列表里有1-9选项,如果单个的映像文件卷数超过9个如10个或11个列表里只显示1无其他选项。
回复

使用道具 举报

9957#
 楼主| 发表于 2015-6-29 17:10:32 | 只看该作者
shq000 发表于 2015-6-29 16:00
改成
RSTR &&ipos=10,%&ipos%
SED &ipos=0,[^0-9],,%&ipos%

估计其它的地方,也按照这种思维方法改。
没研究的 整个过程, 自己 举一反三吧。
回复

使用道具 举报

9958#
 楼主| 发表于 2015-6-29 17:11:41 | 只看该作者
chenall 发表于 2015-6-29 15:14
本来是要考虑动态调整空间大小的,发现太麻烦了。

昨天527104427给了我资料,直接动态调整字体大小这 ...

这样也好。
回复

使用道具 举报

9959#
发表于 2015-6-29 18:06:22 | 只看该作者
本帖最后由 赤木刚宪 于 2015-6-30 07:19 编辑

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=369561
老大请关注下这个WIN10PE


以U盘为启动盘,无法挂载该U盘自带的隐藏区(比如软堞通的高端隐藏)(此时可以用BOOTPART来挂载)
如果把启动WIM放本地,在硬盘启动可以挂载该U盘隐藏区



最后用BOOTICE比较了一下
U盘启动的时候该U盘变成HD盘,本机硬盘启动的时候该U盘是正常的RM盘

不知道怎么处理了。。。

挂载直接用的moun  u+的代码
回复

使用道具 举报

9960#
发表于 2015-6-29 20:24:14 | 只看该作者
mdyblog 发表于 2015-6-29 14:31
HELP\WINDOWS错误码.htm

多谢M大。

YunShellExt.zip (107.74 KB, 下载次数: 1)

附件里的DLL用CALL命令怎么才可以注册/卸载成功?

用CALL $"%CurDir%\YunShellExt.dll",DllUnregisterServer不行,用EXEC =regsvr32 /s /u "%CurDir%\YunShellExt.dll"可以
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-9-25 19:20

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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