|
本帖最后由 chiannet 于 2022-6-14 14:36 编辑
ENVI &L=W M N Q R S T U V B D E F G H I J K L O P A Z
ENVI &T0=
CALC &Ti=0
ENVI &LG=X:\找外置文件历程.LOG
FORX %WINDIR%\精确定位文件\ZW-*,&T0,1,
{
FNAM &T0=%&T0%
ENVI &T0=BOOT\EXTAPP\%&T0%
WRIT %&LG%,$+0,索引文件是“%&T0%”。
Find #%&Ti%=0,CALL FT0 "在未执行挂载任何隐藏分区行为之前,"
MOUN -udm -u+ -mall -mhide -tag:%&T0% *
CALL FT0 "执行“MOUN -udm -u+ -mall -mhide -tag:%&T0% *”之后,"
MOUN -udm -u+ -udfs -udimg:USBOSV3.iso -mall -mhide -check -CheckFile:%&T0% *
CALL FT0 "执行“MOUN -udm -U+ -udfs -udimg:USBOSV3.iso -mall -mhide -check -CheckFile:%&T0% *”之后,"
TEAM CALL FT0M1|CALL BPART|CALL FT0M2
FIND $%WINDIR%=X:\WINDOWS,ENVI &TS=本机BIOS不兼容当前PE?!ENVI &TS=启动WIN2003 PE前,USB XHCI曾经被启用了?【停用USB XHCI方法:进入BIOS->不做任何调整->退岀BIOS】
TEXT 抱歉,搜索不到或未能自动挂载外置程序所在的分区。请给卷标为“USBOS”的那个(些)分区手动分配盘符。\n\n下表将仅列出USB存储设备。若列表为空,包括但不限于如下原因:\n\n 1、不恰当地使用了GRUB4DOS USB ACC(加速)功能?\n 2、%&TS% #0x000000 L28 T28 $16
PART -gui -usb
CALL FT0 "在手动指派盘符之后,"
}
CALL TEND
_SUB BPART
FORX %WINDIR%\SYSTEM32\BOOTPART.EXE,&C,1,
{
FORX * %&L%,&K,
{
IFEX %&K%:,!
{
EXEC -wait -hide %&C% -mount -readonly -driveletter %&K%:
CALC &Ti=%&Ti%+1
IFEX %&K%:\%&T0%,
{
ENVI BOOTPART_成功=Y
REGI $HKLM\SOFTWARE\USBOS\BP%&K%=YES
CALL TEND %&K% "%&Ti%、在尝试用BOOTPART挂载隐藏分区之后,"
}!
{
WRIT %&LG%,+0,
IFEX %&K%:,WRIT %&LG%,$+0,%&Ti%、BOOTPART挂载的分区未发现索引文件。!WRIT %&LG%,$+0,%&Ti%、BOOTPART未能挂载任何分区。
EXEC -wait -hide %&C% -eject
}
EXIT _SUB
}
}
}
_END
_SUB FT0M1
TEAM ENVI &UD=|ENVI &NUD=
PART LIST DISK,&DISKX
FORX * %&DISKX%,&ID,
{
PART -DEVID LIST DISK %&ID%,DEVID0V2V
MSTR 容量=<2>%DEVID0V2V%
FIND #%容量%>1000,
{
MSTR 总线=<9>%DEVID0V2V%
FIND $%总线%=7,ENVI &UD=%&ID% %&UD%!ENVI &NUD=%&ID% %&NUD%
}
}
FORX * %&UD% %&NUD%,&ID,
{
SHOW %&ID%:-1
CALL FT0 "执行“SHOW %&ID%:-1”之后,"
MOUN -udm -mall -mhide -u+ -udfs -CheckFile:%&T0% \\.\PhysicalDrive%&ID% U-
CALL FT0 "执行“MOUN -udm -mall -mhide -u+ -udfs -CheckFile:%&T0% \\.\PhysicalDrive%&ID% U-”之后,"
MOUN -udm -udm- -mall -mhide1 -udfs -udimg:USBOSV3.iso -CheckFile:%&T0% \\.\PhysicalDrive%&ID% U-
CALL FT0 "执行“MOUN -udm -udm- -mall -mhide1 -udfs -udimg:USBOSV3.iso -CheckFile:%&T0% \\.\PhysicalDrive%&ID% U-”之后,"
}
_END
_SUB FT0M2
FORX * %&L%,&K,
{
IFEX %&K%:,!
{
CALC &Ti=%&Ti%+1
FORX * U ISO\U ISOS\U,PO,
{
FORX !\%PO%SBOSV3.iso,ISO,0,
{
IFEX %&K%:,EXEC -wait -hide IMDISK.EXE -d -m %&K%:
EXEC =!IMDISK -a -f "%ISO%" -m %&K%:
IFEX %&K%:\%&T0%,
{
REGI $HKLM\SOFTWARE\USBOS\MOUNT%&K%=YES
CALL TEND %&K% "%&Ti%、在尝试用IMDISK挂载“%ISO%”之后,"
}!
{
WRIT %&LG%,+0,
WRIT %&LG%,$+0,%&Ti%、IMDISK装载的“%ISO%”没有发现索引文件。
EXEC =!imdisk -D -m %&K%:
EXEC =!imdisk -R -m %&K%:
}
}
}
EXIT _SUB
}
}
_END
_SUB FT0
CALC &Ti=%&Ti%+1
WRIT %&LG%,+0,
FORX \%&T0%,&R,1,CALL TEND "%&R%" "%&Ti%、%~1"
WRIT %&LG%,$+0,%&Ti%、%~1没找到外置文件。
_END
_SUB TEND
FIND $%~1=,
{
FIND $%&T0%=,WRIT %&LG%,$+0,没找到索引文件“%WINDIR%\精确定位文件\ZW-*”。
FILE %&LG%->%DESKTOP%
}!
{
LSTR &V2=1,%~1
WRIT %&LG%,$+0,%~2找到了外置文件所在分区“%&V2%:”。
FIND #%&Ti%=1,
{
REGI $HKLM\SOFTWARE\USBOS\MOUNT%&V2%=NO
}!
{
REGI $HKLM\SOFTWARE\USBOS\MOUNT%&V2%,&mv2v
FIND $%&mv2v%=,REGI $HKLM\SOFTWARE\USBOS\MOUNT%&V2%=YES
}
REGI $HKLM\SOFTWARE\USBOS\V2V=%&V2%
FIND $%&V2%=X,!
{
FORX %&V2%:\BOOT\USBOS.ico,&V0,1,
{
LSTR &V1=1,%&V0%
REGI HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\DriveIcons\%&V1%\DefaultIcon\=%&V0%
}
}
}
FIND $%BOOTPART_成功%=Y,!FORX * TEM32 WOW64,&K,TEAM FILE %WINDIR%\SYS%&K%\BOOTPART.*|FILE %WINDIR%\SYS%&K%\BOOTPT64.SYS
FILE %CURFILE%
EXIT FILE
_END
这是20220614版搜索挂载外置程序的程序,大家可以一起来检查谬误,毕竟众人拾柴火焰高,有时候自己一个人闭门造车,易僵化,甚至浅显的错误都发现不了。
|
|