帮忙测试一个磁盘信息获取软件- Magic Linux技术支持区- 中国Linux公社论坛
做了一个磁盘信息获取的程序,在win下运行。
程序是在Win7下编译的。
/ 一定不会破坏数据,俺保证,因为没有任何写的操作。
大家帮忙测试一下,将输出的结果复制给俺。
另外请xp下的兄弟测试一下能否运行。
ps:win有64位的也帮忙看下能不能运行。

关键是在里面做了磁盘分区表的整体分析,获得了grub(即linux)表示磁盘分区的格式 例如 (hd0,0)
感谢两位的测试/
vc2008的 windows.h内Win32API做了好多改变...

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

我的测试的结果如附件disk_info.rar Win7下测试
我这里的情况有点特殊。机器使用的是2块IDE硬盘,其中有1块是通过IDE-SATA转接卡接在主板SATA接口的。WIN2003/MAGIC双系统和GRUB均安装在使用IDE通道的硬盘上,在WIN上可能由于SATA设备优先的原因,SATA通道硬盘为hd0,IDE通道硬盘为hd1。但是在MAGIC上,会把SATA通道硬盘识别为sd硬盘,所以MAGIC中的hd0就变成了在WIN下的hd1。附图及输出信息,GRUB配置文件。
整体上是没有问题的,
只是windows和linux在识别硬盘的先后顺序上是不同的,我在win下也就只能调用winapi,要是想改变识别硬盘的顺序是不太可能的...这个问题在win下无解./

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

可以在win下判断sd hd 再重新排序硬盘...麻烦了
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

-----------------------------------
请按任意键继续. . .
郑重声明:资讯 【帮忙测试一个磁盘信息获取软件- Magic Linux技术支持区- 中国Linux公社论坛】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——