关于WINCE60 逻辑分区的问题
问题描述:
情景1:一块nand大小为0x1DAA000(31105024)
现在要分成如下的分区
|----------------|
| Binary |
|----------------|
|----------------|
| BINFS |
|----------------|
|----------------|
| PART01 |
|----------------|
|----------------|
| PART02_01 |
|----------------|
|----------------|
| PART02_02 |
|----------------|
如上的layout,Binary,BINFS,PART01和PART02是主分区,内容是存储在MBR(0)
而PART02_01和PART02_02是PART02分出的逻辑分区
-----------------------------------------
问题出现了,我这样去分,发现PART02_01和PART02_02盘符没有show出来,当我去format并且mount之后他们才会显示出盘符
--------------------------------------------------------------------------
情景2:
|----------------|
| Binary |
|----------------|
|----------------|
| BINFS |
|----------------|
|----------------|
| PART02_01 |
|----------------|
|----------------|
| PART02_02 |
|----------------|
|----------------|
| PART01 |
|----------------|
如果改成这样的layout,盘符就能够显示.
--------------------------------------------------------------------------
现在不明白是为什么会有这样的情况发生?
首先肯定的一点就是WINCE的文件系统是将MBR中的分区大小成功读取了的(debug信息已经验证).format的话应该不会去清MBR的内容,而是应该去重建FAT表吗?
[解决办法]
正在研究存储驱动,帮你顶
[解决办法]
你的PART02是用的扩展分区格式吧?
之前从其它BSP里看到了你下边所说的layout扩展分区后再一个分区,那套BSP出来的OS是能正常使用的。
我根据这个方法移植到自己的BSP里边,用了与你现在同样的LAYOUT,扩展分区后没有其它分区了,进入WINCE同样需要格式化才行,后来就不用扩展分区的方法了。
莫非微软的代码就是这样处理的?如果扩展分区后边再没有分区了就必须格式化?
找时间测试验证一下。
[解决办法]
当初我碰到的问题是:如何保留用户分区,使他重烧系统不被格式化。后来发现是BSP包代码问题。你的问题我还不太明白。