无忧启动论坛

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

【原创】【更新】gdisk32快速 整数 分区工具 批处理

[复制链接]
跳转到指定楼层
1#
发表于 2009-3-6 16:02:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一分钟搞掂一个硬盘

潜水很长时间了,也在这里找了很多东西,今天就发个自己做的 gdisk32 批处理,以对 PE 制作做点贡献,也不知算不算。

看了网上很多 gdisk32 的 GUI,觉得少了很多功能,或者是统一的分区大小和模式。

所以只有自己做了,其实写好有几个月了,今天才舍得发呀 :)

可以很快速的吧一个硬盘分成若干个,你想要的整数分区,分区后询问是否格式化,用NTFS还是FAT32可选

先看看界面:

启动界面,选择硬盘:


主界面,选择操作:


删除分区界面:


新建分区界面:

建n个分区,输入前n-1个分区的大小
已有分区(如C:)0代替

分区后询问是否格式化,用什么方式(NTFS、FAT)格式化

批处理文件下载(已更新3月8日): gdisk.rar (1.31 KB, 下载次数: 1898)

批处理不加密的,自由修改。但请修改的同志手下留情,保留本作者信息。

gdisk32程序的文件名请保持原名:gdisk32.exe,如果没有这个东西的到网上找找或者到这里下载
http://sosy.vicp.net/disk/sosy/gdisk32.exe

大家用用看,如果好用请回帖捧个场啦。

3月8日
关于算法的几点说明:

1.Gdisk的分区大小:Gdisk并非输入多少MB就分多少MB,而是与输入MB数“最近的磁道柱面”。换句话说就是会比输入的多些,Partition Manager 也是如此;而 Fdisk 和 Partition Magic(PQ)则是输入多少分多少。

2.整数分区算法
在Windows中NTFS和FAT32的整数分区的MB数实际上是不一样的,比如100GB,NTFS应为10245MB,而FAT32应为10276,相差近30MB
(精确测试请用Fdisk或PQ)
NTFS算法:标准算法见10楼lianjiang的回复,但仅适用于Fdisk或PQ。而对于Gdis来说,应该是n*1024,因为其分区是“最近的磁道柱面”,多分。如10GB,标准计算应分10245MB,而Gdisk输入10240实际分10244.5MB,Windows实际显示10GB,因此Gdisk NTFS 算法 n*1024 即可(换句话说就是在Gdisk中输入10240就等于分了10244.5≈10245,所以别输入10245,否则将获得10.1G)

FAT32算法:目前没有很好的算法,有一个近似的算法,n*1028-4,不要笑,这是真的,这是目前最好的算法了。可以用Fdisk精确实验。对于Gdisk,这就麻烦了,没有很好的办法。因为它总是多分,我只有多减一点:n*1028-8,实测部分分区可以整数,比如1、2、5、10、20、25、100;部分分区多0.01、0.1:8、35、40、45、50、55、60、80。因此不建议用这个分FAT32分区,用Fdisk或PQ吧。要用,就分小点,或者100



目前更新

1.改进FAT算法,至少可以有部分大小实现整数。此问题在Gdisk只有近似解

2.删除所有分区不再询问是否再删(lianjiang建议)。



使用方法
使用时别插u盘,否则检测硬盘很漫长
1.删除分区:根据显示的分区列表,输入分区序号或all,比较简单就不多说

2.建立分区
输入分区大小(两种情况)
a.(主要方式,建议使用)硬盘无分区,一次操作可完成所有分区:输入各分区大小,中间以空格或“,”(英文逗号)分隔,但剩余空间的分区大小(最后一个分区)不输入,会自动分。
例如160GB硬盘,输入“10 40 50”,则分为:10GB,40GB,50GB,49GB(剩余空间的分区)
(注:物理硬盘1GB=1000,000,000B,操作系统1GB=1024*1024*1024B)

b.硬盘已经有分区,继续再分:(请保证硬盘还有未划分分区空间,否则没意义)输入0代替表示已有分区,再输入所要分的大小,中间以空格或“,”(英文逗号)分隔,但剩余空间的分区大小(最后一个分区)不输入,会自动分。
例如,已有主分区,扩展分区和2个逻辑分区,实际是3个分区,还有50GB未使用空间,输入“0 10 20”,则增加三个分区:10GB,20GB以及不足20GB的剩余分区

注:输入的分区大小之和不要大于未使用空间的大小。

输入分区格式:NTFS(2000、XP及以上系统建议使用)或FAT,不格式化输入N


NTFS没有问题


[ 本帖最后由 sosy 于 2009-6-29 12:06 编辑 ]
2#
发表于 2009-3-6 16:13:50 | 只看该作者
楼主辛苦了,好东西,谢谢分享!
回复

