一個配合LONGHORN的WIM方式封裝的批處理文件
WIM格式封裝與傳統的GHOST相比,至少有兩個好處:
1:可支持重複文件壓縮
2:可支持恢復到C硬碟意外的分區
不過由於longhorn版本的SETUP.EXE與XP不是很相容,因而在恢復後的步驟只能採取SYSYPREP方式.
封裝前,把以下的代碼儲存為setupclean.cmd儲存在\WINDOWS目錄,並且在註冊表裡用runonce子鍵功能進行呼叫,即可實現恢復到C硬碟意外的分區並自動清除臨時文件的功能.
: -------------------------------------------------------------------------
: Auto Clean Setup Tempfiles and modify boot.ini
: -------------------------------------------------------------------------
: Copyright(R)1980-2005 Microsoft Crack Center MCC(1980-2005)
:
: tesk work by mstest@MCC 20050515
:
:
mstested@hotmail.com
: -------------------------------------------------------------------------
@echo off
: Get Wim setup TEMPDRIVE var
set TEMPDRIVE=A
if exist c:\$WINDOWS.~BT set TEMPDRIVE=C:
if exist d:\$WINDOWS.~BT set TEMPDRIVE=D:
if exist e:\$WINDOWS.~BT set TEMPDRIVE=E:
if exist f:\$WINDOWS.~BT set TEMPDRIVE=F:
if exist g:\$WINDOWS.~BT set TEMPDRIVE=G:
if exist h:\$WINDOWS.~BT set TEMPDRIVE=H:
if exist i:\$WINDOWS.~BT set TEMPDRIVE=I:
if exist j:\$WINDOWS.~BT set TEMPDRIVE=J:
if exist k:\$WINDOWS.~BT set TEMPDRIVE=K:
if exist l:\$WINDOWS.~BT set TEMPDRIVE=L:
if exist m:\$WINDOWS.~BT set TEMPDRIVE=M:
if exist n:\$WINDOWS.~BT set TEMPDRIVE=N:
if exist o:\$WINDOWS.~BT set TEMPDRIVE=O:
if exist p:\$WINDOWS.~BT set TEMPDRIVE=P:
if exist q:\$WINDOWS.~BT set TEMPDRIVE=Q:
if exist r:\$WINDOWS.~BT set TEMPDRIVE=R:
if exist s:\$WINDOWS.~BT set TEMPDRIVE=S:
if exist t:\$WINDOWS.~BT set TEMPDRIVE=T:
if exist w:\$WINDOWS.~BT set TEMPDRIVE=W:
if exist x:\$WINDOWS.~BT set TEMPDRIVE=X:
if exist y:\$WINDOWS.~BT set TEMPDRIVE=Y:
if exist z:\$WINDOWS.~BT set TEMPDRIVE=Z:
if %TEMPDRIVE%==A goto err
: otherboot
: Clean unused files and MugeBootini if TEMPDRIVE not on c:
if %TEMPDRIVE%==C: goto baseboot
attrib -h -s -r %systemdrive%\*.*
if exist %systemdrive%\boot.ini del %systemdrive%\boot.ini /q /f
if exist %systemdrive%\bootfont.bin del %systemdrive%\bootfont.bin /q /f
if exist %systemdrive%\ntldr del %systemdrive%\ntldr /q /f
if exist %systemdrive%\ntdetect.com del %systemdrive%\ntdetect.com /q /f
if exist %systemdrive%\io.sys del %systemdrive%\io.sys /q /f
if exist %systemdrive%\msdos.sys del %systemdrive%\msdos.sys /q /f
if exist %systemdrive%\config.sys del %systemdrive%\config.sys /q /f
if exist %systemdrive%\autoexec.bat del %systemdrive%\autoexec.bat /q /f
attrib -h -s -r %TEMPDRIVE%\boot.ini
copy /y %TEMPDRIVE%\boot.ini %systemdrive%\boot.ini
findstr /v /i /c:\$WINDOWS.~BT\BOOTSECT.DAT %systemdrive%\boot.ini > %systemdrive%\boot.log
move /y %systemdrive%\boot.log %systemdrive%\boot.ini
bootcfg /Timeout 30 >nul
bootcfg /Raw "/NOEXECUTE=OPTIN /FASTDETECT" /ID 1 >nul
del %TEMPDRIVE%\boot.ini /q /f
move /y %systemdrive%\boot.ini %TEMPDRIVE%\boot.ini
attrib +H +S +R %TEMPDRIVE%\boot.ini
goto cleansetup
: baseboot
: MugeBootini if TEMPDRIVE on c:
:baseboot
attrib -h -s -r %TEMPDRIVE%\boot.ini
findstr /v /i /c:\$WINDOWS.~BT\BOOTSECT.DAT %TEMPDRIVE%\boot.ini > %TEMPDRIVE%\boot.log
move /y %TEMPDRIVE%\boot.log %TEMPDRIVE%\boot.ini
bootcfg /Timeout 30 >nul
bootcfg /Raw "/NOEXECUTE=OPTIN /FASTDETECT" /ID 1 >nul
attrib +H +S +R %TEMPDRIVE%\boot.ini
goto cleansetup
: cleansetup
: Clean wximage setup tempfiles
:cleansetup
if exist %TEMPDRIVE%\boot.bak del %TEMPDRIVE%\boot.bak /q /f
if exist %TEMPDRIVE%\$LDR$ del %TEMPDRIVE%\$LDR$ /q /f
if exist %TEMPDRIVE%\txtsetup.sif del %TEMPDRIVE%\txtsetup.sif /q /f
if exist %TEMPDRIVE%\$WINDOWS.~BT rd %TEMPDRIVE%\$WINDOWS.~BT /q /s
if exist %TEMPDRIVE%\$WINDOWS.~LS rd %TEMPDRIVE%\$WINDOWS.~LS /q /s
if exist %SystemRoot%\Panther rd %SystemRoot%\Panther /q /s
if exist %SystemRoot%\setupclean.cmd del %SystemRoot%\setupclean.cmd /q /f
set TEMPDRIVE=
exit
:err
if exist %SystemRoot%\setupclean.cmd del %SystemRoot%\setupclean.cmd /q /f
set TEMPDRIVE=
exit