5343|21

74

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

hive注册表不能保存对注册表设置? [复制链接]


在编译NK时已经选定HIVE注册表,烧写后在\windows目录下发现了.hv文件的存在。

可是,在修改在wince下修改了注册表项后,重起后发现原修改项并没有保存,.hv

文件修改日期并没有变化。请问是什么原因导致 HIVE注册表没有被修改?

最新回复

commen.reg文件中,对应的MountAsBootable,MountAsRoot项是否应注释掉? [HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\ObjectStore]    "MountAsBootable"=dword:1    "MountAsRoot"=dword:1   详情 回复 发表于 2010-4-23 13:56
点赞 关注

回复
举报

75

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
HIVE注册表是保存在类似于NAND或者NOR上等非易失性存储设备上的,
一般情况下Windows下的文件是在RAM中的,不支持掉电保存的。
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
引用 1 楼 sunrain_hjb 的回复:
HIVE注册表是保存在类似于NAND或者NOR上等非易失性存储设备上的,
一般情况下Windows下的文件是在RAM中的,不支持掉电保存的。


选了hive项后,对注册表的更改就应该保存在hive文件中,现在情况是为什么没有保存?

是否是cache的原因,如果是怎么处理?
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

4
 
楼主可以百度一下,看看WinCE下的HIVE注册表是怎么用的,它的作用是什么。
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

5
 
要实现HIVE注册表保存,必须通过“开始”下面的关机按钮才能实现,如果是强硬关机是不会保存的。
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

6
 
首先确认delta hives所指定的路径,是否是一个非易失的可写的存储设备。
在运行过程中,整个注册表是放在RAM里的,它是一个内存映射文件。
当正常关机时,所有用户所做修改都会保存到delta hives中,reboot的时候会加载这些delta hives。
如果delta hives的MD5校验和ROM hives不同,则delta hives将会被强行清空。
ce中有个线程会隔一段时间就将registry flush一次,这个时间间隔可以修改但是FlushRegistry非常耗时不建议频繁调用。
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

7
 
引用 4 楼 domworldjohn 的回复:
要实现HIVE注册表保存,必须通过“开始”下面的关机按钮才能实现,如果是强硬关机是不会保存的。
我弄过2440和6410的板子,只发现“挂起”选项,从来没发现过“关机”选项,请问这个是怎么个情况?
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

8
 
注册表中设置
[HKEY_LOCAL_MACHINE\init\BootVars]
  "RegistryFlags"=dword:1
当RegistryFlags为1时修改注册表内容立即保存,当没有这项或者设置为0时只有执行挂起使机器正常关机才能保存。


另外,如果你想把注册表保存在WINDOWS目录下就要实现ROM文件系统,如果你使用的是SINGLEBIN的形式,你的WINDOWS目录实际上是在RAM中的,掉电之后肯定不能保存,无论你的RegistryFlags如何设置,而如果你用的是MUL-BIN的形式,WINDOWS目录在BINFS中,在没实现ROM文件系统的情况下也是不可写的。


综上,想保存在WINDOWS目录就要实现ROM文件系统,否则就保存在FLASH的盘符里边。
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

9
 
注册表设置如下,发现更改注册表项后,调电后还是不能保存,这个好像就没有写道system.hv文件里去

[HKEY_LOCAL_MACHINE\init\BootVars]
    "SystemHive"="Documents and Settings\\system.hv"
    "ProfileDir"="Documents and Settings"
    "Flags"=dword:1
    "Flags"=dword:1
    "NoDefaultUser"=dword:0
    "DefaultUser"="default"
    "RegistryFlags"=dword:1
 
 
 

回复

52

帖子

0

TA的资源

一粒金砂(初级)

10
 
引用 8 楼 winamp123 的回复:
注册表设置如下,发现更改注册表项后,调电后还是不能保存,这个好像就没有写道system.hv文件里去

[HKEY_LOCAL_MACHINE\init\BootVars]
"SystemHive"="Documents and Settings\\system.hv"
"ProfileDir"="Documents and Settings"
"Flags"=dword:1
"Fla……

设置不是在这里,关键你要把你的注册表保存在FLASH的盘符里边。
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

11
 
引用 6 楼 wolfmvp 的回复:
引用 4 楼 domworldjohn 的回复:
要实现HIVE注册表保存,必须通过“开始”下面的关机按钮才能实现,如果是强硬关机是不会保存的。
我弄过2440和6410的板子,只发现“挂起”选项,从来没发现过“关机”选项,请问这个是怎么个情况?

就点击那个“挂起”选项即可
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

12
 
挂起就可以了嘛
 
 
 

回复

89

帖子

0

TA的资源

一粒金砂(初级)

13
 
建议楼主系统的看一下HIVE注册表的资料,
你现在完成的工作并没有真正实现HIVE,
所以不能实现保存。
 
 
 

回复

53

帖子

0

TA的资源

一粒金砂(初级)

14
 
引用 9 楼 veabol 的回复:
设置不是在这里,关键你要把你的注册表保存在FLASH的盘符里边。


同意,我的*.hv文件在Documents and Setting目录下,该目录在RAM中。

请问怎样才能使*.hv文件保存在nand flash目录下?
 
 
 

回复

55

帖子

0

TA的资源

一粒金砂(初级)

15
 
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\\]
"MountAsBootable"=dword:1
上边那个注册表项是你想设置存储hv的盘符注册表项
For Windows CE 5.0 and later, set the MountAsBootable registry value as DWORD:1.
For earlier versions, set the MountFlags registry value equal to DWORD:2.
Set this value on the Storage Manager profile of the file system driver for the medium that contains the registry.
For example, if you want the hive to be contained in the MyProfile storage media with the MyFileSystem driver, place the MountAsBootable or MountFlags in the following registry key:
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\\]



Set the following flag bit on each driver that is loaded during the first boot phase.
[HKEY_LOCAL_MACHINE\Drivers\...]
    "Flags"=dword:1000



具体查看一下HELP
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

16
 
引用 14 楼 veabol 的回复:
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\\]
"MountAsBootable"=dword:1上边那个注册表项是你想设置存储hv的盘符注册表项
For Windows CE 5.0 and later, set the MountAsBootable registry valu……


添加了该项后,在nandflash目录下出现了documents and setting目录,并有了.hv文件。可是在根目录
下仍有documents and setting 目录,并且该目录是RAM中的,注册表改动后仍保存在该目录下,掉电后就
丢失。请问还需要改哪里?
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

17
 
; HIVE BOOT SECTION
[HKEY_LOCAL_MACHINE\init\BootVars]
  "SYSTEMHIVE"="Documents and Settings\\system.hv"
  "Start DevMgr"=dword:1
  "RegistryFlags"=dword:1
; END HIVE BOOT SECTION

只留这些试试
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

18
 
[HKEY_LOCAL_MACHINE\init\BootVars]
   "SYSTEMHIVE"="\\NAND FLASH\\Documents and Settings\\system.hv"
   "PROFILEDIR"="\\NAND FLASH\\Documents and Settings"
   "Flags"=dword:3
   "RegistryFlags"=dword:0

这个是我一直用的设置,楼主可以参考一下。
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

19
 
挂起后再重启即可。
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

20
 
映射到nand 呵呵,HIVE如果被修改了,必须格式化掉FAT区域,不然会出现莫名错误的。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表