无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 5609|回复: 18
打印 上一主题 下一主题

抛砖引玉,用GDISK做的自动分区望各位大侠指教

[复制链接]
跳转到指定楼层
1#
发表于 2003-3-10 19:22:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
[UploadFile=2_8006.rar]按照 《微型计算机》出版《鲜为人之的软件实用技巧》一书里的《一键搞定硬盘分区》思路做的自动硬盘分区。去掉勒里面全自动分区。
对于各种不同容量的硬盘,各位分区的%比不会都是一样的把:)
硬盘分区只需要输入目标分区所占硬盘的%比即可
比如把硬盘分为4个区:第一区为硬盘总容量的20%;第二个分区为硬盘总容量的30%;第三个分区为硬盘总容量的40%;第四个区为硬盘总容量的10%
只需要输入 HD.bat 20 30 40 10 (最后那个10不输入也可以^_^)
此BAT命令只做到第9个分区,还可以往下做。不过没人分那么多区把!?
本来想把执行HD.bat不加命令做成帮助提示,把hd.bat ?做成GDISK的使用帮助和例子。但本人DOS命令实在不熟,还请各位大侠完善一下
现在只能用hd命令分区,直接执行出现HELP和打?出现GDISK帮助没实现 @_@
2#
 楼主| 发表于 2003-3-10 19:28:32 | 只看该作者

抛砖引玉,用GDISK做的自动分区望各位大侠指教

各位如果想看书上的原文说一声,偶打下来就是
本想把这个BAT做成中文的,但手头那个天汇汉字系统在VPC下出毛病,再加上不会DOS命令
还有最GDISK分区速度急快,80G也就1分钟。从偶看到它开始,就再没用过其他软件分区。
回复

使用道具 举报

3#
发表于 2003-3-10 22:17:11 | 只看该作者

抛砖引玉,用GDISK做的自动分区望各位大侠指教

需要,将原文帖出来让大家看看,谢谢你了。
回复

使用道具 举报

4#
 楼主| 发表于 2003-3-10 22:57:29 | 只看该作者

抛砖引玉,用GDISK做的自动分区望各位大侠指教

回家偶就去打
呵呵
回复

使用道具 举报

5#
发表于 2003-3-11 00:46:43 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

6#
发表于 2003-3-11 08:38:15 | 只看该作者

抛砖引玉,用GDISK做的自动分区望各位大侠指教

回复

使用道具 举报

7#
发表于 2003-3-11 09:14:09 | 只看该作者

抛砖引玉,用GDISK做的自动分区望各位大侠指教

将原文帖出来让大家看看,DOS或许很多人可以帮你
回复

使用道具 举报

8#
发表于 2003-3-11 10:12:54 | 只看该作者

抛砖引玉,用GDISK做的自动分区望各位大侠指教

对啊,给源文件贴出来
回复

使用道具 举报

9#
发表于 2003-3-11 10:28:50 | 只看该作者

抛砖引玉,用GDISK做的自动分区望各位大侠指教

下面引用由白菜鸟2003/03/10 07:22pm 发表的内容:
按照 《微型计算机》出版《鲜为人之的软件实用技巧》一书里的《一键搞定硬盘分区》思路做的自动硬盘分区。去掉勒里面全自动分区。
对于各种不同容量的硬盘,各位分区的%比不会都是一样的把:)
硬盘分区只需要输 ...
1.应用范围有局限性!
2.显示.BAT为帮助文件,可用一行"TYPE HD.BAT |MORE"
3."hd命令分区,直接执行出现HELP和打?出现GDISK帮助没实现" 在批处理中,只能用"命令/?"才可以
回复

使用道具 举报

10#
 楼主| 发表于 2003-3-11 11:49:34 | 只看该作者

抛砖引玉,用GDISK做的自动分区望各位大侠指教

   一键搞定硬盘分区
利用批处理命令快速实现磁盘分区格式化

【意图分析】
    一提到硬盘分区,大家立即就会想到fdisk、DM或者Power Quest Partition Magic。这些工具软件个有起独特的功能,但他们都有一个共同的缺点:慢!他们一般需要经过多步操作才能完成个分区任务,还容易在分区后忘记激活引导分区。
    能不能让硬盘分区完全自动化?能不能在一分钟之内将一快大硬盘分区格式化完毕?能不能在不懂英语的情况下顺利、快速地进行分区?
    这里所解释的方法是通过编写一个简单的批处理文件来达到既可自动分区,也可以手工指定各个分区的空间占用百分比的目的。
    在本例的方法中,全自动分区时只须输入Autohd,然后选择一种分区方案,余下的事情就是等待几十秒钟后分区完毕自动重新启动;交互式分区时只须输入“autohd分区1大小分区2大小……”,这里以最大支持5个分区为例。如想按30%+30%+20%+20%进行分区,只须输入“autohd 30 30 20”即可,最后一个分区的百分比可以不指定,而有程序自动分配。。

