现在好多朋友装上了Vista,XP的双系统。但是因为现在Vista的启动菜单变了,使得重装XP以后,XP安装程序会将Vista的安装菜单覆盖。这个时候我们就需要恢复Vista的引导菜单。
其实在XP下恢复Vista的引导菜单是件很容易的事情,比在98下恢复XP的菜单方便多了,呵呵。就是放进Vista的安装光盘。进入命令提示符方式,在光盘的Boot目录下执行:
Bootsect /nt60 C:
这样就可以修复Vista的引导菜单了。怎样?简单吧?
现在好多朋友装上了Vista,XP的双系统。但是因为现在Vista的启动菜单变了,使得重装XP以后,XP安装程序会将Vista的安装菜单覆盖。这个时候我们就需要恢复Vista的引导菜单。
其实在XP下恢复Vista的引导菜单是件很容易的事情,比在98下恢复XP的菜单方便多了,呵呵。就是放进Vista的安装光盘。进入命令提示符方式,在光盘的Boot目录下执行:
Bootsect /nt60 C:
这样就可以修复Vista的引导菜单了。怎样?简单吧?
如果你为XP的用户设置了密码,但是又不想在每次启动的时候输入密码,那你可以像下面这样做:
在“运行”里输入“control userpasswords2”,在弹出的窗口中取消“要使用本机,用户必须输入用户名和密码”。确认以后在弹出的对话框里面输入你需要默认登陆的用户名和密码。就大功告成了!
这几天IE7、Windows Defender等等微软出的东西,都需要正版验证,使得很多XP纷纷下马。刚好最近我也研究了一下,就来说说吧。
如果你不打算绕过正版验证的话,目前有两种办法可以使你通过正版验证:
1. VLK版本的Windows XP
VLK是Volume Licence Key的缩写,即大客户免激活版。如果你正在使用VLK版本,同时你所使用的Key没有被微软禁掉的话,你就可以安全通过正版验证。目前我试过可以通过Windows正版验证的Key有以下几个:
MRX3F-47B9T-2487J-KWKMF-RPWBY
QC986-27D34-6M3TY-JJXP9-TBGMD
CM3HY-26VYW-6JRYC-X66GX-JVY2D
DP7CM-PD6MC-6BKXT-M8JJ6-RPXGJ
F4297-RCWJP-P482C-YY23Y-XH8W3
更换CD-Key的话,可以使用我附件里面带的OEMXP来更换
2. OEM版本的Windows XP
如果你的机器是品牌机,那OK没问题,直接安装OEM版本的WindowsXP就行了。但如果是兼容机呢?那就必须对BIOS做些手脚了。详情参考如下文章:
DMICFG 修改BIOS 激活十种OEM XP
修改BIOS,实现联想OEM版Win XP免激活
如果你的主板是华硕的话,还必须使用专用的DMI修改工具DMIFLASH来更新DMI信息。
如,要加入联想的信息,就输入:dmiflash /dms:"LEGEND Dragon"
注意,联想的家庭版和专业版,对应的显示信息是不相同的,HOME版对应的是"Legend QDI",PRO版对应的是"LEGEND Dragon"。
改生产商: DMIFLASH /DMS:"XXXXXXXXXXXX"
改型号: DMIFLASH /DPS:"Your Model Number"
改 S/N: DMIFLASH /DSS:"Your Serial Number"
相应的修改工具都可以在附件中找到
award_winflash174 在Win下刷BIOS的工具
dmicfg 直接更改dmi信息的工具
flash893 dos下刷BIOS的工具,它不会象AWDFLASH一样的有严格检测。可以用作修复BIOS等等用。
2007.04.17: 补充一个CHANGRVLKEY,因为发现一些系统不能通过OEMXP来更换CDKEY。把附件里面的这个把解压缩出来直接执行里面的CHANGRVLKEY.CMD即可。
附件:oemxp4.9.rar(793198 Byte)
附件:dmiflash.zip(42848 Byte)
附件:award_winflash1.74.rar(357412 Byte)
附件:dmicfg.zip(65932 Byte)
附件:flash893.rar(139059 Byte)
附件:changevlkey.zip(736 Byte)
首先提议:
如果你是一个很容易遗忘的人,那么一定不要忘记在第一次设置密码的同时创建一张可以恢复Windows XP中的账户密码的启动盘,它可以让你免去格式化硬盘的烦恼。
从“控制面板”中找到“用户账户”项,选中自己的账户进入如图所示的控制界面,我们可以看到左侧任务列表中有一项“阻止一个已忘记的密码”,点击后便可打开“忘记密码向导”,向导会提示插入一张格式化过的空白磁盘,操作过程中会让你输入该账户所使用的密码,很快便可以创建一张密码重设盘。
以后,当我们忘记了账户密码的时候,在没有使用“欢迎屏幕”登录方式的情况下登录到Windows XP后,按下“Ctrl + Alt + Del”组合键,出现“Windows 安全”窗口,点击选项中“更改密码”按钮,出现更改密码窗口。这个窗口中,将当前用户的密码备份,点击左下角“备份”按钮,激活“忘记密码向导”,按照提示创建密码重设盘。
如果在Windows XP的登录窗口输入了错误的密码,就会弹出“登录失败”窗口,如果你的确想不起来自己的密码是什么时,可点击“重设”按钮,启动密码重设向导,通过刚才所创建的密码重设盘,就可以用这张密码重设盘更改密码并启动系统。重新设定密码,登录Windows XP。
“密码重设盘”的创建,含有一定的危险性,因为任何人都可以使用这一张“密码重设盘”来登录Windows XP,都可以以该用户的名义进入用户帐户,操作真正用户所能操作的一切,所以必须将“密码重设盘”保存在适当的地方,以防丢失或失泄密。
方法1——利用“administrator”(此方法适用于管理员用户名不是“administrator”的情况)
我们知道在安装Windows XP过程中,首先是以“administrator”默认登录,然后会要求创建一个新账户,以进入Windows XP时使用此新建账户登录,而且在Windows XP的登录界面中也只会出现创建的这个用户账号,不会出现“administrator”,但实际上该“administrator”账号还是存在的,并且密码为空。
当我们了解了这一点以后,假如忘记了登录密码的话,在登录界面上,按住Ctrl+Alt键,再按住Del键二次,即可出现经典的登录画面,此时在用户名处键入“administrator”,密码为空进入,然后再修改“zhangbp”的口令即可。
方法2——删除SAM文件(注意,此法只适用于WIN2000)
Windows NT/2000/XP中对用户帐户的安全管理使用了安全帐号管理器(Security Account Manager , SAM)的机制,安全帐号管理器对帐号的管理是通过安全标识进行的,安全标识在帐号创建时就同时创建,一旦帐号被删除,安全标识也同时被删。安全标识是唯一的,即使是相同的用户名,在每次创建时获得的安全标识完全不同。因此,一旦某个帐号被用户名重建帐号,也会被赋予不同的安全标识,不会保留原来的权限。安全帐号管理器的具体表现就是%SystemRoot%system32configsam文件。SAM文件是Windows NT/2000/XP的用户帐户数据库,所有用户的登录名以及口令等相关信息都会保存在这个文件中。
知道了这些,我们的解决办法也产生了:删除SAM文件,启动系统,它会重建一个干净清白的SAM,里面自然没有密码了。
不过,这么简单的方法在XP是不适用的,可能微软以此为BUG,做了限制……所以现在在XP系统下,即使你删除了SAM,还是不能删除密码,反而会使系统启动初始化出错,从而进入死循环而不能进系统!!
方法3——从SAM文件中找密码(前提……会使用DOS基本命令就行)
在系统启动前,插入启动盘,进入:C:WINNTSystem3Config 用COPY命令将SAM文件复制到软盘上。拿到另一台机子读取。这里需要的工具是LC4,运行LC4,打开并新建一个任务,然后依次击“IMPORT→Import from SAM file”,打开已待破解的SAM文件,此时LC4会自动分析此文件,并显示出文件中的用户名;之后点击“Session→Begin Audit”,即可开始破解密码。如果密码不是很复杂的话,很短的时间内就会得到结果。
不过,如果密码比较复杂的话,需要时间会很长,这时我们就需要用下面的方法了。
方法4——用其他SAM文件覆盖(前提是你可以得到另外一台电脑的SAM文件和它的密码……个人觉得是最为可行的办法)
1——如上所说,SAM文件保存着登录名以及口令,那么我们只要替换SAM文件就是替换登录名以及口令了。不过,这个替换用的SAM文件的“产地”硬盘分区格式要和你的系统一样(看是FAT32还是NTFS,你自己确认)。最好这个“产地”的系统没有设密码,安全方面设置没动过(实际上很大部分的个人电脑都是这样),当然,比较保险的方式是把XP的[Win NTSystem 32Config]下的所有文件覆盖到[C:Win NTSystem 32Config]目录中(假设你的XP安装在默认分区C:),
2——如果得不到别人的帮助(我是说“万一”),你可以在别的分区上在安装一个XP系统,硬盘分区格式要和原来的一样,并且请你注意一定不要和原来的XP安装在同一分区!在开始之前,一定要事先备份引导区MBR,备份MBR的方法有很多,使用工具软件,如杀毒软件KV3000等。装完后用Administrator登陆,现在你对原来的XP就有绝对的写权限了,你可以把原来的SAM考下来,用10PHTCRACK得到原来的密码。也可以把新安装的XP的Win NTSystem 32Config下的所有文件覆盖到C:Win NTSystem 32Config目录中(架设原来的XP安装在这里),然后用KV3000恢复以前悲愤的主引导区MBR,现在你就可以用Administrator身份登陆XP了。
[2号方案我自己都觉得麻烦,还是1号:叫别人帮忙比较好……]
【另外,据说C:windows epair 目录下的SAM是原始版本的,可以用它来覆盖 system32下的这个 SAM,这样就可以删除现在的密码,而恢复到刚开始安装系统时的密码了。如果这个密码为空,岂不是…… 】
方法5——使用Win 2000安装光盘引导修复系统(前提……很明显吧?就是你要有一张Win 2000安装光盘)
使用Win 2000安装光盘启动电脑,在Wndows2000安装选择界面选择修复Windows 2000(按R键);,然后选择使用故障控制台修复(按C键),系统会扫描现有的Window2000/XP版本。一般只有一个操作系统,所以只列出了一个登录选择(l:C:Windows)。从键盘上按l,然后回车,这个时候,Window XP并没有要求输人管理员密码,而是直接登录进入了故障恢复控制台模式(如果使用的是Windows XP安装光盘启动的,那是要求输人管理员密码的。这里指的管理员是指系统内建的Administraor账户)熟悉Windows的朋友都知道,故障恢复控制台里面可以进行任何系统级别的操作,例如:复制、移动、删除文件,启动、停止服务,甚至格式化、重新分区等破坏性操作。
测试使用光盘:集成SP3的Windows 2000 Proessional 简体中文版。
测试通过的系统:Windows XP Proessional,打SPI补丁的Windows XP (FAT32和NTFS文件系统都一样)
[需要注意的是,由于各种原因,市面上的一些Windows 2000安装光盘不能够显现故障控制台登录选项,所以也无法利用这个漏洞。同时,由于故障控制台模式本身的限制,也无法从网络上利用这个漏洞,换句话说,这个漏洞仅限于单机。]
方法6——利用NET命令(有两个必要前提才行:按装WINDOWS XP的分区必须采用FAT 32文件小系统,用户名中没有汉字。)
我们知道在Windows XP中提供了“net user”命令,该命令可以添加、修改用户账户信息,其语法格式为:
net user [UserName [Password *] [options]] [/domain]
net user [UserName {Password *} /add [options] [/domain]
net user [UserName [/delete] [/domain]]
每个参数的具体含义在Windows XP帮助中已做了详细的说明,在此笔者就不多阐述了。好了,我们现在以恢复本地用户“zhangbq”口令为例,来说明解决忘记登录密码的步骤:
1、重新启动计算机,在启动画面出现后马上按下F8键,选择“带命令行的安全模式”。
2、运行过程结束时,系统列出了系统超级用户“administrator”和本地用户“zhangbq”的选择菜单,鼠标单击“administrator”,进入命令行模式。
3、键入命令:“net user zhangbq 123456 /add”,强制将“zhangbq”用户的口令更改为“123456”。若想在此添加一新用户(如:用户名为abcdef,口令为123456)的话,请键入“net user abcdef 123456 /add”,添加后可用“net localgroup administrators abcdef /add”命令将用户提升为系统管理组“administrators”的用户,并使其具有超级权限。
4、重新启动计算机,选择正常模式下运行,就可以用更改后的口令“123456”登录“zhangbq”用户了。另外,zhangbq 进入 登入後在〔控制台〕→〔使用者帐户〕→选忘记密码的用户,然後选〔移除密码〕後〔等出〕 在登入画面中选原来的用户便可不需密码情况下等入 (因已移除了) 删除刚才新增的用户,在〔控制台〕→〔使用者帐户〕→选〔alanhkg888〕,然後选〔移除帐户〕便可
[但是有人提出:在实验后得知——在安全模式命令符下新建的用户不能进入正常模式(此结论暂不确认)]
方法7——用破解密码软件(前提是你要有标准的系统安装光盘——不是那种“集成”多个系统的D版盘)
1——使用PASSWARE KIT 5.0中的Windows KEY 5.0,用于恢复系统管理员的密码,运行后生成3个文件:TXTSETUP.OEM、WINKEY.SYS和WINKEY.INF,3个文件共50KB。把这3个文件放在任何软盘中,然后使用XP安装光盘启动电脑,启动过程中按F6键让系统采用第三方驱动程序。此时,正是我们切入的最好时机,放入该软盘就会自动跳到Windows KEY的界面。他会强行把ADMINISTRATOR的密码换成12345,如此一来何愁大事不成?嗬嗬!当你重新启动以后,你会被要求再次修改你的密码。
2——使用OFFICE NT PASSWORD & REGISTRY EDITOR.用该软件可以制作LINUX启动盘,这个启动盘可以访问NTFS文件系统,因此可以很好地支持Windows 2000/XP。使用该软盘中的一个运行在LINUX下的工具NTPASSWD就可以解决问题,并且可以读取注册表并重写账号。使用方法很简单,只需根据其启动后的提示一步一步做就可以了。在此,建议你使用快速模式,这样会列出用户供你选择修改那个用户密码。默认选择ADMIN组用户,自动找到把ADMINISTRATOR的名字换掉的用户,十分方便。
3——ERD.Commander2003为Windows的管理员和最终用户,面对随时可能崩溃的系统,可能每人都会有自己的一套工具,用来挽救数据和修复系统。ERD Commander这可以算是Winternals Administrators Pak工具中最强大的组件了,其中一个引人注目的功能就是修改密码,Windows NT/2000/XP/2003 系统中任何一个用户的密码都可以在不知道原先密码的情况下被ERD修改掉。
方法8——修改屏幕保护程序(前提是你有设置屏保)
使用NTFSDOS这个可以从DOS下写NTFS分区的工具。用该软件制作一个DOS启动盘,然后到C:Win NTSystem 32下将屏幕保护程序Logon.Scr改名,接着拷贝Command.com到C:Win NTSystem 32下(WIN2000下可以用CMD.EXE),并将该文件改名为Logon.Scr。这样启动机器15分钟以后,本该出现的屏幕保护现在变成了命令行模式,而且是具有ADMINISTRATOR权限的,通过他就可以修改密码或者添加新的管理员账号了。改完以后不要忘了把屏幕保护程序的名字改回去。
方法9——使用启动脚本(前提……会使用DOS基本命令就行)
Windows XP启动脚本(startup scripts)是计算机在登录屏幕出现之前运行的批处理文件,它的功能类似于Windows 9×和DOS中的自动执行批处理文件autoexec.bat。利用这个特性,可以编写一个批处理文件重新设置用户密码,并将它加入启动脚本中,这样就达到了目的。以下是具体步骤(假设系统目录为C:Windows)。
1.使用Windows98启动盘启动电脑。在DOS下新建一个文件叫a.bat,内容只需要一条“net user”命令即可:“Net user rwd 12345678”。这条命令的意思是将用户rwd的密码设置为“12345678”(有关Net命令的用法,可参考Windows帮助)。然后将文件a.bat保存到“C:windowssystem32GroupPolicyMachineScriptsStartup”下。
2.编写一个启动/关机脚本配置文件scripts.ini,这个文件名是固定的,不能改变。内容如下:
[Startup]
0CmdLine=a.bat
0Parameters=
3.将文件scripts.ini保存到“C:winntsystem32GroupPolicyMachineScripts”下。scripts.ini保存着计算机启动/关机脚本的设置数据,文件内容通常包含两个数据段:[Startup]和[Shutdown]。[Startup]数据段下是启动脚本配置,[Shutdown]数据段下是关机脚本配置。每个脚本条目被分成脚本名和脚本参数两部分存储,脚本名保存在XCmdLine关键字下,参数保存在XParameters关键字下,这里的X表示从0开始的脚本序号,以区别多个脚本条目和标志各脚本条目的运行顺序。
4.取出Windows 98启动盘,重新启动电脑,等待启动脚本运行。启动脚本运行结束后用户rwd的密码就被恢复为“12345678”。
5.登录成功后删除上述步骤建立的两个文件。
[实际上你可以借用另一台电脑用“记事本”编写a.bat和scripts.ini,再用软盘通过DOS复制到自己的电脑上]
说明:
以上脚本使用的是FAT32文件系统,如果使用NTFS文件系统,可以将这块硬盘以从盘模式挂接到其它能识别NTFS文件系统(如Windows 2000或Windows XP)的计算机上进行上述操作。本方法可以恢复管理员(Administrator)的密码。对Windows2000系统中本地计算机用户和域用户的密码恢复同样有效。
为系统添加远程桌面
默认状态下,Windows 2000及其之前的系统并没有安装远程桌面,要想在这些系统中使用远程桌面,需要自己手工添加。
在Windows XP系统安装光盘的“SUPPORTTOOLS”目录中,可找到一个名为“Msrdpcli.exe”的程序,它实际上就是远程桌面连接登录器。将此程序复制到没有远程桌面的系统中并运行后,即可自动在系统中安装远程桌面连接程序。安装过程非常简单,连续点击“下一步”即可,当安装完成后,点击“开始→程序→附件→通讯→远程桌面连接”,便能登录网络连接远程计算机了。
让远程桌面支持多用户
Windows XP不支持多个用户同时登录远程桌面,当其他用户远程登录Windows XP时,主机上当前已登录的用户即会自动退出。不过在Windows XP SP2中提供了允许连接会话并发功能,可通过远程桌面进行多用户的同时登录,但其在默认状态下关闭了该项特性,需要通过修改注册表开启该功能。
打开注册表编辑器,依次展开“HKEY_LOCAL_MACHINESystem
CurrentControlSetControlTerminal ServerLicensing Core”分支,转到右侧窗口,在其中新建一个类型为DWORD的子键,将该键命名为“EnableConcurrentSessions”,并将键值设置为“1”,即可开启多用户登录功能。
在远程桌面中传输文件
在进行远程桌面操作时,有时需要在远程服务器与本地计算机传输文件,这是很麻烦的事。其实在远程桌面程序中内置了映射磁盘的功能,通过该功能便可以实现远程登录服务器时,自动将本地计算机的磁盘映射到远程服务器上,让传送文件变得更加简单快捷。
在“远程桌面连接程序”中展开“选项”,选择“本地资源”标签,钩选中“磁盘驱动器”。连接到远程登录到服务器上后,打开服务器的“我的电脑”,就会发现本地计算机的磁盘以及软驱、光驱都映射到了服务器上,这样传送文件便可像操作本地硬盘一样方便了。
远程桌面中使用快捷键
在本地可使用快捷键,远程桌面上同样也可以通过快捷键方便操作,例如:+键可切换当前运行程序,+键可显示“开始”菜单,而++键可在窗口和全屏之间切换客户端,+键则可显示Windows菜单。
另外,可在“远程桌面连接”窗口中单击“选项”按钮,在“本地资源”选项卡下的“键盘”栏中,选择“应用 Windows 键组合”到“远程计算机上”。这样就可将对当前系统的所有Windows快捷键操作,都应用到远程计算机的桌面上,使操作更加得心应手。
修改远程桌面连接端口
远程桌面终端服务默认端口为“3389”,为防止他人进行恶意连接,就需要对默认端口进行更改。对此可打开注册表编辑器,依次展开“HKEY_LOCAL_MACHINESYSTEM
CurrentControlSetControlTerminal ServerWds
dpwdTds cp”分支,其下的“PortNumber”键值所对应的就是端口号,将其修改即可。上面设置完成后,需要再依次展开“HKEY_LOCAL_MACHINESYSTEM
CurrentControlSetControlTerminal ServerWinStationsRDP-Tcp”分支,同样将其下的“PortNumber”键值进行更改。
当更改了服务器的远程登录端口后,可在本地的“远程桌面连接程序”中设置连接的服务器地址,然后单击“连接设置→另存为”,导出并保存连接文件。然后用记事本打开导出的“*.rdp”文件,在其中添加语句“server port:i:端口号”,保存后导入连接即可。要注意,在Windows 2000中导出的是“.cns”文件,可打开后在其中找到“Server Port =3389”语句,将其默认的“3389”端口修改为与服务器相同的登录端口。
命令行下安装远程桌面
如果系统中没有安装远程桌面服务,可使用命令行方式进行手工添加。只需打开命令提示符窗口,在命令行下输入如下三行命令:
c:>echo [Components] > c:aa
c:>echo TSEnable = on >>c:aa
c:>sysocmgr/i:c:winntinfsysoc.inf /u:c:aa /q /r
执行后,即可完成远程桌面程序的安装。
通过修改主板BIOS,来安装联想XP操作系统,具体修改方式和修改字节,网友们已经了解,但对于其它品牌机随带的XP安装系统,如何修改,请看:
1.联想: HOME/PRO通用
通过BIOS修改: 在BIOS任意地方加入"LEGEND Dragon"字符串,一般加入到BIOS Message哪里就可以了。注意大小写。
通过DMI修改: 也是在任意地方加入"LEGEND Dragon"字符串,不过不要动一些关键的值,比如CPU类型什么的,在那种地方改会让你得不偿失的。
2.清华同方: HOME/PRO通用
通过BIOS修改:在BIOS任意地方加入"THTF"字符串,加入到BIOS Message就可以了,和上面的联想是可以共存的。
通过DMI修改: 也是一样,加入"THTF"字符串到任意位置。
3.HP: HOME/PRO通用 不过PRO在某些KT333以前的VIA芯片组主板上不能用,是它本身的问题,提示“硬盘不能大于512GB”。
只能通过DMI修改,在System项里面把Manufacturer Name改成"Hewlett-Packard",在Base Board项里,同样把Manufacturer Name改成"Hewlett-Packard"。注意哦,执行HP恢复盘的标准恢复是要清空整个硬盘的,只想安装系统的请用Advanced模式来做。
4.其他一些问题
修改BIOS用相应的BIOS工具,AMI用AMIBCP修改,Award用MODBIN或MODBIN6来修改。最好在纯DOS下进行,否则可能出现保存不了的情况,MODBIN6不要用2.0beta版,会弄坏你的BIOS文件的。
修改DMI用DMICFG来修改,也必须在DOS下运行,比修改BIOS安全一些。推荐修改DMI,而不修改BIOS。
接下来就是HP PRO的问题了,这个恢复盘在检测硬盘的时候有一个小BUG,会和某些VIA主板有冲突,现象就是显示“硬盘不能大于512GB”,经过测试KT333没有这个问题,而比较老的KT133系列不论任何品牌都有这个问题。建议使用VIA主板的朋友不要使用HP PRO,除非你用KT333,其他芯片组的主板没有问题。
如何挑选各个厂商的OEM呢?我的建议是不用挑选!因为各个厂商的OEM差别很小,只在BIOS检测部分有差异,毕竟都是出自M$之手,安装任何厂商的都一样。不必再浪费时间下载了,手里有什么就装什么吧。
破解其他厂商的OEM的方法:安装前只要用上面几个厂商安装盘里的oembios.*这4个文件替换你想要安装的OEM光盘的i386下的相应文件就可以了。如果安装前没有替换,安装后提示激活,那么就用解压缩后的oembios.dat oembios.bin oembios.sig oembios.cat替换system32下面的相应文件就可以了。然后按照上面已知厂商的方法修改BIOS/DMI就行了,这样就省去了重新下载的麻烦。
Windows XP的日常维护是件既耗时又无聊的事情,如果Windows XP能够聪明一点,进行自动维护就好了。下面,就为大家介绍一种通过.inf文件让Windows XP进行自动维护的技巧,自动维护的具体内容可以任意设定,不过需要命令来实现。比如用Xcopy进行文件备份、Defrag进行磁盘碎片整理、Del删除垃圾文件等等。为了讲清楚原理,下面我们以Defrag为例,你可以根据自己的需要进行修改。
实现步骤
1.建立Main.bat文件
以管理员身份登录Windows XP,在系统盘的根目录下新建一个名为Main.bat的文件(文件名可以随便取,下同)并输入如下内容:
cd\
C:
cd Windows\system32
defrag C: /f
chkntfs C:
2.建立Main.inf文件
新建一个文件名为Main.inf的文件并输入:
[version]
Signature= "$CHICAGO$"
AdvancedINF= 2.5,"advpack.dll"
[DefaultInstall]
RunPreSetupCommands=Tst.PreSetup
RunPostSetupCommands=Tst.PostSetup
[Tst.PreSetup]
C:\Main.bat
[Tst.PostSetup]
C:\WINDOWS\SYSTEM32\TSSHUTDN.EXE 0 /DELAY:0 /POWERDOWN
在这个文件中,Signature必须设置为”$CHICAGO$”,否则文件将无法起作用。
3.建立Begin.bat文件
在C盘根目录下建立批处理文件Begin.bat,向这个文件中输入:
C:\WINDOWS\System32\rundll32.exe advpack.dll,LaunchINFSectionEx
C:\Main.inf,DefaultInstall,,32
这个命令的作用是让Windows XP启动一个硬件安装过程,从而执行.inf文件中的指令。Rundll32.exe在Windows中被用来调用DLL文件(动态链接库)中函数提供的功能。比如这里的rundll32.exe就调用了advpack.dll中的LaunchINFSectionEx函数,这个函数的作用就是启动一个.inf安装过程。不过Main.inf的内容已经和硬件安装无关,而是被我们偷梁换柱改成了系统自动维护的命令。
4.计划任务
计划任务的作用是定期执行Begin.bat文件,实现步骤如下:
(1)打开Windows XP的开始菜单进入“程序→附件→系统工具→计划任务”,双击“添加计划任务”,单击“浏览”,找到C盘根目录下面的Begin.bat文件,然后单击“下一步”按钮;
(2)设置任务执行周期为“每周”,然后单击“下一步”按钮;
(3)设置执行计划任务的密码,也就是计算机的管理员密码,然后单击“下一步”按钮;
(4)设置执行任务的具体日期和时间。
在以上例子中,我们让这个计划任务每周日的23:30执行一次文件C:\Begin.bat,进行自动维护。
实现原理
.inf文件通常用于硬件安装,其实是一个文本文件。当用户在文件上单击鼠标右键选择“安装”的时候,Windows将会根据这个文件的内容执行一系列操作,上面介绍的自动维护方法就是借助.inf文件的这个特点实现的。
我们建立的计划任务启动时,它会调用Begin.bat。Begin.bat将使用Main.inf作为配置文件启动一个安装过程,按照Main.inf中的内容执行一系列操作。
Main.inf启动时会首先执行[Tst.PreSetup]段中的语句,也就是“C:\Main.bat”,Main.bat被调用时,Windows将对C:进行磁盘碎片整理工作。Main.bat的内容越丰富,自动维护的功能就越强大。
Main.bat中的命令都执行完毕后,[Trs.PostSetup]中的语句又将被执行,也就是:
C:\WINDOWS\SYSTEM32\TSSHUTDN.EXE 0 /DELAY:0 /POWERDOWN
这个语句的作用是关闭计算机,其实是“关闭Windows XP+关闭电源”。
最后要注意的一点,这个方法只能在Windows XP Professionl中实现,Windows XP Home无法使用。