QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2966|回复: 26

帮忙测试一个磁盘信息获取软件

[复制链接]
发表于 2010-2-20 01:40:13 | 显示全部楼层 |阅读模式
做了一个磁盘信息获取的程序,在win下运行。
程序是在Win7下编译的。
一定不会破坏数据,俺保证,因为没有任何写的操作。
大家帮忙测试一下,将输出的结果复制给俺。
另外请xp下的兄弟测试一下能否运行。
ps:win有64位的也帮忙看下能不能运行。

关键是在里面做了磁盘分区表的整体分析,获得了grub(即linux)表示磁盘分区的格式 例如 (hd0,0)

[ 本帖最后由 zy_sunshine 于 2010-3-6 13:08 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2010-2-20 08:30:58 | 显示全部楼层
我试了。在XP下无法运行。显示如下:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

发表于 2010-2-20 11:25:28 | 显示全部楼层
WIN2003server,同上。
回复

使用道具 举报

 楼主| 发表于 2010-2-20 14:05:26 | 显示全部楼层
感谢两位的测试
vc2008的 windows.h内Win32API做了好多改变...

我用vc重新编译了一下,大家帮忙重新测试,关键看一下 grub_hd字段是否对应正确

我的测试的结果如附件disk_info.rar Win7下测试

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

发表于 2010-2-20 14:29:29 | 显示全部楼层
xp:

E:\driver_info_vc6>driver_info_vc6.exe
I:
DeviceIoControl failed with error code 21
(EE)获取磁盘偏移地址错误
回复

使用道具 举报

 楼主| 发表于 2010-2-20 15:19:05 | 显示全部楼层
你那个I:盘是不是光驱? 虚拟光驱? 弹出后的虚拟光驱?
回复

使用道具 举报

发表于 2010-2-20 15:22:51 | 显示全部楼层
我这里的情况有点特殊。机器使用的是2块IDE硬盘,其中有1块是通过IDE-SATA转接卡接在主板SATA接口的。WIN2003/MAGIC双系统和GRUB均安装在使用IDE通道的硬盘上,在WIN上可能由于SATA设备优先的原因,SATA通道硬盘为hd0,IDE通道硬盘为hd1。但是在MAGIC上,会把SATA通道硬盘识别为sd硬盘,所以MAGIC中的hd0就变成了在WIN下的hd1。附图及输出信息,GRUB配置文件。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

发表于 2010-2-20 15:30:33 | 显示全部楼层
原帖由 zy_sunshine 于 2010-2-20 15:19 发表
你那个I:盘是不是光驱? 虚拟光驱? 弹出后的虚拟光驱?

I盘是读卡器。
回复

使用道具 举报

 楼主| 发表于 2010-2-20 15:45:47 | 显示全部楼层
整体上是没有问题的,
只是windows和linux在识别硬盘的先后顺序上是不同的,我在win下也就只能调用winapi,要是想改变识别硬盘的顺序是不太可能的...这个问题在win下无解.

怪就怪在你的grub识别的时候也是用的(hd0,
很可能windows和 grub OR linux 在识别sd hd的顺序上是相反的.

可以在win下判断sd hd 再重新排序硬盘...麻烦了
回复

使用道具 举报

 楼主| 发表于 2010-2-20 16:15:18 | 显示全部楼层
原帖由 sejishikong 于 2010-2-20 15:30 发表

I盘是读卡器。


未指明物理地址的读卡器,汗,和弹出的虚拟光驱是一个样子的。

如果你插入读卡器,应该会正常。

这个是在xp下vc6.0编译的,xp下测试正常,碰到不可读的分区只输出一个警告信息,并跳过。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

发表于 2010-2-20 18:42:15 | 显示全部楼层
原帖由 zy_sunshine 于 2010-2-20 16:15 发表


未指明物理地址的读卡器,汗,和弹出的虚拟光驱是一个样子的。

如果你插入读卡器,应该会正常。

这个是在xp下vc6.0编译的,xp下测试正常,碰到不可读的分区只输出一个警告信息,并跳过。 ...

出错 Exception Processing Message c0000a3 Parameters 764ebf7c 764ebf7c
回复

使用道具 举报

 楼主| 发表于 2010-2-20 19:17:53 | 显示全部楼层

回复 11# haulm 的帖子

是什么系统?

磁盘结构是什么样的?
回复

使用道具 举报

发表于 2010-2-20 19:43:13 | 显示全部楼层
原帖由 zy_sunshine 于 2010-2-20 19:17 发表
是什么系统?

磁盘结构是什么样的?

双sata硬盘,双系统,一个硬盘NTFS FAT32,另一个EXT4分区。
回复

使用道具 举报

 楼主| 发表于 2010-2-20 19:47:30 | 显示全部楼层
你是在哪个系统中运行的??
回复

使用道具 举报

发表于 2010-2-21 10:12:23 | 显示全部楼层
name                C:
media_type        固定磁盘
disk_num        0
is_boot                1
driver_num        1
is_mbr                1
abs_offset        0x32256
fs_type_hex        0xc
fs_type_name        W95 FAT32 (LBA)
size_byte        20982657024 Bytes
size_human        19 GB

对应的磁盘分区表记录为:
disk_num        0
partition_num        1
grub_num        0
is_boot                1
abs_offset        0x32256
size_byte        20982657024 Bytes
size_human        19 GB
fs_type_hex        0xc
fs_type_name        W95 FAT32 (LBA)
grub_hd                (hd0,0)

name                D:
media_type        固定磁盘
disk_num        0
is_boot                1
driver_num        3
is_mbr                1
abs_offset        0x20982721536
fs_type_hex        0x7
fs_type_name        HPFS/NTFS
size_byte        41948895744 Bytes
size_human        39 GB

对应的磁盘分区表记录为:
disk_num        0
partition_num        2
grub_num        4
is_boot                0
abs_offset        0x20982721536
size_byte        41948895744 Bytes
size_human        39 GB
fs_type_hex        0x7
fs_type_name        HPFS/NTFS
grub_hd                (hd0,4)

name                E:
media_type        固定磁盘
disk_num        0
is_boot                1
driver_num        4
is_mbr                1
abs_offset        0x62931649536
fs_type_hex        0xb
fs_type_name        W95 FAT32
size_byte        20974431744 Bytes
size_human        19 GB

对应的磁盘分区表记录为:
disk_num        0
partition_num        3
grub_num        5
is_boot                0
abs_offset        0x62931649536
size_byte        20974431744 Bytes
size_human        19 GB
fs_type_hex        0xb
fs_type_name        W95 FAT32
grub_hd                (hd0,5)

name                F:
media_type        固定磁盘
disk_num        0
is_boot                1
driver_num        6
is_mbr                1
abs_offset        0x104880577536
fs_type_hex        0x7
fs_type_name        HPFS/NTFS
size_byte        53505414144 Bytes
size_human        49 GB

对应的磁盘分区表记录为:
disk_num        0
partition_num        5
grub_num        7
is_boot                0
abs_offset        0x104880577536
size_byte        53505414144 Bytes
size_human        49 GB
fs_type_hex        0x7
fs_type_name        HPFS/NTFS
grub_hd                (hd0,7)

name                G:
media_type        固定磁盘
disk_num        0
is_boot                1
driver_num        5
is_mbr                1
abs_offset        0x83906113536
fs_type_hex        0xb
fs_type_name        W95 FAT32
size_byte        20974431744 Bytes
size_human        19 GB

对应的磁盘分区表记录为:
disk_num        0
partition_num        4
grub_num        6
is_boot                0
abs_offset        0x83906113536
size_byte        20974431744 Bytes
size_human        19 GB
fs_type_hex        0xb
fs_type_name        W95 FAT32
grub_hd                (hd0,6)

-----------------------------------
输出 partition_table_info
disk_num        0
partition_num        1
grub_num        0
is_boot                1
abs_offset        0x32256
size_byte        20982657024 Bytes
size_human        19 GB
fs_type_hex        0xc
fs_type_name        W95 FAT32 (LBA)
grub_hd                (hd0,0)

disk_num        0
partition_num        2
grub_num        4
is_boot                0
abs_offset        0x20982721536
size_byte        41948895744 Bytes
size_human        39 GB
fs_type_hex        0x7
fs_type_name        HPFS/NTFS
grub_hd                (hd0,4)

disk_num        0
partition_num        3
grub_num        5
is_boot                0
abs_offset        0x62931649536
size_byte        20974431744 Bytes
size_human        19 GB
fs_type_hex        0xb
fs_type_name        W95 FAT32
grub_hd                (hd0,5)

disk_num        0
partition_num        4
grub_num        6
is_boot                0
abs_offset        0x83906113536
size_byte        20974431744 Bytes
size_human        19 GB
fs_type_hex        0xb
fs_type_name        W95 FAT32
grub_hd                (hd0,6)

disk_num        0
partition_num        5
grub_num        7
is_boot                0
abs_offset        0x104880577536
size_byte        53505414144 Bytes
size_human        49 GB
fs_type_hex        0x7
fs_type_name        HPFS/NTFS
grub_hd                (hd0,7)

disk_num        0
partition_num        6
grub_num        5
is_boot                0
abs_offset        0x158385991680
size_byte        1653281280 Bytes
size_human        1 GB
fs_type_hex        0x1c
fs_type_name        Hidden W95 FAT32 (LBA)
grub_hd                (hd0,5)

-----------------------------------
输出 driver_base_info
name                C:
media_type        固定磁盘
disk_num        0
is_boot                1
driver_num        1
is_mbr                1
abs_offset        0x32256
fs_type_hex        0xc
fs_type_name        W95 FAT32 (LBA)
size_byte        20982657024 Bytes
size_human        19 GB

name                D:
media_type        固定磁盘
disk_num        0
is_boot                1
driver_num        3
is_mbr                1
abs_offset        0x20982721536
fs_type_hex        0x7
fs_type_name        HPFS/NTFS
size_byte        41948895744 Bytes
size_human        39 GB

name                E:
media_type        固定磁盘
disk_num        0
is_boot                1
driver_num        4
is_mbr                1
abs_offset        0x62931649536
fs_type_hex        0xb
fs_type_name        W95 FAT32
size_byte        20974431744 Bytes
size_human        19 GB

name                F:
media_type        固定磁盘
disk_num        0
is_boot                1
driver_num        6
is_mbr                1
abs_offset        0x104880577536
fs_type_hex        0x7
fs_type_name        HPFS/NTFS
size_byte        53505414144 Bytes
size_human        49 GB

name                G:
media_type        固定磁盘
disk_num        0
is_boot                1
driver_num        5
is_mbr                1
abs_offset        0x83906113536
fs_type_hex        0xb
fs_type_name        W95 FAT32
size_byte        20974431744 Bytes
size_human        19 GB

name                J:
media_type        光驱
disk_num        0
is_boot                1
driver_num        0
is_mbr                1
abs_offset        0x0
fs_type_hex        0xb
fs_type_name        W95 FAT32
size_byte        2147483647 Bytes
size_human        1 GB

-----------------------------------
请按任意键继续. . .
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-25 23:21 , Processed in 0.100277 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

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