【实现过程】
步骤1  软件准备
    要对硬盘进行分区当然得有一款分区软件。这里我们借助一款不太出名字的小工具软件:Gdiak(symantec公司的产品)。它除了一般的创建分区、格式化、激活分区的功能外,还具备隐藏或取消隐藏分区、对分区数据进行物理擦除、支持命令行参数等实用功能。它是GHOST(硬盘克隆工具包)中的一个附带工具。只要你安装了GHOST的完整版(有些简化版没有此工具),也就得到了GDISK,如果安装的是最新的2002版,则其中还有一个支持管理Windows 2000/XP 引导管理器的Gdisk32。
    GDISK是一个完全的命令行工具软件,有几十个复杂的参数、选项,全英文的字符界面,要掌握它并不容易。但是,如果能够给它制作一个SHELL(外壳),就能实现不需要用户任何干预的全自动分区,也能实现允许用户进行交互的半自动分区。

步骤2 制作一张WINDOWS 98的DOS系统盘
    制作系统盘的方法很多,既可在“控制面板”的“添加/删除程序”中选择“启动盘”选项,也可在WINDOWS 98下直接在A盘上单击鼠标右键,选择“格式化”,然后选中“复制系统文件”的复选框,还可以在DOS命令行下输入“FORMAT A:/S”来制作。如果在WINDOWS XP系统中,则可以直接在A盘上单击鼠标右键并选择“格式化”,然后选择“创建一个MS-DOS启动盘”即可。

步骤3 完善启动盘
    将GDISK.EXE文件复制到系统盘中备用。
    将WINDOWS 98系统安装目录中COMMAND目录下的CHOICE.COM复制到软盘中。
    注意
    可适当删除启动盘上的一些不重要的文件,一便有足够的空间存放GDISK.EXE。GDISK.EXE不足300KB,GDISK32.EXE约440KB,一般情况下只需要GDISK.EXE就足够了。
回复

使用道具 举报

11#
 楼主| 发表于 2003-3-11 11:50:49 | 只看该作者

抛砖引玉,用GDISK做的自动分区望各位大侠指教

