首页
社区
课程
招聘
请教大家个问题,关于磁盘还原驱动的
发表于: 2013-4-11 10:22 5841

请教大家个问题,关于磁盘还原驱动的

2013-4-11 10:22
5841
目前在研究还原驱动,有个疑问,请熟悉的朋友指点一二,在此谢过了
还原驱动的设计实现
1.是保存原有分区表信息及整个占用磁盘的数据?在关机前或者开机前将保存数据恢复
2.只暂存当前系统写入数据?在关机前擦除
3.其他
感觉1、2方法都不太好,是不是有其他设计方法
按1情况的话如当前磁盘500G,已使用200G空间如果保存的话就需要另外200G那么剩下100G空间可供使用,再严重点如果使用300G的话,那么剩余的200G空间不足以保存300G空间
本人愚见,请大家指点

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 8865
活跃值: (2379)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
2
磁盘还原的真相是重定向。
2013-4-11 10:26
0
雪    币: 4817
活跃值: (23)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
别被还原二字给弄蒙了,还原,是一种优雅的说法,磁盘还原驱动其实可以叫磁盘重定向驱动。原理就是把当前写的重定向走,驱动维护着重定向位置和原始位置的关联,系统一重启,由于这种关联没有了,所以系统就是原来的状态了。至于重定向到哪里,那就看具体需求了,有的重定向到空闲扇区,有的重定向到指定分区,等等等等……
2013-4-11 10:30
0
雪    币: 113
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
不是昨天才有一个朋友上传了 磁盘还原的源码的吗?
2013-4-11 10:38
0
雪    币: 269
活跃值: (906)
能力值: ( LV12,RANK:345 )
在线值:
发帖
回帖
粉丝
5
是不是驱动缓存当前写入数据待重启后擦除缓存,那缓存大小如何设定?
我看到一个代码设定缓存500M,当大于500M时是不是会覆盖,如果是这样那被覆盖的就无法使用了啊?
2013-4-11 10:53
0
雪    币: 4817
活跃值: (23)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
嗯,如果缓存500M,那当然就会满,满了就OVER了,不是被覆盖,满了就应该写不进去了(驱动就必须拒绝后面的写请求),系统会被延迟写入失败的错误,你要是因为满了就让直接写,那就是你驱动的BUG了。
你也可以重定向到本地的空闲扇区啊,这个你自己考虑下,如果空闲扇区写满了,那这个磁盘本来就满了,呵呵,这个你明白的。
2013-4-11 11:14
0
雪    币: 269
活跃值: (906)
能力值: ( LV12,RANK:345 )
在线值:
发帖
回帖
粉丝
7
如果重定向到空闲扇区,那启动后这个空闲扇区的数据需要自己擦除吗?
2013-4-11 11:30
0
雪    币: 4817
活跃值: (23)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
磁盘是多慢的设备啊,你重定向几百M,然后擦除?当然不用,由于驱动维护的原始位置和重定向位置已经没了,所以空闲扇区放着什么值不重要,因为系统会当做是没有用的扇区,用的时候直接写数据的。当然如果涉及安全性的东西,你可以考虑重定向的时候加密,但擦除你就不用考虑了,要是你重定向了几十个G,那重启得花几十分钟去擦除啊
2013-4-11 11:35
0
雪    币: 69
活跃值: (41)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
9
很久以前有人在debugman,开源一个 傲盾磁盘还原 代码,代码规范,格式工整,自己可以百度一下,就能找到源代码参考了....磁盘还原就是写的重定向,要做多点还原的话,就得维护好多个时间点所写的磁盘扇区....
2013-4-13 09:10
0
游客
登录 | 注册 方可回帖
返回
//