2个驱动 2个分区?

Spiderstory 2010-01-28 03:38:49
大家好,

想对nf的驱动进行了修改, 这样可以每个分区对应每个驱动,不知道对否???

看了韦伯大哥的注册表分区想通过下面方法实现:

EBOOT 只有一个BINFS 分区, 分区由读取注册表来分区

过程如下: 2450 + CE5


1. 默认的 smflash.dll 在fmd.cpp里面 只修改 NUM_OF_BLOCKS 比如 smflash 只想识别第一个分区:32M,那么

NUM_OF_BLOCKS = 32M/BLOCK_SIZE

2. 第二个分区的 驱动: smflash2.dll 在fmd里面修改 NUM_OF_BLOCKS = 第二个分区的大小

同时在 FMD_WriteSector() 和 FMD_ReadSector()中 分别作偏移

FMD_LB_ReadSector(startSectorAddr + SECTOR_OFFSET.....)
FMD_SB_ReadSector(startSectorAddr + SECTOR_OFFSET.....)

FMD_SB_WriteSector(startSectorAddr+ SECTOR_OFFSET....)
FMD_LB_WriteSector(startSectorAddr+ SECTOR_OFFSET....)

SECTOR_OFFSET计算如下: (32M)/SECTOR_SIZE



注册表做相应修改如下:

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SMFLASH]
"DefaultFileSystem"="FATFS"
"PartitionDriver"="mspart.dll"
"Folder"="flash"
"AutoMount"=dword:1
"AutoPart"=dword:1
"AutoFormat"=dword:1
"MountFlags"=dword:0


[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SMFLASH]
"Prefix"="DSK"
"Dll"="smflash.dll"
"Index"=dword:1
"Order"=dword:0
"Profile"="SMFLASH"
"IClass"="{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"


[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SMFLASH2]
"DefaultFileSystem"="FATFS"
"PartitionDriver"="mspart.dll"
"Folder"="flash2"
"AutoMount"=dword:1
"AutoPart"=dword:1
"AutoFormat"=dword:1
"MountFlags"=dword:0


[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SMFLASH2]
"Prefix"="DSK"
"Dll"="smflash2.dll"
"Index"=dword:2
"Order"=dword:0
"Profile"="SMFLASH2"
"IClass"="{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"


这样在系统起来的时候通过读取注册表进行分区, 起来之后可以读取到 一个盘符, 可是重启之后MBR 表被冲掉了, 导致无法进入nk,

我感觉很奇怪, 我在计算偏移的时候, 已经特意往mbr起始sector后面偏移了 近10个block, 为什么还会被冲掉???
...全文
48 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
cecwxf 2011-06-04
  • 打赏
  • 举报
回复
设计到相关知识 学习 顶
wolfmvp 2010-01-29
  • 打赏
  • 举报
回复
不大懂,学习学习…
博说医械研发 2010-01-28
  • 打赏
  • 举报
回复
那要看看你的EBOOT用了哪个MBR,BINFS还是FAT,是不是你的驱动把BINFS的MBR给弄坏了
Spiderstory 2010-01-28
  • 打赏
  • 举报
回复
没有使用HIVE-REG, 进入eboot之后, 就显示 invalid mbr , 就执行失败了,
博说医械研发 2010-01-28
  • 打赏
  • 举报
回复
"可是重启之后MBR 表被冲掉了, 导致无法进入nk"

既然设置了 "AutoFormat"=dword:1 ,当MBR出了问题之后会重新格式化分区,不应该进不了系统。
是否使用了HIVE-REG?读取注册表的时候出问题了?

19,498

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