@ECHO off
color 4f
REM 改变当前路径到批处理所在路径
cd /d "%~dp0"
Echo.
Set RP=
Set /P RP=请输入要写入mbr的分区符(请确认要写入mbr的分区是主分区,不需要冒号,例如C),然后按回车:
Echo.&&Echo.
:0001
CLS
ECHO.
ECHO 请选择写入mbr的方式
ECHO. ┏━━━━━━━━━━━━━━━━━━━━━━━┓
ECHO ┃ ┃
ECHO ┃ 1 写入nt52引导, 2k/xp/2k3系统专用 ┃
ECHO ┃ ┃
ECHO ┃ 2 写入nt60引导, vista/win2008/win7系统专用 ┃
ECHO ┃ ┃
ECHO ┗━━━━━━━━━━━━━━━━━━━━━━━┛
set /p az= 请输入对应的数字后[Enter]继续:
if "%az%"=="1" goto 00052
if "%az%"=="2" goto 00060
ECHO 输入错误,按任意键重新输入....
PAUSE>NUL 2>NUL
GOTO 0001
:00052
bootsect /nt52 %RP%: /mbr
ECHO.
ECHO nt52_mbr成功写入%RP%:盘,按任意键继续...
ECHO.
PAUSE>NUL 2>NUL
:0003
CLS
ECHO.
ECHO 正在检测磁盘信息. . .
fbinst --list
set /p nn=请输入要激活分区的磁盘符号回车继续:hd
set hd=(hd%nn%)
if "%nn%"=="" goto 0003
ECHO 您选择的磁盘符号为:%hd%
ECHO 请确认选择无误后,按任意键继续
PAUSE>NUL 2>NUL
:0005
CLS
ECHO 是否激活%hd%的%RP%:分区?
ECHO ┏━━━━━━━━━━━┓
ECHO ┃ ┃
ECHO ┃ 1 激活%RP%:分区 ┃
ECHO ┃ ┃
ECHO ┃ 2 不激活%RP%:分区 ┃
ECHO ┃ ┃
ECHO ┗━━━━━━━━━━━┛
set /p a5= 请输入对应的数字后[Enter]继续:
if "%a5%"=="1" goto 0004
if "%a5%"=="2" EXIT
ECHO 输入错误,按任意键重新输入....
PAUSE>NUL 2>NUL
GOTO 0005
:0004
if "%RP%"=="C" SET RR=1&&GOTO 0006
if "%RP%"=="D" SET RR=2&&GOTO 0006
if "%RP%"=="E" SET RR=3&&GOTO 0006
if "%RP%"=="F" SET RR=4&&GOTO 0006
if "%RP%"=="G" SET RR=5&&GOTO 0006
if "%RP%"=="H" SET RR=6&&GOTO 0006
if "%RP%"=="I" SET RR=7&&GOTO 0006
if "%RP%"=="J" SET RR=8&&GOTO 0006
if "%RP%"=="K" SET RR=9&&GOTO 0006
if "%RP%"=="L" SET RR=10&&GOTO 0006
if "%RP%"=="M" SET RR=11&&GOTO 0006
if "%RP%"=="N" SET RR=12&&GOTO 0006
if "%RP%"=="O" SET RR=13&&GOTO 0006
if "%RP%"=="P" SET RR=14&&GOTO 0006
if "%RP%"=="Q" SET RR=15&&GOTO 0006
if "%RP%"=="R" SET RR=16&&GOTO 0006
if "%RP%"=="S" SET RR=17&&GOTO 0006
if "%RP%"=="T" SET RR=18&&GOTO 0006
if "%RP%"=="U" SET RR=19&&GOTO 0006
if "%RP%"=="V" SET RR=20&&GOTO 0006
if "%RP%"=="W" SET RR=21&&GOTO 0006
if "%RP%"=="X" SET RR=22&&GOTO 0006
if "%RP%"=="Y" SET RR=23&&GOTO 0006
if "%RP%"=="Z" SET RR=24&&GOTO 0006
if "%RP%"=="A" SET RR=25&&GOTO 0006
if "%RP%"=="B" SET RR=26
:0006
CLS
ECHO 您选择的分区号为:%RP%:
ECHO 请确认选择无误后,按任意键继续,若无反应,请按两次任意键。。。
PAUSE>NUL 2>NUL
set /a mm=%nn%+1
Gdisk32 %mm% /act /p:%RR%
ECHO 您选择的%hd%磁盘%RP%:分区已激活
PAUSE>NUL 2>NUL
EXIT
:00060
bootsect /nt60 %RP%: /mbr
ECHO.
ECHO nt60_mbr成功写入%RP%盘,按任意键继续....
PAUSE>NUL 2>NUL
:0003A
CLS
ECHO.
ECHO 正在检测磁盘信息. . .
fbinst --list
set /p nn=请输入要激活分区的磁盘符号回车继续:hd
set hd=(hd%nn%)
if "%nn%"=="" goto 0003A
ECHO 您选择的磁盘符号为:%hd%
ECHO 请确认选择无误后,按任意键继续
PAUSE>NUL 2>NUL
:0005A
CLS
ECHO 是否激活%hd%的%RP%:分区?
ECHO ┏━━━━━━━━━━━┓
ECHO ┃ ┃
ECHO ┃ 1 激活%RP%:分区 ┃
ECHO ┃ ┃
ECHO ┃ 2 不激活%RP%:分区 ┃
ECHO ┃ ┃
ECHO ┗━━━━━━━━━━━┛
set /p b5= 请输入对应的数字后[Enter]继续:
if "%b5%"=="1" goto 0004A
if "%b5%"=="2" EXIT
ECHO 输入错误,按任意键重新输入....
PAUSE>NUL 2>NUL
GOTO 0005A
:0004A
if "%RP%"=="C" SET RR=1&&GOTO 0006A
if "%RP%"=="D" SET RR=2&&GOTO 0006A
if "%RP%"=="E" SET RR=3&&GOTO 0006A
if "%RP%"=="F" SET RR=4&&GOTO 0006A
if "%RP%"=="G" SET RR=5&&GOTO 0006A
if "%RP%"=="H" SET RR=6&&GOTO 0006A
if "%RP%"=="I" SET RR=7&&GOTO 0006A
if "%RP%"=="J" SET RR=8&&GOTO 0006A
if "%RP%"=="K" SET RR=9&&GOTO 0006A
if "%RP%"=="L" SET RR=10&&GOTO 0006A
if "%RP%"=="M" SET RR=11&&GOTO 0006A
if "%RP%"=="N" SET RR=12&&GOTO 0006A
if "%RP%"=="O" SET RR=13&&GOTO 0006A
if "%RP%"=="P" SET RR=14&&GOTO 0006A
if "%RP%"=="Q" SET RR=15&&GOTO 0006A
if "%RP%"=="R" SET RR=16&&GOTO 0006A
if "%RP%"=="S" SET RR=17&&GOTO 0006A
if "%RP%"=="T" SET RR=18&&GOTO 0006A
if "%RP%"=="U" SET RR=19&&GOTO 0006A
if "%RP%"=="V" SET RR=20&&GOTO 0006A
if "%RP%"=="W" SET RR=21&&GOTO 0006A
if "%RP%"=="X" SET RR=22&&GOTO 0006A
if "%RP%"=="Y" SET RR=23&&GOTO 0006A
if "%RP%"=="Z" SET RR=24&&GOTO 0006A
if "%RP%"=="A" SET RR=25&&GOTO 0006A
if "%RP%"=="B" SET RR=26
:0006A
CLS
ECHO 您选择的分区号为:%RP%:
ECHO 请确认选择无误后,按任意键继续,若无反应,请按两次任意键。。。
PAUSE>NUL 2>NUL
set /a mm=%nn%+1
Gdisk32 %mm% /act /p:%RR%
ECHO 您选择的%hd%磁盘%RP%:分区已激活
PAUSE>NUL 2>NUL
EXIT
[ Last edited by tclshx on 2010-11-19 at 13:10 ]作者: wewebb 时间: 2010-11-19 19:19 关于 gdisk32 的 /p 参数意思,其实跟 C 、 D 这些盘符不是固定对应的。
/p:num 这个 num 是该硬盘中第几分区的序数。例如: 将第3块硬盘的第3主分区激活,命令就是:
gdisk32 3 /act /p:3
同一个分区,可能是 E 盘,也可能是 F 盘。
我想在 VirtualBox 中来说明一下:
[ Last edited by wewebb on 2010-11-19 at 19:35 ]作者: tclshx 时间: 2010-11-19 20:19
Quote:
Originally posted by wewebb at 2010-11-19 07:19 PM:
关于 gdisk32 的 /p 参数意思,其实跟 C 、 D 这些盘符不是固定对应的。