使用道具 举报

3#
发表于 2009-3-6 17:32:37 | 只看该作者
很不错,可以用用啊  
回复

使用道具 举报

4#
发表于 2009-3-6 17:54:26 | 只看该作者
测试了下好像分区设成NTFS时有问题,而且选FAT时,也并没有做格式化处理,PE中虽然有分配盘符但还是提示“磁盘未格式化”

[ 本帖最后由 lanzl 于 2009-3-6 18:50 编辑 ]
回复

使用道具 举报

5#
 楼主| 发表于 2009-3-6 19:15:10 | 只看该作者
哦,是吗,等我再试试。前边我用过很多次都没问题的呀,我再试试
回复

使用道具 举报

6#
发表于 2009-3-6 19:15:11 | 只看该作者
仅仅X1024,能实现完美整数分区吗?
回复

使用道具 举报

7#
发表于 2009-3-6 19:26:06 | 只看该作者
谢谢楼主.多多制作阿.哈哈
回复

使用道具 举报

8#
发表于 2009-3-6 19:30:03 | 只看该作者
支持原创,我也要努力的学习了,呵呵
回复

使用道具 举报

9#
 楼主| 发表于 2009-3-6 19:41:24 | 只看该作者

回复 #6 lianjiang 的帖子

可以的,不过我刚刚认真测试后发现NTFS没有问题,但FAT32出现 “.9” 的问题,有待改进,不过现在一般用NTFS了,哈
回复

使用道具 举报

10#
发表于 2009-3-6 19:41:56 | 只看该作者
照下面的方法分区,才能实现完美整数分区。 楼主的基本上得到的都是(XX-1).99G
----------------------------------------------------------
最精确硬盘分区的算法如下(来自网络搜索):

硬盘一般有255磁头,63扇区,故每柱面大小为:
512byte x 255 x 63=8225280bytes =7.84423828125 MB
如果要分40GB,那么要40x1024MB=40960MB
需要柱面数为40960÷7.84423828125=5221.66
取整数既为5222个柱面
应分M数为5222x7.84423828125=40962.6123046875MB
不管小数点后面几位都进1,也就是40963MB,windows就认为是40GB了。
这个方法NTFS和FAT32通用。
回复

使用道具 举报

11#
 楼主| 发表于 2009-3-6 19:52:28 | 只看该作者
这个是刚刚测试的截图:
160GB硬盘
分区时输入:10 25 50
下面是效果
NTFS没有问题的


下面是删除分区重启后测试FAT
同样输入:10 25 50
很遗憾,有 .9 的问题。等我改进下,或者哪位大虾帮帮忙,给个算式。不过Gdisk32的算法不同于其它的工具,比如NTFS的乘1024就可以整数啦。各位测试的时候最好用新版本

回复

使用道具 举报

12#
发表于 2009-3-6 19:58:11 | 只看该作者
原帖由 sosy 于 2009-3-6 19:52 发表
这个是刚刚测试的截图:
160GB硬盘
分区时输入:10 25 50
下面是效果
NTFS没有问题的
55722

下面是删除分区重启后测试FAT
同样输入:10 25 50
很遗憾,有 .9 的问题。等我改进下,或者哪位大虾帮帮忙 ...



算法见10楼,可惜没有硬盘测试。而虚拟机只有16G不到可试。
回复

使用道具 举报

13#
 楼主| 发表于 2009-3-6 20:11:13 | 只看该作者
原帖由 lianjiang 于 2009-3-6 19:58 发表



算法见10楼,可惜没有硬盘测试。而虚拟机只有16G不到可试。


虚拟机中我用160G可以试。

在gdisk32中不能这样算了呀,它的分区已经包含柱面了。NTFS的用 1024相乘就是整数了。可是FAT的我看了分出来的字节数与NTFS中一样,比如40GB就是40962.6MB呀,跟用你的10楼的算法结果是一样的。就是FAT整只认做39.9GB,若是NTFS就认作40.0GB



[ 本帖最后由 sosy 于 2009-3-6 20:12 编辑 ]
回复

使用道具 举报

14#
发表于 2009-3-6 20:18:18 | 只看该作者
原帖由 sosy 于 2009-3-6 20:11 发表


虚拟机中我用160G可以试。

在gdisk32中不能这样算了呀,它的分区已经包含柱面了。NTFS的用 1024相乘就是整数了。可是FAT的我看了分出来的字节数与NTFS中一样,比如40GB就是40962.6MB呀,跟用你的10楼的算 ...


