标题: 求助,谁有在2003PE系统下用命令行激活主分区的小工具
[打印本页]
作者: tclshx
时间: 2010-11-18 21:26
标题: 求助,谁有在2003PE系统下用命令行激活主分区的小工具
谁有在2003PE系统下用命令行激活主分区的小工具,希望能贡献一下,并给出参数,我是用来配合BOOTSECT.EXE使用,以下是我的批处理
要求对硬盘分区写入MBR后同时激活它,目的是向无系统分区安装PE时,写入MBR并激活
下面的代码是写入MBR的
有个小工具加进进来就可以了
@ECHO off
color 4f
REM 改变当前路径到批处理所在路径
cd /d "%~dp0"
Echo.
Set RP=
Set /P RP=请输入您需要写入 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
%SystemRoot%\system32\bootsect /nt52 %RP%: /mbr
ECHO.
ECHO nt52_mbr成功写入%RP%盘
PAUSE>NUL 2>NUL
EXIT
:00060
%SystemRoot%\system32\bootsect /nt60 %RP%: /mbr
ECHO.
ECHO nt60_mbr成功写入%RP%盘
PAUSE>NUL 2>NUL
EXIT
作者: wewebb
时间: 2010-11-18 22:58
作者: tclshx
时间: 2010-11-19 09:31
作者: wewebb
时间: 2010-11-19 12:21
在 WinXP 中,我刚才试了一下。
用上述地址中第二个附件的 DSPTW 可以激活第二个主分区的。我想在 WinPE 中也是可以的。

