社区
C语言
帖子详情
在DOS下,getdfree()得到的信息,硬盘最大只能到2G,如果分区大于5G怎么办
甜在心馒头
2001-08-24 03:21:06
我的分区有5G,怎么办,我察看了以前的讨论,都没有具体的解决方法,
我想得到硬盘比如C的总的大小,想做一个DOS的网络拷贝程序
希望得到高手的帮助,我的竹叶http://mantousoft.51.net
欢迎大家与我交流。
...全文
183
9
打赏
收藏
在DOS下,getdfree()得到的信息,硬盘最大只能到2G,如果分区大于5G怎么办
我的分区有5G,怎么办,我察看了以前的讨论,都没有具体的解决方法, 我想得到硬盘比如C的总的大小,想做一个DOS的网络拷贝程序 希望得到高手的帮助,我的竹叶http://mantousoft.51.net 欢迎大家与我交流。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
甜在心馒头
2001-08-26
打赏
举报
回复
感谢yhq:我有一点眉目了,我下去仔细研究一下:)
感谢各位!!有空来我的竹叶看看:mantousoft.51.net
甜在心馒头
2001-08-25
打赏
举报
回复
to fsb_12345:你说的函数我知道,那个函数得到的值最大只能有2G的空间大小,所以我才问了这个问题,还有,我看到好象有人说用int13可以搞顶,也不知道具体怎么操作,我想做比如C盘按照扇区进行全盘拷贝,还有个问题就是比如C盘从哪个扇区开始,哪个扇区结束,希望哪位能帮帮我,感激不尽!!!
yhq
2001-08-25
打赏
举报
回复
mantousoft :祝贺你,我刚刚把硬盘上的数据从死亡边缘挽救出来.所以对这个问题比较清楚.
1)硬盘有三个参数:磁头(H, 0-255),柱面(C, 0-1023),扇区(S, 1-63).
2)分区信息的源头在主引导纪录(MBR).即H=0,C=0,S=1.也就是物理硬盘上的第一个扇区,绝对扇区号0.
3)在MBR的偏移0x1be-0x1fe依次是4条分区信息,每条16bytes.格式如下:
offset length meaning
0 1 bootable indicator
1 1 起始磁头号
2 1 低6位是起始扇区号,高2位是起始柱面号的高2位(柱面号有10bits)
3 1 起始柱面号的低8位
4 1 系统标志.0x06:fat16,0x07:HPFS/NTFS,0x0b:fat32,0x83:linux
5 1 结束磁头号
6 1 低6位是结束扇区号,高2位是结束柱面号的高2位(柱面号有10bits)
7 1 结束柱面号的低8位
8 4 起始绝对扇区号
c 4 该分区扇区数
4)如果你的第一个分区是os认识的,那么就是c盘,且对应第一条分区信息,即0x1be-0x1cd
c盘的开始扇区在偏移8处可得.结束扇区通过偏移8和偏移c可得
5)之所以要用int13,是因为MBR在c盘之外.高层的文件系统甚至不知道MBR的存在.
6)对于大于8G的空间,我也不知道怎样表示.谁能告知,不慎感谢.
甜在心馒头
2001-08-25
打赏
举报
回复
怎么超过那个2G的限制呀,救命呀!!~~
jimgreen
2001-08-25
打赏
举报
回复
up
jimgreen
2001-08-25
打赏
举报
回复
up
Highway2000
2001-08-25
打赏
举报
回复
直接调 DOS 中断服务。
关于 C 盘的起止位置,可从硬盘分区表中得到
fsb_12345
2001-08-24
打赏
举报
回复
void getdfree(int drive,struct dfree *dfreep)
本函数用来取磁盘的自由空间,
drive为磁盘号(0=当前,1=A等).函数将磁盘特性的由dfreep指向的dfree结构中. Dfree结构如下:
┌───────────────────┐
│struct dfree │
│{ │
│ unsigned df_avail; /*有用簇个数*/ │
│ unsigned df_total; /*总共簇个数*/ │
│ unsigned df_bsec; /*每个扇区字节数*/│
│ unsigned df_sclus; /*每个簇扇区数*/ │
│} │
└───────────────────┘
把四个直取得后,计算出来,看行不行,我没有时间来帮你,因为我还有工作要做
佣工7001
2001-08-24
打赏
举报
回复
我看只能读取分区表自己计算,具体我没作过
linux创建
分区
2.将三个
分区
分别挂载到/p1和/p5和/p6
分区
第一步:添加大小为10G的
硬盘
在关机状态下进行操作2.通过该
硬盘
创建大小为10G的主
分区
和大小为10G的扩展
分区
首先查看磁盘
信息
使用fdisk管理
分区
(fdisk命令默认将磁盘划分成...
fdisk 对
大于
2G
的
分区
无效 要用part 命令来
分区
而且采用gpt
分区
表
(parted) mkpart primary 0 16TB # 分一个16T的主
分区
(parted) print #打印当前
分区
(parted) quit 退出 Information: Don’t forget to update /etc/fstab, if necessary. 这个具体的
分区
细节 留存以免...
Linux磁盘
分区
(示例)
为防止磁盘
分区
出现空间不够情况,这里我们不采用默认
分区
大小将该
硬盘
创建为大小为
5G
的主
分区
和
5G
的扩展
分区
。第二步:指定文件系统类型(格式化)(这里p1、p5、p6要求一致以p1为例)第一步:检查
硬盘
是否创建:...
Linux第三次作业
(2)将10G的
硬盘
创建大小为
5G
的主
分区
和
5G
的扩展
分区
。(3)将扩展
分区
分别创建为大小为
2G
和3G的逻辑
分区
。2.将三个
分区
分别挂载到/p1 /p5 /p6。(1)添加大小为10G的
硬盘
。1.安装要求创建
分区
。
RHCSA 磁盘
分区
1.安装要求创建
分区
(1)添加大小为10G的
硬盘
(2)通过该
硬盘
创建大小问
5G
的主
分区
和
5G
的扩展
分区
。 (3)将扩展
分区
分别创建大小为
2G
和3G的逻辑
分区
。 1. 将三个
分区
分别挂载到/p1和/p5和/p6
分区
C语言
69,371
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章