根据算法,40G应是40963MB,你输入40963MB分区(NTFS及FAT32)看看,最终显示的是多少。
回复

使用道具 举报

15#
发表于 2009-3-6 20:43:46 | 只看该作者
谢谢楼主的好作品 这个在维护时用
整数分区? 不错 嘿嘿
回复

使用道具 举报

16#
发表于 2009-3-6 21:08:02 | 只看该作者
实测结果显示,不管是NTFS还是FAT32,10楼的办法都是正确的。
下面是用本人的“Gdisk32一键分区”分区结果及显示值。

10G 根据你的算法,实际划分10244.5MB。
10楼的方法计算出是10245,实际划分10252.4MB。
差别就在这里。



回复

使用道具 举报

17#
 楼主| 发表于 2009-3-6 21:59:08 | 只看该作者
谢谢lianjiang 了,刚刚离开了,我会进一步改进的。
回复

使用道具 举报

18#
发表于 2009-3-6 22:48:03 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

19#
发表于 2009-3-6 22:51:48 | 只看该作者
好东西,收藏了!!!谢谢。
回复

使用道具 举报

20#
发表于 2009-3-7 00:35:28 | 只看该作者
很不错,试试再发表看法。
回复

使用道具 举报

21#
发表于 2009-3-7 02:07:48 | 只看该作者

回复 #10 lianjiang 的帖子

现在确实都是按这个方法计算的
回复

使用道具 举报

22#
发表于 2009-3-7 08:12:56 | 只看该作者
原帖由 sosy 于 2009-3-6 21:59 发表
谢谢lianjiang 了,刚刚离开了,我会进一步改进的。


从完美的角度讲,提出以下建议:

1,在使用 all删除后,不要再出现是否继续删除的提示了,因为已无分区可删。
2,增加对输入数值的判断,当出现输入值大于最后的可用空间时,自动处理成把可用空间创建为最后分区。从而避免可能出现的输入不当问题。
回复

使用道具 举报

23#
 楼主| 发表于 2009-3-8 23:49:54 | 只看该作者
原帖由 lianjiang 于 2009-3-7 08:12 发表


从完美的角度讲,提出以下建议:
1,在使用 all删除后,不要再出现是否继续删除的提示了,因为已无分区可删。
2,增加对输入数值的判断,当出现输入值大于最后的可用空间时,自动处理成把可用空间创建为 ...


第1项已经改进了

第2项嘛,太难了,还是输入前靠人脑运行算了,哈

另外,10楼的算法虽然是“通用”(网上都这样说),但实际上只是用于NTFS,FAT是其它的算法*1028-4。我在1楼已经加入了说明。
回复

使用道具 举报

24#
 楼主| 发表于 2009-3-9 15:22:02 | 只看该作者
自己顶一下吧,完了就让它石沉大海了
回复

使用道具 举报

25#
发表于 2009-3-9 17:04:49 | 只看该作者
很好用,谢谢了!!!!!
回复

使用道具 举报

26#
发表于 2009-3-9 22:14:18 | 只看该作者
很不错的工具,谢谢楼主分享
回复

使用道具 举报

27#
发表于 2009-3-27 21:55:17 | 只看该作者
好像是个笔误,一楼说明上写的fat格式是1028-4,,脚本写成1028-8了,
回复

使用道具 举报

28#
 楼主| 发表于 2009-3-28 09:43:53 | 只看该作者
原帖由 trianv 于 2009-3-27 21:55 发表
好像是个笔误,一楼说明上写的fat格式是1028-4,,脚本写成1028-8了,


这是一楼原文:
目前没有很好的算法,有一个近似的算法,n*1028-4,不要笑,这是真的,这是目前最好的算法了。可以用Fdisk精确实验。对于Gdisk,这就麻烦了,没有很好的办法。因为它总是多分,我只有多减一点:n*1028-8
回复

使用道具 举报

29#
发表于 2009-3-28 19:21:32 | 只看该作者
FAT32很难整数是有原因的,因为windows计算FAT32分区容量时是从数据区开始计算的,
要扣除数据区前面的启动扇区FAT表部分,对于FAT32分区,而fat表大小与分区大小和格式化时选择的簇大小都有关。由于分区总大小是柱面容量的整数,fat32分区又要扣掉上面两部分容量,所以很难得到整数容量的。

ntfs简单些,因为容量是从分区第一个扇区开始算的。

[ 本帖最后由 fujianabc 于 2009-3-28 19:25 编辑 ]
回复

使用道具 举报

30#
发表于 2009-3-28 23:02:45 | 只看该作者
谢谢楼主分享这么好用的批处理,真心感谢。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2026-1-25 00:43

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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