请教wince 中的多fat32分区问题
目前我在uboot中增加了一个fat32分区,现在总共一个binfs分区,一个1m的fat32分区,剩下的就为另一个fat32分区。在系统起来后存储管理器的属性中能看到part00,part01,part*02。第一个是binfs分区,后两个为fat分区,感觉part01好象没有mount上,我在分区属性中查看后两个分区类型为:0x0b,文件系统:fatfsd.dll,标志,part01=0x00000000,part02=0x00000010;在容量中显示未分配:2。00tb,扇区大小=512b
系统为s3c2440+ce4.2,nandflash为64m的k91208。
问一问大家,这个问题出在那里?
注册表中设置如下:
; Entries to load the block driver that BINFS uses
; This is dependent on what device is used
;
;HIVE BOOT SECTION ;add by wyx
[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\FlashDrv]
"DriverPath"="Drivers\\BlockDevice\\FlashDrv"
"LoadFlags"=dword:1
"MountFlags"=dword:11
"BootPhase"=dword:0
"Flags"=dword:1000 ;add by wyx
[HKEY_LOCAL_MACHINE\Drivers\BlockDevice\FlashDrv]
"Prefix"="DSK"
"Dll"="FLASHDRV.dll"
"Order"=dword:0
"Ioctl"=dword:4
"Profile"="FlashDrv"
"FriendlyName"="MS Flash Driver"
"MountFlags"=dword:11
"BmlVolumeId"=dword:0
"BmlPartitionId"=dword:8
"IClass"=multi_sz:"{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
"BootPhase"=dword:0
"Flags"=dword:1000 ;add by wyx
; Bind BINFS to the block driver
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FlashDrv]
"DefaultFileSystem"="BINFS"
"PartitionDriver"="mspart.dll"
"AutoMount"=dword:1
"AutoPart"=dword:1
;"MountFlags"=dword:11
"MountFlags"=dword:2 ;add by wyx
"AutoFormat"=dword:1
"Folder"="ResidentFlash"
"Name"="Microsoft Flash Disk"
"BootPhase"=dword:0
[解决办法]
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\FlashDisk]
"Prefix"="DSK"
"Dll"="ONDisk.dll"
"Order"=dword:1
"Index"=dword:3
"IClass"=multi_sz:"{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
"Profile"="FlashDisk"
"BmlVolumeId"=dword:0; BML volume ID = 0
"BmlPartitionId"=dword:8; BML parition ID = PARTITION_ID_FILESYSTEM
"WMRStartSector"=dword:0
"WMRNumOfSector"=dword:40000; 32MByte
; "Flags"=dword:11000; do not load again in boot phase 2;
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FlashDisk]
"DefaultFileSystem"="FATFS"
"PartitionDriver"="mspart.dll"
"Name"="PocketMory MLC Disk"
"Folder"="DataFolder"
"AutoMount"=dword:1
"AutoPart"=dword:1
"AutoFormat"=dword:1
"MountFlags"=dword:0
; "Ioctl"=dword:4
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FlashDisk\FATFS]
"FriendlyName"="PocketMory FAT FileSystem"
"Dll"="fatfsd.dll"
"Flags"=dword:00000014; FATFS_ENABLE_BACKUP_FAT | FATFS_DISABLE_AUTOSCAN
"FormatTfat"=dword:1
"EnableCacheWarm"=dword:0
;----------------------------------------
; 2nd FAT Area
;----------------------------------------
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\FlashDisk1]
"Prefix"="DSK"
"Dll"="ONDisk.dll"
"Order"=dword:1
"Index"=dword:1
"IClass"=multi_sz:"{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
"Profile"="FlashDisk1"
"BmlVolumeId"=dword:0; BML volume ID = 0
"BmlPartitionId"=dword:9; BML parition ID = PARTITION_ID_FILESYSTEM1
"WMRStartSector"=dword:40000
"WMRNumOfSector"=dword:ffffffff; last location
; "Flags"=dword:11000; do not load again in boot phase 2;
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FlashDisk1]
"DefaultFileSystem"="FATFS"
"PartitionDriver"="mspart.dll"
"Name"="PocketMory MLC Disk1"
"Folder"="Storage Card"
"AutoMount"=dword:1
"AutoPart"=dword:1
"AutoFormat"=dword:1
"MountFlags"=dword:0
; "Ioctl"=dword:4
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FlashDisk1\FATFS]
"FriendlyName"="PocketMory FAT FileSystem1"
"Dll"="fatfsd.dll"
"Flags"=dword:00000014; FATFS_ENABLE_BACKUP_FAT | FATFS_DISABLE_AUTOSCAN
"FormatTfat"=dword:1
"EnableCacheWarm"=dword:0
参考一下吧
[解决办法]
http://topic.csdn.net/u/20071126/17/E606B660-E467-4BDC-96FA-DB98F7F84C29.html
http://topic.csdn.net/u/20071116/14/A3852A4D-49F9-4BC6-A94E-7C15DC6E1565.html
这两篇帖子+http://www.51wince.com/article/239.htm这篇帖子。
我按照这两个搞定的。提醒下block的大小可以自己定的。