阅读:4148回复:30
u盘的读写
谁能提供u盘的读写顺序和意义说明? 比如在读第一个扇区(头512B)时那些指令会起作用?起什么作用?接着会读那一个扇区?意义为何?
或者说明一下boot code 的代码意义以及放在何处! 期待,期待 |
|
最新喜欢:![]() |
沙发#
发布于:2003-12-31 16:20
MBR定义如下:
typedef struct { uchar bootcode[0x1be]; //启动代码length=446. PartitionTable PT[4]; //分区表length=4*16. uint EndingFlag; //结束标识:0xAA55. }MBR; 数据如下: 17.1.0 DI fa 33 c0 8e - d0 bc 00 7c - 8b f4 50 07 - 50 1f fb fc .3........P.P... 17.1.16 bf 00 06 b9 - 00 01 f2 a5 - ea 1d 06 00 - 00 be be 07 ................ 17.1.32 b3 04 80 3c - 80 74 0e 80 - 3c 00 75 1c - 83 c6 10 fe ...<.t..<.u..... 17.1.48 cb 75 ef cd - 18 8b 14 8b - 4c 02 8b ee - 83 c6 10 fe .u......L....... 17.1.64 cb 74 1a 80 - 3c 00 74 f4 - be 8b 06 ac - 3c 00 74 0b .t..<.t.....<.t. 17.1.80 56 bb 07 00 - b4 0e cd 10 - 5e eb f0 eb - fe bf 05 00 V.......^....... 17.1.96 bb 00 7c b8 - 01 02 57 cd - 13 5f 73 0c - 33 c0 cd 13 .....W.._s.3... 17.1.112 4f 75 ed be - a3 06 eb d3 - be c2 06 bf - fe 7d 81 3d Ou.............= 17.1.128 55 aa 75 c7 - 8b f5 ea 00 - 7c 00 00 49 - 6e 76 61 6c U.u........Inval 17.1.144 69 64 20 70 - 61 72 74 69 - 74 69 6f 6e - 20 74 61 62 id partition tab 17.1.160 6c 65 00 45 - 72 72 6f 72 - 20 6c 6f 61 - 64 69 6e 67 le.Error loading 17.1.176 20 6f 70 65 - 72 61 74 69 - 6e 67 20 73 - 79 73 74 65 operating syste 17.1.192 6d 00 4d 69 - 73 73 69 6e - 67 20 6f 70 - 65 72 61 74 m.Missing operat 17.1.208 69 6e 67 20 - 73 79 73 74 - 65 6d 00 00 - 00 00 00 00 ing system...... 17.1.224 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 17.1.240 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 17.1.256 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 17.1.272 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 17.1.288 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 17.1.304 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 17.1.320 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 17.1.336 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 17.1.352 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 17.1.368 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 17.1.384 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 17.1.400 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 17.1.416 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 17.1.432 00 00 00 00 - 00 00 00 00 - ce 77 a2 9e - 00 00 80 01 .........w..... 17.1.448 01 00 06 09 - 3f 6c 3f 00 - 00 00 aa f1 - 00 00 00 00 ....?l?......... 17.1.464 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 17.1.480 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 17.1.496 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 55 aa ..............U. |
|
板凳#
发布于:2003-12-30 14:43
给我也来一份,谢谢
hewh2003@hotmail.com |
|
|
地板#
发布于:2003-12-21 14:58
我也要一份谢谢!tomlee@shhic.com
|
|
地下室#
发布于:2003-12-21 11:56
能不能给我发点资料?
多谢了! chyitong@sina.com OICQ:44922322 :) |
|
|
5楼#
发布于:2003-12-20 22:13
给我一份资料 tmeijun@126.com
|
|
6楼#
发布于:2003-12-18 16:26
跟硬盘是一样的!
MBR+PBR+FAT1+FAT2+ROOT+DATA |
|
7楼#
发布于:2003-12-17 14:37
谁能说说U盘物理结构是怎么组织的吗?
|
|
8楼#
发布于:2003-12-11 08:53
MBR 又称作主引导记录占用 Boot Sector 的前 446 个字节 ( 0 to 0x1BD ), 存放系统主引导程序
请问,这446字节的主引导程序对任何磁盘都一样吗? fat32的spec中并没有提及这446字节的具体内容。如果不一样,我应该怎么得到? |
|
9楼#
发布于:2003-12-11 08:48
BOOTSECTOR简介
Boot Sector 也就是硬盘的第一个扇区, 它由 MBR (Master Boot Record), DPT (Disk Partition Table) 和 Boot Record ID 三部分组成。 MBR 又称作主引导记录占用 Boot Sector 的前 446 个字节 ( 0 to 0x1BD ), 存放系统主引导程序 (它负责从活动分区中装载并运行系统引导程序). DPT 即主分区表占用 64 个字节 (0x1BE to 0x1FD), 记录了磁盘的基本分区信息,主分区 表分为四个分区项,,每项 16 字节,分别记录了每个主分区的信息(因此最多可以有四个主分区). Boot Record ID 即引导区标记占用两个字节 (0x1FE and 0x1FF), 对于合法引导区,它等于 0xAA55 ,这是判别引导区是否合法的标志。 |
|
10楼#
发布于:2003-12-11 00:11
hi,lxhpt
可以详细讲讲你说的这几个部分所包含的内容么 你的那个文档我很早就看过了,不过其中并没有MBR的内容 还有你提到的Reserved region 存储的是什么内容 谢谢 |
|
|
11楼#
发布于:2003-12-10 08:36
用BUSBOND抓出来的东西好象用处不大,我抓了很多种U盘,它好象只能得到WINDOWS上层的数据,对于底层HOST芯片对数据的处理就不知道了,最好能用USB分析仪来抓,但分析仪太贵了,最少都要几万元,便宜的又不好用。
|
|
12楼#
发布于:2003-12-09 23:05
下面是我抓的一个 16M u盘的初始化时host与u盘的会话过程,谁能提供 16M,32M,64M 优盘的初始化和格式化的会话文件?
|
|
|
13楼#
发布于:2003-12-09 22:24
wqs_79兄可以给小弟一份资料吗?多谢了。我的地址是:tech_mail@eyou.com
|
|
14楼#
发布于:2003-12-09 09:40
lxhpt:
找个时候,咱们聊聊?! |
|
15楼#
发布于:2003-12-09 08:58
很好,功能也很全.
|
|
16楼#
发布于:2003-12-08 14:44
lxhpt说的没错! ;)
你还有文档参考,而我当时是自己摸索出来的,真惨!不知道你的稳定性如何? |
|
17楼#
发布于:2003-12-08 14:09
lxhpt,你能说的再具体一点吗?我想你说的是对的,但就是不知道1,2,3,4的细节,能在说详细一点吗?
|
|
18楼#
发布于:2003-12-08 12:05
嗨!!!!!!!你们都搞错了. 标准的U盘是分为:MBR(1 Sector)、Reserved Region(任意Sector)、BPB(1 Sector)、FAT1(可从BPB中读出)、FAT2(与FAT1相同)、ROOT(FAT12/16为32 Sector)、DATA(可从BPB中得出)。
U盘文件的读写过程: 1:先从MBR中找到BPB的物理地址,再读出BPB中的FAT基本参数,确定FAT1、FAT2、ROOT、DATA的起始地址和大小。 2:在ROOT区找到你所需要操作的文件,读出相应信息。 3:在FAT1区找到相应的簇链。 4:根据簇链在数据区读出数据。 U盘写文件相差不多。 附件为FAT |
|
|
19楼#
发布于:2003-12-08 10:52
我也想要一份,leopard003@163.com,Thanks!
|
|
上一页
下一页