由于要完成自动判断电源的代码量会增多,需要做自动判断电源的自己修改,未经重新封装的系统不需要做自动判断电源,经封装的系统,不做自动判断电源也可以使用,但是不能软关机。
保存以下代码到记事本,另存为 "ghost安装xp到D盘.BAT"
echo 分隔行的开始,不要复制本行。。。。
@echo off
color 3F
cls
if not exist %SystemRoot%\\system32\\reg.exe (
echo %SystemRoot%\\system32\\reg.exe不存在,请从其他系统中复制!
goto exit
)
if not exist %SystemRoot%\\system32\\find.exe (
echo %SystemRoot%\\system32\\find.exe不存在,请从其他系统中复制!
goto exit
)
cls
echo 正在处理,请耐心等候。。
REG LOAD HKLM\\TempHive D:\\WINDOWS\\system32\\config\\SYSTEM >nul
reg delete HKLM\\TempHive\\MountedDevices /f >nul 2>nul
for /f "tokens=1,2,*" %%i in ('reg query HKLM\\SYSTEM\\MountedDevices /v \\DosDevices\\D: ^|find /i "\\DosDevices\\"') do (
REG ADD HKLM\\TempHive\\MountedDevices /v \\DosDevices\\C: /t REG_BINARY /d %%k /f >nul )
REG UNLOAD HKLM\\TempHive >nul
ATTRIB -R -S -H c:\\boot.ini
for /f "tokens=*" %%i in (c:\\boot.ini) do (
echo %%i | find /i "timeout=" >nul && echo timeout=5 >>c:\\boot.me_ || echo.%%i >>c:\\boot.me_
)
del c:\\boot.ini
for /f "tokens=*" %%i in (c:\\boot.me_) do (
echo %%i | find /i "default=" >nul && echo default=multi^(0^)disk^(0^)rdisk^(0^)partition^(2^)\\WINDOWS >>c:\\boot.ini || echo.%%i >>c:\\boot.ini
)
ECHO. >>c:\\boot.ini
ECHO multi^(0^)disk^(0^)rdisk^(0^)partition^(2^)\\WINDOWS="D-Driver Microsoft Windows XP Professional" /noexecute=optin /fastdetect >>c:\\boot.ini
ATTRIB +R +S +H c:\\boot.ini
del c:\\boot.me_echo 安装完毕!
pause
echo 分割行的结束,不要复制本行。。。。
这个方法我试过几百回了,帮人装过好多次了,没有不成功的,肯定是你操作不对,批处理是为楼主写的,只有符合楼主写的条件时才能启动,先ghost还原xp系统到C:盘(这一步可以省,C:盘有xp系统就行),再ghost还原xp系统到D:盘(一定要D:盘),进入C:盘的xp运行上面的批处理,如果不行请具体写入出现哪些情况,是否有开机菜单,进入开机菜单能否启动,启动过程中有什么出错提示,是否能进入开机画面,是否能进入桌面等等。
上面的批处理写漏了一行,但是不影响使用,在系统中没有reg.exe和find.exe时没有错误提示,直接运行不了,系统中有着两个文件就没问题,以下代码是修复错误提示的代码
保存以下代码到记事本,另存为 "ghost安装xp到D盘.BAT"
echo 分隔行的开始,不要复制本行。。。。
@echo off
color 3F
cls
if not exist %SystemRoot%\\system32\\reg.exe (
echo %SystemRoot%\\system32\\reg.exe不存在,请从其他系统中复制!
goto exit
)
if not exist %SystemRoot%\\system32\\find.exe (
echo %SystemRoot%\\system32\\find.exe不存在,请从其他系统中复制!
goto exit
)
cls
echo 正在处理,请耐心等候。。
REG LOAD HKLM\\TempHive D:\\WINDOWS\\system32\\config\\SYSTEM >nul
reg delete HKLM\\TempHive\\MountedDevices /f >nul 2>nul
for /f "tokens=1,2,*" %%i in ('reg query HKLM\\SYSTEM\\MountedDevices /v \\DosDevices\\D: ^|find /i "\\DosDevices\\"') do (
REG ADD HKLM\\TempHive\\MountedDevices /v \\DosDevices\\C: /t REG_BINARY /d %%k /f >nul )
REG UNLOAD HKLM\\TempHive >nul
ATTRIB -R -S -H c:\\boot.ini
for /f "tokens=*" %%i in (c:\\boot.ini) do (
echo %%i | find /i "timeout=" >nul && echo timeout=5 >>c:\\boot.me_ || echo.%%i >>c:\\boot.me_
)
del c:\\boot.ini
for /f "tokens=*" %%i in (c:\\boot.me_) do (
echo %%i | find /i "default=" >nul && echo default=multi^(0^)disk^(0^)rdisk^(0^)partition^(2^)\\WINDOWS >>c:\\boot.ini || echo.%%i >>c:\\boot.ini)
ECHO. >>c:\\boot.ini
ECHO multi^(0^)disk^(0^)rdisk^(0^)partition^(2^)\\WINDOWS="D-Driver Microsoft Windows XP Professional" /noexecute=optin /fastdetect >>c:\\boot.ini
ATTRIB +R +S +H c:\\boot.ini
del c:\\boot.me_
echo 安装完毕!
:exit
pause
echo 分割行的结束,不要复制本行。。。。