杀毒U盘
WinPE系统分光盘、U盘和硬盘启动,其挂载WIM文件有可写和非可写挂载两种方式,要是可写介质启动的话可以实现可写挂载(本文不重点探 讨)。光盘是非可写的,无法可写挂载WIM文件。 一些软件运行的时候会产生一些文件,如:杀软、迅雷等,如果非可写的话就会出错。现提供 一种方法彻底解决这样的问题,解决的关键就是判断WinPE系统是从那种介质启动的?如果是CD方式启动的,就是非可写的。这个判断让WIM文 件里的启动程序来做是最好的。下面以opera.wim为例说明处理方法,假设opera.wim中包含两个文件,一个opera.exe,另一个opera.cmd,而 关键的部分就opera.cmd,其代码如下: @echo off COLOR 5f for %%a in (y x w v u t s r q p o n m l k j i h g f e d c) do ( if exist %%a:\minipe\opera.wim ( if not exist %%a:\minipe\opera.wim\ ( fsutil fsinfo drivetype %%a:|findstr /i "CD">nul&&( call :one exit)||( call :two exit) ) ) ) :one echo. echo 启动程序判断此PE是光盘启动的,光盘是非可写介质,为了是程序正常启动, echo. echo. 请指定文件运行的分区,我们会将文件复制到您指定分区的peopera下,以便 echo. echo. 下次可以减少此次操作。 echo. ------------------------------------------------------------------- echo. set /p TP=请输入运行分区 echo. echo. Set TP=%TP:~0,1% xcopy Y:\opera /e %TP%:\peopera\ /y /h /r>nul 2>nul attrib -r -a %TP%:\peopera /s /d pushd %TP%:\peopera start operausb.exe ) goto :eof :two start operausb.exe goto :eof 说明: 1、首先,用户点击运行opera.wim的时候,会先启动里面的opera.cmd,由它来判断WinPE系统是不是在CD介质上启动运行的,如果是,那么就 提示用户设置一个本地分区,当用户指定本地分区后,这时候,opera.cmd就会将所需的文件复制到本地分区上并运行。如果判断WinPE系统在可 写介质上运行,那么就直接运行程序。 2、此判断程序需要有findstr.exe和fsutil.exe这两个文件,一般的WinPE系统内核中是没有的,这两个文件或放在内核中,或放在WIM文件中,但建议放在内核中,因为有许多软件都需要同样的处理。 3、此方法适用于ISO和IMG核心的WinPE系统,同样也适合是否开B盘的。
有时候我们需要对PE注册表添加一些信息,如何来添加呢?这就来告诉你。
使用 Regsnap 等在标准的 Windows 环境下跟踪分析出软件要添加到注册表中的内容,然后将注册表修改条目导出,并改写成批处理文件,保存到软件所在的目录中。
比如对 ACDSEE 这各程序的注册信息跟踪后就保存在:
X:\PROGRAMS\图形图像\ACDSEE\ACDSEE.CMD
建议参照 X:\PROGRAMS\图形图像\ACDSEE 这个程序的保存方式保存你要添加的软件,原则是与主程序集中到相同目录存放(包括可能要用到的图标文件),以便日后维护修改。并参照 其中的 ACDSEE.CMD 这个注册批处理的格式和样式创建你自己应用程序的注册批处理文件。
注意:为了保证 PE 环境和标准 Windows 环境下调用这些脚本都能够运行,因此我们要检测程序所在的实际路径或所在的盘符。
创建批处理时,最前面的两行就是用于检测当前目录位置的,要保留并引用其中的变量:
SET Var0=%0
FOR /f "delims=" %%I in ("%Var0%") do Set OP=%%~dpI
上述两行的作用是通过检测当前批处理所在的路径获得所在分区的盘符,从而在后面的批处理中使用 %OP% 作为外挂程序路径中要使用的所在的分区号。 %OP% 只与所在的盘符相关,与路径无关,因此你的批处理中要在盘符变量 %OP% 后加上详细的路径。比如:
REG ADD HKCR\ACDC_JIF\Shell\ACDSEEen\Command /ve /t REG_SZ /d "\"%OP%ACDSEE.EXE\" /v" /f>NUL
上述命令可在注册表中添加一条注册信息。
注意:当上述路径检测命令中,Set OP=%%~dpI 时,变量 %OP% 后面不必再添加“\”。如上面的 %OP%ACDSEE.EXE 。
也可使用 Set OP=%%~dI,与上面相比,仅仅是将其中的 ~dpI 改成了 ~dI,此时变量将不扩充到当前路径,而只扩充到当前盘符。因此如果这样使用,你必须在变量后加上程序的完整路径。比如:
%OP%\PROGRAMS\TOTALCMD\RUNTC.EXE
常见问题:
最新文章:
-
解决写保护U盘的方法:
1、查看U盘存储的文件数目;
U盘通常格式的是256个,如果超过限定额度而导致U盘出现问题是有可能的。所以,查看该U盘的根目录下的文件数目是否达到最大值,是很有必要的。
3、查看U盘中是否有不正常的驱动程序;
-
U盘格式化时的”分配单元“,指的是簇的大小。簇是文件系统存放文件时最小的单位。一个文件至少会占用一个簇。比如,如果选定簇的大小为4096字节,那么就算要存储的文件只有200字节大,它也会在硬盘上占用一个簇,也就是4097字节的存储空间。
由此可以看出,簇的大小,如果设置得过大,会造成大量的磁盘空间未被利用,浪费了磁盘空间;如果设置得过小,则会导致硬盘上簇的数量过大,硬盘会浪费大量的时间来寻道,性能降低。所以其取值应该兼顾空间和性能的需要,一般用默认值就行了。
-
昨天被朋友用优盘重装系统,里面的学习课程什么的全没了,自己恢复了半天,没恢复全还都是乱码,抱着玩闹的心态吧在u盘恢复软件上查一下,没想到还真有,一开始不太相信,大概一个小时左右就可以恢复过来了
-
昨天被朋友用优盘重装系统,里面的学习课程什么的全没了,自己恢复了半天,没恢复全还都是乱码,抱着玩闹的心态吧在u盘恢复软件上查一下,没想到还真有,一开始不太相信,大概一个小时左右就可以恢复过来了
-
学校统一出去采风,同学们一起用相机照了好多照片,刚出景点,就发现相机上提示格式化,急死了。回来后网上找了U盘杀毒软件,U盘顺利没有被格式化。太棒了!感谢!!