dvd008 发表于 2012-2-20 18:46:37

第二硬盘隐藏分区,也不能显示

使用其它工具可以.

pecmd putf\\.\PhysicalDrive0,1s,0x000x000x000x000x00 0x00 0x00 0x00

这样能给1S填0吗?

1--62扇区,始终没行. 请给个标准的 0硬盘,1---62 自动填0的 WCS文件吧.
其它硬盘,我可以对照修改

mdyblog 发表于 2012-2-20 18:51:05

[更新178#456]PECMD-32.2012.1除夕版.多窗口多线-U45+裸机系统+18M酷MiniPE

[更新178#456]PECMD-32.2012.1除夕版.多窗口多线-U45+裸机系统+18M酷MiniPE


PECMD-32.2012.1除夕版.多窗口多线-U45(已升级) +裸机系统 抢鲜版 + 18M-COOLMiniPE(已升级)
***已通过启动PE测试***
下载: http://mdyblog.blog.163.com/blog/static/106150119201202591855298/

178#425楼 U45SHOU物理分区号

SHOW0#4,z://其物理分区号固定, 逻辑分区号不固定,无法预知

mdyblog 发表于 2012-2-20 18:57:06

原帖由 2012abc19701 于 2012-2-20 18:51 发表 http://bbs.wuyou.net/images/common/back.gif
[更新178#456]PECMD-32.2012.1除夕版.多窗口多线-U45+裸机系统+18M酷MiniPE


PECMD-32.2012.1除夕版.多窗口多线-U45(已升级) +裸机系统 抢鲜版 + 18M-COOLMiniPE(已升级)
***已通过启动PE测试***
下载 ...

编辑内置资源.WCS

mdyblog 发表于 2012-2-20 18:58:10

原帖由 bahmo 于 2012-2-20 14:38 发表 http://bbs.wuyou.net/images/common/back.gif
envi WimCount=0
FORX C:\*.EXE,WimName,0,CALL WimCountSub
mess %WimCount% @ #ok

_SUB WimCountSub
CALC #WimCount=%WimCount%+1
mess %WimCount%:%WimName% @ #ok
_END

C:\底下有3個*.EXE
c: ...

U43
U45
--------------

mdyblog 发表于 2012-2-20 19:03:20

原帖由 dvd008 于 2012-2-20 18:27 发表 http://bbs.wuyou.net/images/common/back.gif
show 隐藏分区显示无效
第3个硬盘

详细些。
-------------

mdyblog 发表于 2012-2-20 19:06:42

原帖由 dvd008 于 2012-2-20 18:46 发表 http://bbs.wuyou.net/images/common/back.gif
第二硬盘隐藏分区,也不能显示

使用其它工具可以.

pecmd putf\\.\PhysicalDrive0,1s,0x000x000x000x000x00 0x00 0x00 0x00

这样能给1S填0吗?

1--62扇区,始终没行. 请给个标准的 0硬盘,1-- ...

对,写了8个0


HD0CLEAR2_63S.WCS :
#!PECMD
//参数1:无
_SUBINITZERO
    ENVIZERO=0x000x000x000x000x00 0x00 0x00 0x00
    ENVIZERO=%ZERO% %ZERO%    %ZERO%    %ZERO%    %ZERO%    %ZERO%    %ZERO%    %ZERO%   
    ENVIZERO=%ZERO% %ZERO%    %ZERO%    %ZERO%    %ZERO%    %ZERO%    %ZERO%    %ZERO%   
    //5120x00
_END
//参数1:扇区号(编号从1开始)
//参数2:磁盘号,默认0
//需要初始化 ZERO. CALL INITZERO
_SUB CLEAR_SECT
   ENVI isect=%1
   ENVI idisk=%2
   FIND $%isect%=,!
   {
      FIND $%idisk%=, ENVI idisk=0//默认磁盘0
      CALC isect=%isect% -1   //0-BASE
      PUTF \\.\PhysicalDrive%idisk%,%isect%S,%ZERO%   
   }
_END
CALLINITZERO
ENVI I=2 // (编号从1开始) 2-63
LOOP #%I%<=63, TEAMCALL CLEAR_SECT %I% 0| CALC I=%I% + 1

[ 本帖最后由 2012abc19701 于 2012-2-20 20:18 编辑 ]

mdyblog 发表于 2012-2-20 19:08:31

原帖由 2012abc19701 于 2012-2-20 18:51 发表 http://bbs.wuyou.net/images/common/back.gif
[更新178#456]PECMD-32.2012.1除夕版.多窗口多线-U45+裸机系统+18M酷MiniPE


PECMD-32.2012.1除夕版.多窗口多线-U45(已升级) +裸机系统 抢鲜版 + 18M-COOLMiniPE(已升级)
***已通过启动PE测试***
下载 ...

U45

SHOW-1:-1
SHOW    :-1

可以了。

mdyblog 发表于 2012-2-20 19:11:13

预告:新裸机系统哦拿即将出笼

原帖由 2012abc19701 于 2012-2-20 18:51 发表 http://bbs.wuyou.net/images/common/back.gif
[更新178#456]PECMD-32.2012.1除夕版.多窗口多线-U45+裸机系统+18M酷MiniPE


PECMD-32.2012.1除夕版.多窗口多线-U45(已升级) +裸机系统 抢鲜版 + 18M-COOLMiniPE(已升级)
***已通过启动PE测试***
下载 ...

预告:新裸机系统即将出笼

可以 内置 PE_外置 区,   内置安装普通XP等区, 内置数据区区 。。。。

[ 本帖最后由 2012abc19701 于 2012-2-21 08:58 编辑 ]

dvd008 发表于 2012-2-20 19:15:37

显示全部硬盘U盘分区,含隐含分区,自动分配盘符
SHOW:-1或SHOW-1:-1 // 所有 ,含隐含分区

pecmd SHOW -1:-1
pecmd SHOW :-1
pecmd SHOW 1:-1
pecmd SHOW 2:-1

显示全部硬盘分区,自动分配盘符
pecmd show f:-1


都不能显示0X17, 0X12,0X11 这几个隐藏分区,使用其它工具可以.
老的(不是你这个),pecmd SHOW -1:-1有效

dvd008 发表于 2012-2-20 19:24:46

show OK了

HD0CLEAR2_63S.WCS : 这个只能删除1扇区,2扇区以后仍然无效.
#!PECMD
//参数1:无
_SUBINITZERO
    ENVIZERO=0x000x000x000x000x00 0x00 0x00 0x00
    ENVIZERO=%ZERO% %ZERO%    %ZERO%    %ZERO%    %ZERO%    %ZERO%    %ZERO%    %ZERO%   
    ENVIZERO=%ZERO% %ZERO%    %ZERO%    %ZERO%    %ZERO%    %ZERO%    %ZERO%    %ZERO%   
    //5120x00
_END
//参数1:扇区号(编号从1开始)
//参数2:磁盘号,默认0
//需要初始化 ZERO. CALL INITZERO
_SUB CLEAR_SECT
   ENVI isect=%1
   ENVI idisk=%2
   FIND $%isect%=,!
   {
      FIND $%idisk%=, ENVI idisk=0//默认磁盘0
      CALC isect=%isect% -1   //0-BASE
      PUTF \\.\PhysicalDrive%idisk%,%isect%S,%ZERO%   
   }
_END
CALLINITZERO
ENVI I=2 // (编号从1开始) 2-63
LOOP #%I%<=63, TEAMCALL CLEAR_SECT %I% 0| CALL I=%I% + 1

mdyblog 发表于 2012-2-20 20:21:03

原帖由 dvd008 于 2012-2-20 19:24 发表 http://bbs.wuyou.net/images/common/back.gif
show OK了

HD0CLEAR2_63S.WCS : 这个只能删除1扇区,2扇区以后仍然无效.
#!PECMD
//参数1:无
_SUBINITZERO
    ENVIZERO=0x000x000x000x000x00 0x00 0x00 0x00
    ENVIZERO=%ZERO% ...


不好意思。 写错一个字母


LOOP #%I%<=63, TEAMCALL CLEAR_SECT %I% 0| CALC I=%I% + 1

CALC不是 CALL

dvd008 发表于 2012-2-21 07:50:49

0硬盘,清除1--62,OK了

我想简单修改,清除1硬盘:
FIND $%idisk%=, ENVI idisk=0//默认磁盘0
      CALC isect=%isect% -1   //0-BASE
      PUTF \\.\PhysicalDrive%idisk%,%isect%S,%ZERO%   

把ENVI idisk=0改为ENVI idisk=1 ,是不是默认1硬盘 ?这样实际没有效果.

我直接改PUTF \\.\PhysicalDrive%idisk%,%isect%S,%ZERO%
PUTF \\.\PhysicalDrive1,%isect%S,%ZERO%可以
%idisk%直接改为 1

为什么把ENVI idisk=0改为ENVI idisk=1 会无效呢?

dvd008 发表于 2012-2-21 08:41:37

下面测试OK:
清除指定扇区,我可以简单修改
ENVI I=2 // (编号从1开始) 2-63
LOOP #%I%<=63, TEAMCALL CLEAR_SECT %I% 0| CALC I=%I% + 1

I=XX
#%I%<=XX
这样就可以清除XX扇区.

mdyblog 发表于 2012-2-21 08:50:23

原帖由 dvd008 于 2012-2-21 07:50 发表 http://bbs.wuyou.net/images/common/back.gif
0硬盘,清除1--62,OK了

我想简单修改,清除1硬盘:
FIND $%idisk%=, ENVI idisk=0//默认磁盘0
      CALC isect=%isect% -1   //0-BASE
      PUTF \\.\PhysicalDrive%idisk%,%isect%S,%ZERO%   

把 ...


LOOP #%I%<=63, TEAMCALL CLEAR_SECT %I% 0| CALC I=%I% + 1

改上面的 0为 1
这里指定了idisk 为 0, 不为空。 所以 FIND $%idisk%=, ENVI idisk=0 ,条件为假,根本不执行。

mdyblog 发表于 2012-2-21 08:56:53

原帖由 dvd008 于 2012-2-21 08:41 发表 http://bbs.wuyou.net/images/common/back.gif
下面测试OK:
清除指定扇区,我可以简单修改
ENVI I=2 // (编号从1开始) 2-63
LOOP #%I%

可以

更简单:
注释 //LOOP 行
如下更清楚

//LOOP #%I%<=63, TEAMCALL CLEAR_SECT %I% 0| CALC I=%I% + 1
CALL CLEAR_SECT 扇区号XX[磁盘号D]
//磁盘号D默认为0

dvd008 发表于 2012-2-21 09:29:51

ok了.

我以前有两个代码,是以前PECMD的, 主要是设置PE系统临时目录TEMP的,

在你这个版本PECMD下无效了. 其它不需要,只更改设置TEMP

1._SUB Setemp
        FDRV PT=%TEMP%
        ENVI PT=%PT%\TEMP
        PATH %PT%
        exec !cmd.exe /c "ECHO file %PT%\*">%windir%\deltemp.ini
        REGI HKCU\Environment\TEMP=%PT%
        REGI HKCU\Environment\TMP=%PT%
        REGI HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\TEMP=%PT%
        REGI HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\TMP=%PT%
        REGI HKU\S-1-5-18\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Cookies=%PT%\Cookies
        REGI HKU\S-1-5-18\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Cache=%PT%\Temporary Internet Files
        REGI HKU\S-1-5-18\Software\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\Cache\Content\CacheLimit=#0x0004b000
        REGI HKU\S-1-5-18\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Cache\Content\CacheLimit=#0x0004b000
        ENVI
_END

_SUB deltemp
LOAD %windir%\deltemp.ini
file %temp%\*
file X:\Windows\temp\VMwareDnD\*
file X:\Windows\temp\*
file X:\Users\Default\AppData\Local\Temp\*
find explorer.exe,mess 已经清除完成!@清除TEMP #ok *0
_END

_sub windows1,w210h310,设定窗口,,%windir%\LOADOP.ico,5, `建立手动设置窗口
`根据以上变量设定选框具体状态
item button1,l25t23w150h23,设 置 TEMP 目 录,TEAM temp setting|call Setemp,,0
item button2,l25t53w150h23,清 空 TEMP 目 录,call deltemp,,0
item button2,l25t83w150h23,显 示 隐藏 分 区,SHOW -1:-1,,0
item button2,l25t113w150h23,命 令 控制台 CMD,exec cmd.exe,,0

labe label3,l25t150w150h25,请选择分辨率和色深
list list2,l25t165w150h55,使用默认分辨率|800*600|1024*768|1280*800|1440*900,,使用默认分辨率
radi radiobutton4,l25t186w55h20,默认,,1,2
radi radiobutton5,l80t186w55h20,32位,,0,2
radi radiobutton6,l135t186w55h20,16位,,0,2
item button2,l25t210w150h25,取消+关闭窗口(不要点X),KILL \%Windows1%
item button3,l25t240w150h25,确定+关闭窗口(不要点X),team call loadwim1|wait 500|kill \设定窗口,,0
_end
_sub loadwim1 `进入手动设定模式系统
find $%radiobutton1.check%=1,envi ra1=192m
find $%radiobutton2.check%=1,envi ra1=256m
find $%radiobutton3.check%=1,envi ra1=512m
calc #result = %ra1% * 3
calc #result = %result%/2
find $%list1%=%p1%,page c:\%pf% %ra1% %result%
find $%list1%=%p2%,page d:\%pf% %ra1% %result%
find $%list1%=%p3%,page e:\%pf% %ra1% %result%
find $%list1%=%p4%,page f:\%pf% %ra1% %result%
find $%radiobutton5.check%=1,envi ra2=b32
find $%radiobutton6.check%=1,envi ra2=b16
find $%list2%=使用默认分辨率,disp %ra2%
find $%list2%=800*600,disp w800h600%ra2%
find $%list2%=1024*768,disp w1024h768%ra2%
find $%list2%=1280*800,disp w1280h800b32
find $%list2%=1440*900,disp w1440h900b32
team envi ra1=|envi ra2=
_end

call @windows1
exit

dvd008 发表于 2012-2-21 09:30:48

2.

_SUB SetPEShell
   FIND $%PZ1.Check%=1,TEAM ENVI PS=1024|CALL SetFP
   FIND $%PZ2.Check%=1,TEAM ENVI PS=2048|CALL SetFP
   FIND $%List2%=%T1%,TEAM ENVI PP=C|CALL Setemp
   FIND $%List2%=%T2%,TEAM ENVI PP=D|CALL Setemp
   FIND $%List2%=%T3%,TEAM ENVI PP=E|CALL Setemp
   FIND $%List2%=%T4%,TEAM ENVI PP=F|CALL Setemp
   FIND $%List2%=%T5%,TEAM ENVI PP=G|CALL Setemp
   FIND $%List2%=%T6%,TEAM ENVI PP=H|CALL Setemp
   FIND $%List2%=%T7%,TEAM ENVI PP=X|CALL Setemp
   FIND $%List2%=%T8%,TEAM ENVI PP=Y|CALL Setemp
   FIND $%List2%=%T9%,TEAM ENVI PP=Z|CALL Setemp
   KILL \%Windows1%
_END
_SUB SetFP
   FIND $%List1%=%P1%,PAGE C:\PE_PF.SYS %PS% %PS%
   FIND $%List1%=%P2%,PAGE D:\PE_PF.SYS %PS% %PS%
   FIND $%List1%=%P3%,PAGE E:\PE_PF.SYS %PS% %PS%
   FIND $%List1%=%P4%,PAGE F:\PE_PF.SYS %PS% %PS%
   FIND $%List1%=%P5%,PAGE G:\PE_PF.SYS %PS% %PS%
   FIND $%List1%=%P6%,PAGE H:\PE_PF.SYS %PS% %PS%
   FIND $%List1%=%P7%,PAGE I:\PE_PF.SYS %PS% %PS%
   FIND $%List1%=%P8%
_END

_SUB Setemp
   PATH %PP%:\TEMP\MountPath
   REGI HKCU\Environment\TEMP=%PP%:\TEMP
   REGI HKCU\Environment\TMP=%PP%:\TEMP
   REGI HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\TEMP=%PP%:\TEMP
   REGI HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\TMP=%PP%:\TEMP
   REGI HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Cookies=%PP%:\TEMP\Cookies
   REGI HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Cache=%PP%:\TEMP\TempIE
   REGI HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\Cache\Content\CacheLimit=#0x0004b000
   REGI HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Cache\Content\CacheLimit=#0x0004b000
   REGI HKCU\SOFTWARE\WimTool\AutoMountPath=%PP%:\TEMP\MountPath
   REGI HKCU\SOFTWARE\WimTool\WimTemp=%PP%:\TEMP
   ENVI
_END
_SUB Windows1,L200T100W256H120,玄天 PE 环境设置,,EXPLORER.EXE#1,-10
   GROU Group1,L8T12W232H90,请选择临时文件位置
   ENVI T1=C:\TEMP
   ENVI T2=D:\TEMP
   ENVI T3=E:\TEMP
   ENVI T4=F:\TEMP
   ENVI T5=G:\TEMP
   ENVI T6=H:\TEMP
   ENVI T7=%SystemDrive%\TEMP
   ENVI T8=Y:\TEMP
   ENVI T9=Z:\TEMP
   LIST List2,L16T34W214H20,%T1%|%T2%|%T3%|%T4%|%T5%|%T6%|%T7%|%T8%|%T9%,,%T1%
item button1,l15t65w60h25,确 定,team CALL SetPEShell
item button2,l170t65w60h25,取 消,team KILL \%Windows1%

_END
CALL @Windows1
ENVI

dvd008 发表于 2012-2-21 09:42:00

原帖由 2012abc19701 于 2012-2-20 19:11 发表 http://bbs.wuyou.net/images/common/back.gif


预告:新裸机系统即将出笼

可以 内置 PE_外置 区,   内置安装普通XP等区, 内置数据区区 。。。。
相当于内置一个硬盘了吧?

dvd008 发表于 2012-2-21 10:35:37

参考你的脚本,我那代码,肯定是语法错误了,

我试着改改你的

yj0176 发表于 2012-2-21 11:08:27

楼主威武。。。。。。

mdyblog 发表于 2012-2-21 11:13:10

原帖由 dvd008 于 2012-2-21 09:29 发表 http://bbs.wuyou.net/images/common/back.gif
ok了.

我以前有两个代码,是以前PECMD的, 主要是设置PE系统临时目录TEMP的,

在你这个版本PECMD下无效了. 其它不需要,只更改设置TEMP

1._SUB Setemp
      FDRV PT=%TEMP%
      ENVI PT=%PT%\TEMP
      PATH %PT%
...


我测试过。下面的代码正常:

ENVI PT=C:\TEMP222
      REGI HKCU\Environment\TEMP=%PT%
      REGI HKCU\Environment\TMP=%PT%
      REGI HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\TEMP=%PT%
      REGI HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\TMP=%PT%
MDIR %PT%
      PATH %PT%
      EXEC CMD.EXE/KCD

mdyblog 发表于 2012-2-21 11:15:08

原帖由 dvd008 于 2012-2-21 10:35 发表 http://bbs.wuyou.net/images/common/back.gif
参考你的脚本,我那代码,肯定是语法错误了,

我试着改改你的

没错。
只是绕了一下。 循环了一次。
有更简单

mdyblog 发表于 2012-2-21 11:17:37

原帖由 dvd008 于 2012-2-21 09:42 发表 http://bbs.wuyou.net/images/common/back.gif

相当于内置一个硬盘了吧?

不是内置一个硬盘,这样, 正常的XP、LINUX不能安装(需要模拟硬盘驱动)

而是MBROS内部分片。不同片用途不同 。

mdyblog 发表于 2012-2-21 11:36:40

[更新179#447]PECMD-32.2012.1除夕版.多窗口多线-U46+裸机系统+18M酷MiniPE

[更新179#447]PECMD-32.2012.1除夕版.多窗口多线-U46+裸机系统+18M酷MiniPE


PECMD-32.2012.1除夕版.多窗口多线-U46(已升级) +裸机系统 抢鲜版 + 18M-COOLMiniPE(已升级)
***已通过启动PE测试***
下载: http://mdyblog.blog.163.com/blog/static/106150119201202591855298/

179#447楼 U46ENVI PUTF 支持重复因子
ENVI$DATA=*1M 30 0d 0a   //HEX
ENVI% DATA=*1M 48 13 10//DEC

ENVI= DATA=*1K 0x00         //SUB STR


PUTF   ABC.DAT,0,*1M 0x00      0x23 0xAD *1K 0x1C 128//PUTF

[ 本帖最后由 2012abc19701 于 2012-2-21 11:40 编辑 ]

mdyblog 发表于 2012-2-21 11:45:33

原帖由 2012abc19701 于 2012-2-21 11:36 发表 http://bbs.wuyou.net/images/common/back.gif
[更新179#447]PECMD-32.2012.1除夕版.多窗口多线-U46+裸机系统+18M酷MiniPE


PECMD-32.2012.1除夕版.多窗口多线-U46(已升级) +裸机系统 抢鲜版 + 18M-COOLMiniPE(已升级)
***已通过启动PE测试***
下载 ...


扇区清0更简单

PUTF \\.\PhysicalDrive0,1S,*62S 0x00// 清除 1-62扇区 (0开始编号)

也可以:
ENVI=   &DATA=*62S 0x00 //这里 &DATA自动扩展为 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00..... 31K个0x00. 变量太大,需要局部变量才能存储。
PUTF \\.\PhysicalDrive0,1S,%&DATA%

[ 本帖最后由 2012abc19701 于 2012-2-21 11:47 编辑 ]

dvd008 发表于 2012-2-21 13:28:06

pecmd PUTF \\.\PhysicalDrive0,1S,*62S 0x00
这个太好了,简单

dvd008 发表于 2012-2-21 13:35:30

无参数时,
pecmd SHOW

删除/显示 非隐藏分区

是这样吗? 有盘符,删除. 没有就显示.

我测试是这样

lmle 发表于 2012-2-21 13:39:03

原帖由 2012abc19701 于 2012-2-20 14:09 发表 http://bbs.wuyou.net/images/common/back.gif


A:
系统在登录前是看不到用户界面.

目前 只有对话框 才能在 登录前显示, 和shutdown一样。
MESS需要-svr 后缀。

另外 PECMD EXEC/InstallService本身就能把自己安装成服务。

空闲休 ...
用MESS在登录前显示信息成功,谢谢!
提个建议:
LPOS、RPOS这两个查找字符、字符串的命令,有时是需要区分大小写查找的,期望你能加个参数支持这个功能。

mdyblog 发表于 2012-2-21 13:52:15

原帖由 lmle 于 2012-2-21 13:39 发表 http://bbs.wuyou.net/images/common/back.gif

用MESS在登录前显示信息成功,谢谢!
提个建议:
LPOS、RPOS这两个查找字符、字符串的命令,有时是需要区分大小写查找的,期望你能加个参数支持这个功能。
好的。下次

mdyblog 发表于 2012-2-21 14:22:34

原帖由 dvd008 于 2012-2-21 13:35 发表 http://bbs.wuyou.net/images/common/back.gif
无参数时,
pecmd SHOW

删除/显示 非隐藏分区

是这样吗? 有盘符,删除. 没有就显示.

我测试是这样


pecmd SHOW
pecmd SHOW-1:-1
均是加载所有分区,包刮隐藏分区
再下载一次吧。
页: 5 6 7 8 9 10 11 12 13 14 [15] 16 17 18 19 20 21 22 23 24
查看完整版本: [更新376#2825]PECMD2012.1.80.13_Win32_64.多窗口多线程.裸机系统2.3.3.1+18M酷M...