sejishikong 发表于 2010-2-21 10:28:28

xp下运行:
E:\driver_info_vc6>driver_info_vc6.exe
I:
DeviceIoControl failed with error code 21
K:
DeviceIoControl failed with error code 21
L:
DeviceIoControl failed with error code 21
M:
DeviceIoControl failed with error code 21
CreateFile failed with error code 5
(EE)获取磁盘偏移地址错误

我的硬盘分区比较复杂:
两个主分区,分别装的xp和windows7,其中windows7分区在xp下显示未知分区,扩展分区上有5个逻辑分区,前两个是ntfs,第三个是ext4,第四是swap,第五个还是ntfs。

zy_sunshine 发表于 2010-2-21 11:45:41

那也不会那么多盘符啊
primary:C D
logical:E(ntfs) F(ntfs) G(ext4) H(swap) I(ntfs)
J K L M N
这样看来起码还有N盘,在打开N盘符的时候了错误。
我又放宽了一点限制,麻烦se哥再测一下。

zy_sunshine 发表于 2010-2-21 12:15:10

用这个程序测试吧,这个测试程序屏蔽了所有的中断。一定会输出所能分析到的信息。

sejishikong 发表于 2010-2-21 16:36:21

iklm都是读卡器,多合一读卡器就是这样的。

zy_sunshine 发表于 2010-2-21 20:15:53

回复 15# 凤凰涅磐 的帖子

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)

由15楼的帖子来看,已经成功达到目的了。
整个grub_hd 的顺序是按照分区表链的先后顺序来的,而不是系统盘符来的。(*^__^*)

如上面两组记录,虽然是F:G:但是 (hd0,6) (hd0,7) 是按照分区表链的先后来的,这个可以由abs_offset(分区所在的物理偏移地址)大小得知。

zy_sunshine 发表于 2010-2-21 20:17:46

由这个也可以清楚的看到直接用Winapi获得的磁盘顺序也不是物理上的磁盘顺序,而应该是磁盘在win系统中注册的顺序。
driver_num      6
driver_num      5

zy_sunshine 发表于 2010-2-21 20:32:49

原帖由 sejishikong 于 2010-2-21 16:36 发表 http://www.linuxfans.org/bbs/images/common/back.gif
iklm都是读卡器,多合一读卡器就是这样的。

我看了log文件了,我判断的是这个(hdx,x)分析是正确的。你看那些结果是否正确,关键是前面的那组,是win下盘符和物理盘符一一对应的,看盘符和(hdx,x)是否如linux下一样?

而且我看到你的磁盘第二主分区物理上是在最后一个区域...

还有,你的第二主分区是隐藏NTFS,在当前系统是不被识别的,也没有分配磁盘盘符

逻辑第一分区是Compaq diagnostics
这是啥文件系统...?

jiangtao9999 发表于 2010-2-22 22:18:55

Compaq diagnostics 在我这里是系统备份分区,机器的系统恢复数据就在这里面。也就是官方一键恢复的。

sejishikong 发表于 2010-2-22 22:21:05

原帖由 zy_sunshine 于 2010-2-21 20:32 发表 http://www.linuxfans.org/bbs/images/common/back.gif


我看了log文件了,我判断的是这个(hdx,x)分析是正确的。你看那些结果是否正确,关键是前面的那组,是win下盘符和物理盘符一一对应的,看盘符和(hdx,x)是否如linux下一样?

而且我看到你的磁盘第二主分区物理上是在最后一个 ...
这个解析是不对的,第二主分区在第一主分区的后面,然后才是扩展分区,那个com...什么的是一键还原用的分区,在pm里显示是隐藏的fat32.

zy_sunshine 发表于 2010-2-22 22:44:03

回复 24# sejishikong 的帖子

sorry,昨天我有些眼花。我再陈述一下这个磁盘结构你看是否正确

第一个主分区C:               (hd0,0)            NTFS            1               25G
第二个主分区NULL      (hd0,1)            NTFS               2            29G
第一个逻辑区D:               (hd0,4)            NTFS               4            62G
第二个逻辑区E:               (hd0,5)            NTFS               5            87G
第三逻辑分区NULL      (hd0,6)            Linux                6            9G
第四逻辑分区NULL      (hd0,7)            Swap               7               3G
第五个逻辑区F:               (hd0,8 )            NTFS               8               75G

第三个主分区NULL      (hd0,2)            Compaq diagnostics      3               4G

ps:鄙视Linux才分9G的人:P

[ 本帖最后由 zy_sunshine 于 2010-2-23 09:01 编辑 ]

zy_sunshine 发表于 2010-2-22 22:46:22

软件分析的结果就是这样的....可能我开始陈述的不对。

sejishikong 发表于 2010-2-22 23:05:36

对了,呵呵,magic分9g就可以了。数据我都放在那个75G的分区上。而且平常我不用这台电脑上的magic的,都是ssh连到编译服务器上用。测试一般用vbox.
页: 1 [2]
查看完整版本: 帮忙测试一个磁盘信息获取软件