2008-03-29

恢复XP、03双系统启动菜单

   一年前学习动网的时候我的很多同学都装了XP和03两个系统,03用来做 动网,可是当他们重装XP之后就很自然地发现进不了03系统了。当然这是很容易解决的,不过要让他们自己动手修改还真有点不知如何说的感觉。当时我正在学 习DOS,我就想写个批处理帮助他们解决,不过一真没空,也是自己的批处理还学不到家,放假的时候在家里终于写出了这个批处理。一转眼已经过去半年多了, 用到它的也没有几个,我已经忘了很多的命令,今天把它发表出来,供有需要的人。(说明:单有这个批处理还是不行的,它必须要有另外两个文件“ntldr” 和“NTDETECT.COM ”,百度空间不能上传附件,所以。。。)

@echo off
setlocal ENABLEDELAYEDEXPANSION ENABLEEXTENSIONS
rem MS-DOS7.0
rem 这个脚本的作用是用于解决先安装Windows 2003再安装Windows XP之后出现的无法进入Windows 2003的情况。
rem xxxcjr(希锐亚) 2007/07/28
echo.
echo 本程序将帮你恢复引导,请输入以下选项的数字
echo.
echo 1:开始恢复引导
echo 2:退出本程序,不恢复引导
echo.
set /p choicea=输入您的选择(1、2)
if "%choicea%"=="1" goto :starts
if "%choicea%"=="2" goto :quit


:starts
@cls
attrib -s -h -r %systemroot%\..\boot.ini
attrib -s -h -r %systemroot%\..\ntldr
attrib -s -h -r %systemroot%\..\NTDETECT.COM
md sys-back > nul 2>nul
copy %systemroot%\..\boot.ini sys-back\ > nul 2>nul
move %systemroot%\..\ntldr sys-back\ > nul 2>nul
move %systemroot%\..\NTDETECT.COM sys-back\ > nul 2>nul
@echo.
@echo 你的系统文件已备份到sys-back文件夹
@echo.
xcopy /h xxxcjr\ntldr %systemroot%\..\ > nul 2>nul
xcopy /h xxxcjr\NTDETECT.COM %systemroot%\..\ > nul 2>nul
echo.
echo 你想使用默认的启动菜单还是定制一个属于你自己的启动菜单?
echo (提示:若你的windows XP不是安装在C盘,windows 2003不是安装在D盘,请定制自己的启动菜。)
echo.
echo 1: 使用默认的启动菜单
echo 2: 定制自己的启动菜单
echo.
set /p choiceb=输入您的选择(1、2)
if "%choiceb%"=="1" goto :starts1
if "%choiceb%"=="2" goto :myself

:myself
cls
echo 开始定制你自己的启动菜单...
echo.
echo 输入你的windows XP的partition(分区)数
echo (提示:如果你的Windows XP在C盘则输入1,如果你的Windows XP在D盘则输入2,依此类推。)
set /p part1=请输入
echo.
echo 输入你的windows 2003的partition(分区)数
echo (提示:如果你的Windows 2003在C盘则输入1,如果你的Windows 2003在D盘则输入2,依此类推。)
set /p part2=请输入
echo.
echo 设定默认等待时间
echo (提示:若不想显示倒计时可输入-1)
set /p choicec=请输入
echo.
echo 设定个性化的XP选项
echo (提示,如:xxxcjr的Windows XP)
set /p choicee=请输入
echo.
echo 设定个性化的2003选项
echo (提示,如:xxxcjr的Windows 2003)
set /p choicef=请输入
echo [boot loader] >%systemroot%\..\boot
echo timeout=%choicec% >>%systemroot%\..\boot
echo.
echo.
echo 以下星号线中的内容将是你的启动时见到的菜单,请选择你的默认启动系统
echo (提示:若你想重新修改启动菜单,请输入3)
echo.
echo ***************************
echo.
echo 1: %choicee%
echo 2: %choicef%
echo.
echo ***************************
echo.
set /p choiced=输入您的选择(1、2、3)
if "%choiced%"=="1" echo default=multi(0)disk(0)rdisk(0)partition(%part1%)\WINDOWS >>%systemroot%\..\boot
if "%choiced%"=="2" echo default=multi(0)disk(0)rdisk(0)partition(%part2%)\WINDOWS >>%systemroot%\..\boot
if "%choiced%"=="3" goto :myself
echo [operating systems] >>%systemroot%\..\boot
echo multi(0)disk(0)rdisk(0)partition(%part1%)\WINDOWS="%choicee%" /fastdetect >>%systemroot%\..\boot
echo multi(0)disk(0)rdisk(0)partition(%part2%)\WINDOWS="%choicef%" /fastdetect >>%systemroot%\..\boot
del /q %systemroot%\..\boot.ini nul 2>nul
ren %systemroot%\..\boot boot.ini nul 2>nul
attrib +s +h +r %systemroot%\..\boot.ini
goto :shdown


:starts1
del /q %systemroot%\..\boot.ini nul 2>nul
xcopy /h xxxcjr\boot.ini %systemroot%\..\ nul 2>nul
goto :shdown


:shdown
cls
echo.
echo 引导程序恢复完成,请输入以下选项前面的数字
echo.
echo 1: 重启系统
echo 2: 稍后手动重启系统
echo.
set /p choiceh=输入您的选择(1、2)
if "%choiceh%"=="2" goto :quit2
if "%choiceh%"=="1" goto :rebootsys

:quit
goto :quit2


:rebootsys
@cls
@shutdown -r -t 05 > nul 2>nul
goto :quit2

:quit2
@ENDLOCAL

没有评论:

留言须知:
0. 你有權保持沉默,但你所說的將作為此BLOG有人訪問的證據。
1. 支持的HTML標籤:<a href="" title=""> <b> <em> <i> <strong>。
2. 留言留名,不然易被无视。(在“评论”中选择“名称/网址”,网址可以不填)。
3. 原則上我不删除留言,除非那則留言侮辱到你。