我正在尝试从Android设备上的FAT32驱动器读取引导扇区,但我得到的数据与我预期的完全不同。
这是我在Android设备上的read端点上使用bulkTransfer接收的输出。
33C08ED0BC007C8EC08ED8BE007CBF00
06B90002FCF3A450681C06CBFBB90400
BDBE07807E00007C0B0F850E0183C510
...
656D000000637B9A5BE2B3D70000800F
30000BFEFFF4E0030000205CF8000000
00000000000000000000000000000000
00000000000000000000000000000000
000000000000000000000000000055AA
这是我电脑上用十六进制查看器转储的引导扇区。
EB58904D53444F53352E300002081004
0200000000F800003F00FF00E0030000
205CF800F83D00000000000002000000
...
0000000000000000000000000D0A5573
75E4206479736B69206C756220696E6E
79206E6F986E696BFF0D0A4288A56420
6479736B75FF0D0A5A72657374617274
756A2C206E616369736B616AA563206B
6C617769737A0D0A00ACC9D6000055AA
我在Android上收到的数据在结尾处包含以下消息:“分区表无效。加载操作系统时出错。缺少操作系统”。
有人能告诉我这里怎么了吗?在读取引导扇区之前,是否需要执行任何操作?
目前,我的代码流程如下:
-
查找所需的USB设备
-
获得与USB设备通信的权限
-
打开设备连接
-
执行“测试单元就绪”命令,直到成功响应
-
执行“读取容量”命令-这将返回正确的结果
-
执行“Read 10”命令读取前512个字节-这将返回不正确的数据
我会感谢你的任何建议