作者: tclshx
时间: 2010-11-19 12:56
Originally posted by wewebb at 2010-11-19 12:21 PM:
在 WinXP 中,我刚才试了一下。
用上述地址中第二个附件的 DSPTW 可以激活第二个主分区的。我想在 WinPE 中也是可以的。
,然后按回车:<br/>
Echo.&&Echo.<br/>
:0001<br/>
CLS<br/>
ECHO.<br/>
ECHO 请选择写入mbr的方式<br/>
ECHO. ┏━━━━━━━━━━━━━━━━━━━━━━━┓<br/>
ECHO ┃ ┃<br/>
ECHO ┃ 1 写入nt52引导, 2k/xp/2k3系统专用 ┃<br/>
ECHO ┃ ┃<br/>
ECHO ┃ 2 写入nt60引导, vista/win2008/win7系统专用 ┃<br/>
ECHO ┃ ┃<br/>
ECHO ┗━━━━━━━━━━━━━━━━━━━━━━━┛<br/>
set /p az= 请输入对应的数字后继续:<br/>
if "%az%"=="1" goto 00052<br/>
if "%az%"=="2" goto 00060<br/>
ECHO 输入错误,按任意键重新输入....<br/>
PAUSE>NUL 2>NUL<br/>
GOTO 0001<br/>
:00052<br/>
bootsect /nt52 %RP%: /mbr<br/>
ECHO.<br/>
ECHO nt52_mbr成功写入%RP%:盘,按任意键继续...<br/>
ECHO.<br/>
PAUSE>NUL 2>NUL<br/>
:0003<br/>
CLS<br/>
ECHO.<br/>
ECHO 正在检测磁盘信息. . .<br/>
fbinst --list<br/>
set /p nn=请输入要激活分区的磁盘符号回车继续:hd<br/>
set hd=(hd%nn%)<br/>
if "%nn%"=="" goto 0003<br/>
ECHO 您选择的磁盘符号为:%hd%<br/>
ECHO 请确认选择无误后,按任意键继续<br/>
PAUSE>NUL 2>NUL<br/>
:0005<br/>
CLS<br/>
ECHO 是否激活%hd%的%RP%:分区?<br/>
ECHO ┏━━━━━━━━━━━┓<br/>
ECHO ┃ ┃<br/>
ECHO ┃ 1 激活%RP%:分区 ┃<br/>
ECHO ┃ ┃<br/>
ECHO ┃ 2 不激活%RP%:分区 ┃<br/>
ECHO ┃ ┃<br/>
ECHO ┗━━━━━━━━━━━┛<br/>
set /p a5= 请输入对应的数字后继续:<br/>
if "%a5%"=="1" goto 0004<br/>
if "%a5%"=="2" EXIT<br/>
ECHO 输入错误,按任意键重新输入....<br/>
PAUSE>NUL 2>NUL<br/>
GOTO 0005<br/>
:0004<br/>
if "%RP%"=="C" SET RR=1&&GOTO 0006<br/>
if "%RP%"=="D" SET RR=2&&GOTO 0006<br/>
if "%RP%"=="E" SET RR=3&&GOTO 0006<br/>
if "%RP%"=="F" SET RR=4&&GOTO 0006<br/>
if "%RP%"=="G" SET RR=5&&GOTO 0006<br/>
if "%RP%"=="H" SET RR=6&&GOTO 0006<br/>
if "%RP%"=="I" SET RR=7&&GOTO 0006<br/>
if "%RP%"=="J" SET RR=8&&GOTO 0006<br/>
if "%RP%"=="K" SET RR=9&&GOTO 0006<br/>
if "%RP%"=="L" SET RR=10&&GOTO 0006<br/>
if "%RP%"=="M" SET RR=11&&GOTO 0006<br/>
if "%RP%"=="N" SET RR=12&&GOTO 0006<br/>
if "%RP%"=="O" SET RR=13&&GOTO 0006<br/>
if "%RP%"=="P" SET RR=14&&GOTO 0006<br/>
if "%RP%"=="Q" SET RR=15&&GOTO 0006<br/>
if "%RP%"=="R" SET RR=16&&GOTO 0006<br/>
if "%RP%"=="S" SET RR=17&&GOTO 0006<br/>
if "%RP%"=="T" SET RR=18&&GOTO 0006<br/>
if "%RP%"=="U" SET RR=19&&GOTO 0006<br/>
if "%RP%"=="V" SET RR=20&&GOTO 0006<br/>
if "%RP%"=="W" SET RR=21&&GOTO 0006<br/>
if "%RP%"=="X" SET RR=22&&GOTO 0006<br/>
if "%RP%"=="Y" SET RR=23&&GOTO 0006<br/>
if "%RP%"=="Z" SET RR=24&&GOTO 0006<br/>
if "%RP%"=="A" SET RR=25&&GOTO 0006<br/>
if "%RP%"=="B" SET RR=26<br/>
:0006<br/>
CLS<br/>
ECHO 您选择的分区号为:%RP%:<br/>
ECHO 请确认选择无误后,按任意键继续,若无反应,请按两次任意键。。。<br/>
PAUSE>NUL 2>NUL<br/>
set /a mm=%nn%+1<br/>
Gdisk32 %mm% /act /p:%RR%<br/>
ECHO 您选择的%hd%磁盘%RP%:分区已激活<br/>
PAUSE>NUL 2>NUL<br/>
EXIT<br/>
:00060<br/>
bootsect /nt60 %RP%: /mbr<br/>
ECHO.<br/>
ECHO nt60_mbr成功写入%RP%盘,按任意键继续....<br/>
PAUSE>NUL 2>NUL<br/>
<br/>
:0003A<br/>
CLS<br/>
ECHO.<br/>
ECHO 正在检测磁盘信息. . .<br/>
fbinst --list<br/>
set /p nn=请输入要激活分区的磁盘符号回车继续:hd<br/>
set hd=(hd%nn%)<br/>
if "%nn%"=="" goto 0003A<br/>
ECHO 您选择的磁盘符号为:%hd%<br/>
ECHO 请确认选择无误后,按任意键继续<br/>
PAUSE>NUL 2>NUL<br/>
:0005A<br/>
CLS<br/>
ECHO 是否激活%hd%的%RP%:分区?<br/>
ECHO ┏━━━━━━━━━━━┓<br/>
ECHO ┃ ┃<br/>
ECHO ┃ 1 激活%RP%:分区 ┃<br/>
ECHO ┃ ┃<br/>
ECHO ┃ 2 不激活%RP%:分区 ┃<br/>
ECHO ┃ ┃<br/>
ECHO ┗━━━━━━━━━━━┛<br/>
set /p b5= 请输入对应的数字后继续:<br/>
if "%b5%"=="1" goto 0004A<br/>
if "%b5%"=="2" EXIT<br/>
ECHO 输入错误,按任意键重新输入....<br/>
PAUSE>NUL 2>NUL<br/>
GOTO 0005A<br/>
:0004A<br/>
if "%RP%"=="C" SET RR=1&&GOTO 0006A<br/>
if "%RP%"=="D" SET RR=2&&GOTO 0006A<br/>
if "%RP%"=="E" SET RR=3&&GOTO 0006A<br/>
if "%RP%"=="F" SET RR=4&&GOTO 0006A<br/>
if "%RP%"=="G" SET RR=5&&GOTO 0006A<br/>
if "%RP%"=="H" SET RR=6&&GOTO 0006A<br/>
if "%RP%"=="I" SET RR=7&&GOTO 0006A<br/>
if "%RP%"=="J" SET RR=8&&GOTO 0006A<br/>
if "%RP%"=="K" SET RR=9&&GOTO 0006A<br/>
if "%RP%"=="L" SET RR=10&&GOTO 0006A<br/>
if "%RP%"=="M" SET RR=11&&GOTO 0006A<br/>
if "%RP%"=="N" SET RR=12&&GOTO 0006A<br/>
if "%RP%"=="O" SET RR=13&&GOTO 0006A<br/>
if "%RP%"=="P" SET RR=14&&GOTO 0006A<br/>
if "%RP%"=="Q" SET RR=15&&GOTO 0006A<br/>
if "%RP%"=="R" SET RR=16&&GOTO 0006A<br/>
if "%RP%"=="S" SET RR=17&&GOTO 0006A<br/>
if "%RP%"=="T" SET RR=18&&GOTO 0006A<br/>
if "%RP%"=="U" SET RR=19&&GOTO 0006A<br/>
if "%RP%"=="V" SET RR=20&&GOTO 0006A<br/>
if "%RP%"=="W" SET RR=21&&GOTO 0006A<br/>
if "%RP%"=="X" SET RR=22&&GOTO 0006A<br/>
if "%RP%"=="Y" SET RR=23&&GOTO 0006A<br/>
if "%RP%"=="Z" SET RR=24&&GOTO 0006A<br/>
if "%RP%"=="A" SET RR=25&&GOTO 0006A<br/>
if "%RP%"=="B" SET RR=26<br/>
:0006A<br/>
CLS<br/>
ECHO 您选择的分区号为:%RP%:<br/>
ECHO 请确认选择无误后,按任意键继续,若无反应,请按两次任意键。。。<br/>
PAUSE>NUL 2>NUL<br/>
set /a mm=%nn%+1<br/>
Gdisk32 %mm% /act /p:%RR%<br/>
ECHO 您选择的%hd%磁盘%RP%:分区已激活<br/>
PAUSE>NUL 2>NUL<br/>
EXIT<br/>
<br/>
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
Originally posted by wewebb at 2010-11-19 07:19 PM:
关于 gdisk32 的 /p 参数意思,其实跟 C 、 D 这些盘符不是固定对应的。
/p:num 这个 num 是该硬盘中第几分区的序数。例如: 将第3块硬盘的第3主分区 ...
谢谢回复,差不多解决了
Last edited by tclshx on 2010-11-20 at 00:13 ]