步骤4 制作GDISK.EXE的SHELL
A用记事本或EDIT命令行编辑器录入以下程序代码(注释问字即“//”后面的文字不必输入)。
B输入完成后,以AUTOFD.BAT为文件名保存到上述准备好的系统盘中。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
autofd.bat文件内容如下:
@echo off
if'%1'=="goto auto     //如果不指定任何参数则直接开始自动分区,否则进入交互式分区。  Θ注 ㈠
if'%1'=="goto help     //如果在命令后添加“?”则显示使用帮助提示信息。

:CUSTOM        //此段为交互式分区程序。
cls
gdisk 1 /status   //显示当前分区状态,让用户了解硬盘分区的详细情况。
echo !!!WARNING!!!   //暂停不显示警告信息,允许按“CTRL+C”中止程序运行。
echo This operation will delete all of you partitions!!
echo Press any key to continue, Press CTRL+C to stop!
pause>nul     //按任意键,程序继续。
gdisk 1 /mbr    //重建硬盘主引导记录,可消除引导记录严重错误或者清除引导区病毒。
gdisk 1 /del /all    //删除硬盘所有分区,即把分区表无条件清零。
gdisk 1 /cre /pri /sz:%1p /for /q /v:system /act   //按第一个参数(即%1)创建主分区并激活和快速格式化,自动设置卷标为“SYSTEM”。注意:卷标名称可自定。   Θ注㈡
gdisk 1 /cre /ext    //创建扩展分区。
if'%2'=="goto all    //如果未指定第二个参数,则将余下所有空间划分为一个逻辑驱动器。(同下)
gdisk 1 /cre /log /sz:%2p /for /q /v:DATA1    //按第二个参数创建逻辑分区并快速格式化,设置卷标为“DATA1”。(下同)
if'%3'=="goto all
gdisk 1 /cre /log /sz:%3p /for /q /v:DATA2
if'%4'=="goto all
gdisk 1 /cre /log /sz:%4p /for /q /v:DATA3
if'%4'=="goto all
gdisk 1 /cre /log /sz:%5p /for /q /v:DATA4
//在此可添加更多的命令行,以接受更多的分区参数。
goto all
:all    //将余下的空间全部分配给一个逻辑驱动器,操作完毕后自动重新启动。
gdisk 1 /cre /log /for /q /r

:auto    //全自动分区,此处仅预先设计了2套分区方案,可根据实际情况自行添加。
cls
gdisk 1 /status
echo !!!WARNING!!!
echo This operation will delete all of you partitions!!
cheo continue?
choice /c:yn /t:n,15 Please select:
if errorlevel==2 goto end
if errorlevel==1 goto start
:START
echo 1.20%%+20%%+20%%+20%%+20%%    //方案1,分为5个区,空间比例各为20%。
echo 2.20%%+30%%+30%%+20%%    //方案2,分为4个区,空间比例为20%、30%、30%、20%。
choice /c:12 Please select:    //选择分区方案。
if errorlevel==2 GOTO 2
if errorlevel==1 GOTO 1
1:    //执行第一套方案。
echo Press any key to continue,Press CTRL+C stop!
pause>nul
gdisk 1 /mbr
gdisk 1 /del /all
gdisk 1 /cre /pri /sz:20p /for /q /v:SYSTEM
gdisk 1 /cre /ext
gdisk 1 /cre /log /sz:20p /for /q /v:DATA1
gdisk 1 /cre /log /sz:20p /for /q /v:DATA2
gdisk 1 /cre /log /sz:20p /for /q /v:DATA3
gdisk 1 /cre /log /for /q /v:DATA4 /r

:2    //执行第二套方案。
echo Press any key to continue,Press CTRL+C to stop!
pause>nul
gdisk 1 /mbr
gdisk 1 /del /all
gdisk 1 /cre /pri /sz:20p /for /q /v:SYSTEM
gdisk 1 /cre /ext
gdisk 1 /cre /log /sz:30p /for /q /v:DATA1
gdisk 1 /cre /log /sz:30p /for /q /v:DATA2
gdisk 1 /cre /log /for /q /v:DATA3 /r
:HELP    //帮助信息
echo usage:
echo Autofd [?%%][?%%][?%%][?%%][?%%]    //每次用两个“%”号才能最终显示出一个%
echo eg.Autofd 30 30 20 20

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
【要点分析】
⒈如果须要划分更多的分区,请参照上述做法适当添加一些程序段。
⒉如果用记事本录入上述批处理次序,则在存盘时一定要注意用单引号将问件名括起来,否则记事本会使用TXT的默认扩展名。
⒊使用时最后一个分区的百分比参数一般不须指定,因为程序会自动将余下的硬盘空间全部划分到最后一个逻辑分区中。
⒋上述程序是针对1块硬盘的情况设计的,如果系统中存在多块硬盘,若要对第二块硬盘进行分区则将每条命令中的“gdisk 1”改为“gdisk 2”即可,也可再适当添加程序以接受其他硬盘的参数。
在此强烈建议在多硬盘环境下对其中一块硬盘分区时,将其他硬盘在CMOS设置中设置为NONE,以防止操作失误而带来的巨大损失!




全文完!!
这个Θ注是偶注的,原文有些错误
Θ注 ㈠:估计是排版时给弄错了,“ `”弄成“'”  “``”弄成“"”
Θ注 ㈡:语法错误。通配符少打了2个%% ;在其后加“p” 为GDISK语法错误;GDISK第一个分区为默认激活,只有激活其他分区才加“/act”命令
回复

使用道具 举报

12#
发表于 2003-3-11 12:13:18 | 只看该作者

抛砖引玉,用GDISK做的自动分区望各位大侠指教

不错!值得收藏!!还有吗?
回复

使用道具 举报

13#
 楼主| 发表于 2003-3-11 12:45:43 | 只看该作者

抛砖引玉,用GDISK做的自动分区望各位大侠指教

来说说GDISK的不足
1.全命令行方式,对新手来说绝对是最大的打击。偶当初就很费劲,用VPC弄勒半天。最后是下载勒个GHOST2001中文版,看里面的帮助文件才弄明白T_T ...
2.不能象DM那样,把COMS设置成NONE还能找到硬盘、没有低格命令
3.多硬盘情况下操作容易出错,不象DM PQ先选定硬盘再进行其他操作
4.只能算个分区软件,做进启动盘带取代FDISK应该是没问题,要是哪位大侠做个外壳就更好勒。其他附带的功能不常用,DISKWIPE命令只用过1次,测试在有硬盘保护类东东的WINDOWS下对硬盘的破坏力
唯一的优点就是分区格式化速度快,80G的也就1分钟 呵呵
回复

使用道具 举报

14#
发表于 2003-3-11 15:10:46 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

15#
 楼主| 发表于 2003-3-11 20:35:24 | 只看该作者

抛砖引玉,用GDISK做的自动分区望各位大侠指教

写说明书到是好办。可是偶能力不够,不能比较完美的把说明书加到批处理文件里 T_T
刚才试勒下硬盘个数应该能认到255,但3个保证没问题用VPC试够
A:\>gdisk 2 /status                     
GDISK (E) No such fixed disk -- 2      
                                       
A:\>gdisk 9 /status                     
GDISK (E) No such fixed disk -- 9      
                                       
A:\>gdisk f /status                     
GDISK (E) Invalid fixed disk number -- f
                                       
A:\>gdisk 255 /status                  
GDISK (E) No such fixed disk -- 255
又试勒下可以分多个主分区,但分区格式不支持LUNIX
A:\>gdisk 1 /cre /pri /sz:10% /for /q /y                           
Checking existing disk format.                                    
QuickFormatting 517.72M                                            
Format complete.                                                   
                                                                  
Volume has no label                                                
                                                                  
  541,790,208 bytes total disk space                              
  541,786,112 bytes available on disk                              
                                                                  
        4,096 bytes in each allocation unit                        
      132,273 total allocation units on disk                       
      132,272 available allocation units on disk                  
                                                                  
Volume Serial Number is 100B-1BE7                                 
                                                                  
Partition  Status   Type     Volume Label   Mbytes   System   Usage
C:  1        A    PRIMARY                  1027.6  FAT32      20%
     2             PRIMARY                  1027.6  FAT32      20%
     3             PRIMARY                  1537.5  FAT32      30%
     4  *CREATED*  PRIMARY                   517.7  FAT32      10%
写说明书去勒
回复

使用道具 举报

16#
发表于 2003-3-11 21:19:13 | 只看该作者

抛砖引玉,用GDISK做的自动分区望各位大侠指教

这种方法还不是很灵活。我当出就是想做一个交互式的文件,通过屏幕提示,由键盘输入分区的个数、每个分区的大小、是主分区还是扩展分区等。不过目前还有一个问题没有处理好,不知那位高手能提前做出来,或给予指点!!在此先谢了!!!
回复

使用道具 举报

17#
 楼主| 发表于 2003-3-11 21:39:54 | 只看该作者

抛砖引玉,用GDISK做的自动分区望各位大侠指教

仔细看勒便帮助,GDISK支持8个硬盘
IDM能把你做的交互试文件传上来看看吗
回复

使用道具 举报

18#
发表于 2003-3-11 22:22:18 | 只看该作者

抛砖引玉,用GDISK做的自动分区望各位大侠指教

那么,哪儿才可以下载呢?
回复

使用道具 举报

19#
 楼主| 发表于 2003-3-11 23:54:52 | 只看该作者

抛砖引玉,用GDISK做的自动分区望各位大侠指教

GDISK速成攻略
这是/?后的原文
A:\>gdisk /?                                                            
GDISK Fixed Disk Partitioning Utility                                   
                                                                        
GDISK disk /CRE {/PRI|/EXT|/LOG} [/SZ:{mbytes|pcent{P|%}}] [/END]      
      [/FOR [/Q] [/V[:label]]][/-32] [/NTFAT16] [/X] [/I] [/S] [/Y] [/R]
GDISK disk /DEL {/PRI[:nth]|/EXT[:nth]|/LOG:nth|/P:partn-no|/ALL}      
      [/X] [/I] [/S] [/Y] [/R] {[/QWIPE|/DODWIPE|/CUSTOMWIPE:passes}   
GDISK [disk] [/STATUS] [/RAW|/LBA] [/SER] [/X] [/I] [/S] [/Y] [/R]      
GDISK disk /[-]ACT /P:partn-no [/X] [/I] [/S] [/Y] [/R]                 
GDISK disk /[-]HIDE /P:partn-no [/X] [/I] [/S] [/Y] [/R]               
GDISK disk /MBR [/WIPE] [/X] [/I] [/S] [/Y] [/R]                        
GDISK disk /DISKWIPE [/DOD|/CUSTOM:passes] [/X] [/I] [/S] [/Y] [/R]     
GDISK [disk] /BATCH[:filename] [switch[switch...]]                     
GDISK /? [/CRE|/DEL|/STATUS|/[-]ACT|/[-]HIDE|/MBR|/DISKWIPE|/BATCH]     

先解释一下“DISK”命令:指要操作的硬盘 支持1-8个。对第一个硬盘操作就打“1”;对第二个就打“2
”以此类推

【创建分区】

gdisk 1 /cre /pri /sz:4000 /for /v:sys
在硬盘1上`创建`主分区`分区容量为4000M`格式化(加/Q为快速格式化)并激活此分区`卷标为sys。
gdisk 1 /cre /ext
在硬盘1上`创建`扩展分区。
gdisk 1 /cre /log /sz:30% /for /q /v:data
在硬盘1上`创建`逻辑分区`分区容量为硬盘容量的30%,并快速格式化此分区,卷标为data。
gdisk 1 /cre /log /sz:20% /for /q
在硬盘1上`创建`逻辑分区`分区容量为硬盘容量的20%,并快速格式化此分区。
gdisk 1 /cre /log /for /q /r
在硬盘1上`创建`逻辑分区`分区容量为硬盘剩余所有容量,快速格式化此分区后重起计算机。

【重建主引导记录】

gdisk 1 /mbr
重建硬盘1主引导记录。
gdisk 1 /mbr /wipe
重建硬盘1主引导记录并删除所有分区。

【查看硬盘状态】

gdisk 3 /STATUS
查看硬盘3状态。

【删除分区】

gdisk 2 /del /p:1
在硬盘2上`删除`第一个分区。/p:x,x可以用上个命令gdisk disk(1-8) /STATUS查看
如:
                                                                 
A:\>gdisk 1 /status                                                
Disk  Partitions  Cylinders  Heads  Sectors  Mbytes  Model         
  1        7          654     255      63    5135.0  CntxCorpHD   
                                                                  
Partition  Status   Type     Volume Label   Mbytes   System   Usage
C:  1        A    PRIMARY                   768.7  FAT32      15%
     2             PRIMARY                   768.7  FAT32      15%
     3             PRIMARY                   768.7  FAT32      15%
     4             EXTENDED                 2816.1             55%
     5             LOGICAL                  1027.6  FAT32      20%
     6             LOGICAL                  1027.6  FAT32      20%
     7             LOGICAL                   760.9  FAT32      15%

gdisk 3 /del /all
在硬盘3上`删除`所有分区。
即使加上/pri /ext /log命令,也得加/p:x,反到麻烦。除非只有1个 PRI、EXT或LOG分区时不加/p:x


【隐藏分区】

gdisk 1 /hide /p:x
在硬盘1上`隐藏第x个分区。
gdisk 1 /-hide /p:x
在硬盘1上`取消第x个隐藏分区。


【激活分区】

假设有多个主分区
gdisk 1 /act /P:x
gdisk 1 /-act /P:x
在硬盘1上`(取消)激活第X个主分区。
在已经有激活的主分区时,想激活其他主分区。可以直接用/act命令激活其它主分区,而取消原主分区的
激活状态。

【特殊命令】

/y /sure 不显示确认提示 全部选Y。
/r 完成命令后重起计算机。
除非使用/-32或/ntfat16命令否则按以下方案判定分区类型
如果分区小于16M会被格式化成FAT12
如果分区在16M-512M之间会被格式化成FAT16
如果分区大于512M会被格式化成FAT32

【不常用命令】

gdisk /batch:g.txt
gdisk执行1.txt里的命令
这是上面例子里创建分区的命令,g.txt的内容如下
1 /cre /pri /sz:4000 /for /v:sys
1 /cre /ext
1 /cre /log /sz:30% /for /q /v:data
1 /cre /log /sz:20% /for /q
1 /cre /log /for /q /r



gdisk 1 /diskwipe
清除硬盘1上所有资料。就是安全擦除,所有扇区添0或者1。
/DOD 美国国防部标准,连续7次执行/diskwipe
/CUSTOM:n 连续执行/diskwipe n次n=1-100

gdisk 1 /del /p:x /qwipe
安全擦除x分区1次后删除该分区 /DOD /CUSTOM:n 同上

gdisk /CRE /DEL /STATUS / ACT /HIDE /MBR /DISKWIPE /BATCH 其中任一项加/?查看详细帮助。
如:gdisk /CRE /?

/end 把分区创建在可用空间的末尾
/-32 不把分区格式化成FAT32,并把空间限制在2048M以内,当用/sz:xxxx或/sz:xx%命令指定的分区容量
大于2048M时拒绝执行。不加/sz:X的话分区容量为2047M。适于NT4。
/ntfat16 把16M以上分区格式化成FAT16,最大4097M。

/x /i /s作用不明
/saw /lba /ser 以其他方式查看分区状态,具体偶也不清楚,基本没用过
第一个帖子里有下,最好先用VPC试试再实际应用
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-9-20 03:58

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表